38
1 The Santa Claus Problem (Maximizing the minimum load on unrelated machines) Nikhil Bansal (IBM) Maxim Sviridenko (IBM)

The Santa Claus Problem (Maximizing the minimum load on unrelated machines)

  • Upload
    boaz

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

The Santa Claus Problem (Maximizing the minimum load on unrelated machines). Nikhil Bansal (IBM) Maxim Sviridenko (IBM). The Santa Claus Problem. m kids n toys [ n ¸ m] Kid i has value p ij ( ¸ 0) for toy j Toys distributed among kids - PowerPoint PPT Presentation

Citation preview

Page 1: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

1

The Santa Claus Problem(Maximizing the minimum load on unrelated machines)

Nikhil Bansal (IBM)

Maxim Sviridenko (IBM)

Page 2: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

2

The Santa Claus Problem

m kids n toys [ n ¸ m]

Kid i has value pij (¸ 0) for toy j

Toys distributed among kids

Happiness of kid i = Sum of pij of toys it gets (additive utilities)

Goal: Maximize mini=1,…,m Happiness(i)(Given target T, ensure every kid has happiness ¸ T)

Natural notion of fair allocation,proposed in game theoretic setting by [Lipton et al 04]

Page 3: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

3

Problem definition

Scheduling Problem (unrelated machine scheduling)

Kid (i) = Machine Toy (j) = Job

pij = processing time of job j on machine i.

Goal: Maximize the minimum load (will use this terminology )

Restricted assignment case:

Job has same size

Can only be placed on subset of machines ( pij 2 {pj,0} )

Page 4: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

4

Approximation Algorithms

An efficient (polynomial time) algorithm that is comparable to optimum solution on every input I

approximation algorithm A

1) A(I) · Opt(I) for every instance I

2) A runs in time polynomial in size of I

Page 5: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

5

Previous work (Makespan minimization)Extensive work on minimizing makespan (max. load)(our problem is maximize min load)

2-approx for unrelated parallel machines (arbitrary pij)and restricted assignment [Lenstra Shmoys Tardos 90]

Lots of work on various other special cases…

Page 6: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

6

Previous Work (max min problem)If n = m : Matching techniques (poly time)

(n-m+1) approximation [Bezakova Dani 05]

Can achieve Opt – pmax [Bezakova Dani 05]

(pmax = maxij pij bad approx if Opt ¼ pmax)

(1-1/k) fraction of machines get ¸ Opt/k [Golovin 05]

Restricted Assignment Setting: pij 2 {pj, 0}

Big/small good case (pj 2 {1,X} ) : O(n1/2) [Golovin 05]

No < 2 approx, unless P=NP (follows from LST 90)

Page 7: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

7

LP Formulation: 1Assignment Formulation: xij =1 if job j on machine i

Max T

j pij xij ¸ T 8 i 2 Machines (machine load >= T)

i xij · 1 8 j 2 Jobs (a job used at most once)

Valid Integer programming formulation (xij 2 {0,1})

LP relaxation useless: Infinite Gap

m machines, 1 job of size x (on all machines)

LP: x/m IP = 0 Big jobs trick LP.

Page 8: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

8

Job Truncation Idea (Lenstra, Shmoys, Tardos)In schedule w/ value T, can truncate sizes to T

p’ij = min(pij,T)

j p’ij xij ¸ T 8 machines i

i xij · 1 8 jobs j

Good News: T – pmax [Bezakova Dani 05]

pmax = max job size

T

Find largest T for which LP is feasible

Page 9: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

9

Job Truncation for max min ?Bad news: (m) gap (even for restricted assignment case)

Instance: m small jobs, numbered 1,2,…,m

Job i : size 1 on machine i, and size 0 elsewhere

m-1 bigs jobs (size m on every machine)

m=31 2

1 2 3

M1

LP: m

IP: 1M2 M3

Small jobs

Big jobs

Page 10: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

10

Configuration LP

Target solution value T.

Set of jobs S is valid configuration for machine i, if

