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

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

Transcript of 1 The Santa Claus Problem (Maximizing the minimum load on unrelated machines) Nikhil Bansal (IBM)...

1

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

Nikhil Bansal (IBM)

Maxim Sviridenko (IBM)

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]

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} )

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

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…

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)

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.

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

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

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

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

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

13

This Talk

Restricted Assignment case:

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

2) Improvement to

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 !

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 !

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 ??

17

Structural LemmaMachines

Big Jobs

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

19

Proof Sketch: Structural Lemma

machines

Big jobs

0.3 0.5 Remove cycles,Tree with leaves as 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

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

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

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…

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.

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

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.

27

Questions ?

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 )

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 !!

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.

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)

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.

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

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

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.

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

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

38

Can ignore bigs

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

Choose one “configuration” from each super-machine