size of S on i is ¸ T Let C(i) = all valid sets for i

Variable for each valid configuration S for machine i

1 config. per machine

Job used · once

Page 11: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

11

Exponentially many variablesSeparation oracle for dual : knapsack problem.

1/2 1/4 1/4 0.4 0.6

Each machine assigned 1 unit of configurations

Each job has at most 1 unit of appearances

T

View of Configuration LP solution

Width = amount of configuration

Page 12: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

12

Our Results

1) O( log log m / log log log m) approximation for restricted assignment case (pij 2 {pj,0} )

(previous best n-m+1, LST LP has (m) gap)

(m1/2), (n1/2) integrality gap for configuration LP

when pij arbitrary

Page 13: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

13

This Talk

Restricted Assignment case:

1) Describe O(log n / log log n) approx (randomized rounding)

2) Improvement to

Page 14: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

14

Restricted Assignment: Basic ProblemOpt – pmax known: Hard case when pmax ¼ Opt

Assume jobs of size Opt (big) or 1 (small)

One big job suffices to load a machine.

Basic Problem: Match big jobs to machines s.t. remaining machines can be loaded with small jobs.

1 2 3 4

Pink on 1 Green on 4Good !

Page 15: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

15

Restricted Assignment: Basic ProblemOpt – pmax known: Hard case when pmax ¼ Opt

Assume jobs of size Opt (big) or 1 (small)

One big job suffices to load a machine.

Basic Problem: Match big jobs to machines s.t. remaining machines can be loaded with small jobs.

1 2 3 4

Pink on 2 Green on 4 Bad !

Page 16: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

16

Main Idea of Proof

Transform LP solution to more structured one (only O(1) loss). (Pseudo) Rounding Procedure: Match big jobs to machines,and place smalls on remaining machines 1) Load on each machine Opt2) Small jobs used up to times.

Easy but key Fact: Place smalls s.t. each machine has load Opt/)

How small can we make ??

Page 17: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

17

Structural LemmaMachines

Big Jobs

Page 18: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

18

Structural Lemma

1) |Ji | = |Mi| -1.

2) Ji can be placed on any |Mi|-1 machines in Mi.

M1 M3M2

J1 J2 J3

Machines

Big Jobs

Page 19: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

19

Proof Sketch: Structural Lemma

machines

Big jobs

0.3 0.5 Remove cycles,Tree with leaves as machines

Page 20: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

20

Reduced Problem

In each group choose 1 machine to place smalls (bigs handled automatically)

For each group: We have one unit of small configurations distributed among the machines.

M1

.4 .3 .3.2 .5 .3 .1 .5 .4J1

Page 21: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

21

Reduced Problem

Randomized rounding: View these as probabilities. Choose a machine (to place smalls) at random for each group.

Fractional congestion: O(1)Chernoff Bounds: Worst case congestion O(log n / log log n)

M1

.4 .3 .3.2 .5 .3 .1 .5 .4J1

Page 22: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

22

Congestion with Outliers

Do not care about worst case congestion.

Suppose throw away 50% small jobs from each machine, and get low congestion on remaining jobs.

Congestion with outliers problem

We show: Can throw away small fraction from each machine, and get congestion

Page 23: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

23

First attempts

Randomized Rounding with alterations: Job occurs O(1) times in expectation. Throw away high frequency jobs

Problem: Correlation!

Power of many choices: Choose O(1) sets at random instead of 1, and then pick best. Does not work either…

Page 24: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

24

Our Approach

Reduce Congestion with outliers to worst case congestion minimization on small sets.

Random restriction of small jobss.t. each set has ¼ polylog m jobs

Find low worst case congestion solution on this instance.

Key result: Whp, solution with low congestion on restricted instance is also low congestion with outliers on original instance.

Page 25: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

25

Small sets have low worst case congestionTheorem [Leighton Lu Rao Srinivasan 01]:

If sets of size k can get O(log k / log log k) congestion.

Non-trivial: Repeated application of Lovasz Local Lemma

In our setting k = polylog (m), gives

approximation

Page 26: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

26

Concluding Remarks

Huge gaps remain in our understanding.

Arbitrary pij : O(n) approx, vs. hardness factor of 2

Can we use the (n1/2) integrality gap instance to show better hardness?

For restricted assignment, is the right answer O(1) ?

Suffices to prove congestion with outliers property.

Page 27: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

27

Questions ?

Page 28: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

28

Attempt 1

For each Ci, choose sets at random,

Throw away elements with high congestion

(hopefully not too many)

Bad when sets correlated

Either Sil = Si’l’ or Sil Å Si’l’ = ;

If one element congested,Whole set congested.

Whp congestion log m / log log m )

Page 29: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

29

Correlated Sets

Independent sets : Random works wellCorrelated sets: Other techniques

Need to be more subtle.

Either Sil = Si’l’ or Sil Å Si’l’ = ;

Fractional Matching Between Sets & super-machines

Can find perfect machingCongestion = 1 !!

Page 30: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

30

Fact (Leighton et al 2001)

If each set has cardinality polylog m, then can find a choice of sets s.t. congestion = O( log log m / log log log m)

[Constructive version of Lovasz Local Lemma](intuitively, low dependence between sets)

In our case: Sets have big cardinality, but allow throwing elements out.

Page 31: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

31

Bad choices

Call a choice of sets bad, if no matter how you delete upto 50% elements, congestion ¸ c log log m / log log log m.

Main Result: Good choice always exists and can be found in poly time.

Given a good choice of sets, the elements to throw can be found via a max flow problem. (proof skipped)

Page 32: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

32

AlgorithmTake a random sample of elements.Consider restriction of sets of these elementsEach set has about poly log m jobs.

Choose sets with O(log log m/ log log log m) congestion (Leighton et al)

Theorem: The same choice of sets works for original set system.

Proof: For every bad choice of sets in original system => high congestion in sampled system.

Naïve counting does not work. Exponentially many choices of sets.Notion of core of a bad choice function. VC-dimension type arguments.

Page 33: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

33

Configuration LP is strong !

Example: m-1 bigs jobs (size m on every machine)

m small jobs, call then 1,2,…,m

Small Job i has size 1 on machine i and 0 elsewhere.

IP Opt =1 Configuration LP infeasible for T > 1.

Feasible configuration for any machine i

(has to contain a big)

Infeasible: m machines but only m-1 big jobs.

b b

s

Page 34: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

34

Robustness of Small JobsRecall: Assignment LP gives T – pmax

Suppose pmax < T/10 (integral solution: T – T/10)

Suppose xij only satisfy a relaxed inequality

j pij xij ¸ T 8 machines ii xij · 1 8 jobs j

j pij xij ¸ Ti xij · 3

Can still round it toT/3 - pmax

Page 35: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

35

Big jobs are not robust3 machines. 1 job of size T.

Opt = 0 Relaxed LP has value T.

(big jobs are delicate)

We will transform LP solution (get more structure)

s.t. Small jobs can occur upto O(1) times.

After Rounding: Match big jobs to machines,

and smalls on remaining machines

1) Load on each machine T

2) Small used up to times.

Page 36: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

36

An easy case

Suppose big jobs occupy < 3/4 of any machine. Great!

Hard case: If 1- o(1) machine used by bigs, very little by smalls.

.01.33 .33 .33

1/2 1/4 1/4 1/2 1/4 1/4

Page 37: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

37

Structural Lemma

100 machines form this group.

99 Big jobs (can be placed “anywhere” on these)

One unit of small configurations.

.01.33 .33 .33 .01.33 .33 .33 .01.33 .33 .33

Page 38: The Santa Claus Problem (Maximizing the minimum load  on unrelated machines)

38

Can ignore bigs

.01.33 .33 .33 .01.33 .33 .33 .01.33 .33 .33Super-machine

Choose one “configuration” from each super-machine