1 / 38

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

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

boaz
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 theminimum load (will use this terminology ) Restricted assignment case: Job has same size Can only be placed on subset of machines ( pij2 {pj,0} )

  4. Approximation Algorithms An efficient (polynomial time) algorithm that is comparable to optimum solution on every input I approximation algorithm A • A(I) · Opt(I) for every instance I • 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: pij2 {pj, 0} Big/small good case (pj2 {1,X} ) : O(n1/2)[Golovin 05] No < 2 approx, unless P=NP (follows from LST 90)

  7. LP Formulation: 1 Assignment 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 (xij2 {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=3 LP: m IP:1 1 2 3 1 2 Small jobs Big jobs M1 M2 M3

  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. View of Configuration LP solution Exponentially many variables Separation oracle for dual : knapsack problem. T Each machine assigned 1 unit of configurations Each job has at most 1 unit of appearances 1/2 1/4 1/4 0.4 0.6 Width = amount of configuration

  12. Our Results 1) O( log log m / log log log m) approximation for restricted assignment case (pij2 {pj,0} ) (previous best n-m+1, LST LP has (m) gap) 2) (m1/2), (n1/2) integrality gap for configuration LP when pijarbitrary

  13. This Talk Restricted Assignment case: 1) Describe O(log n / log log n) approx (randomized rounding) 2) Improvement to

  14. Restricted Assignment: Basic Problem Opt – 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. 3 1 2 4 Pink on 1 Good ! Green on 4

  15. Restricted Assignment: Basic Problem Opt – 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. 3 1 2 4 Pink on 2 Bad ! Green on 4

  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 • Load on each machine Opt • 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 Lemma Machines Big Jobs

  18. Structural Lemma Machines 1) |Ji | = |Mi| -1. 2) Ji can be placed on any |Mi|-1 machines in Mi. M1 M2 M3 Big Jobs J1 J2 J3

  19. machines 0.3 0.5 Big jobs Proof Sketch: Structural Lemma 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 .2 .5 .3 .4 .3 .3 .1 .5 J1

  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 .2 .5 .3 .4 .3 .3 .1 .5 J1

  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 jobs s.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 congestion Theorem [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 If one element congested, Whole set congested. Whp congestion ( log m / log log m ) Either Sil = Si’l’ or SilÅ Si’l’ = ;

  29. Correlated Sets Independent sets : Random works well Correlated sets: Other techniques Need to be more subtle. Fractional Matching Between Sets & super-machines Can find perfect maching Congestion = 1 !! Either Sil = Si’l’ or SilÅ Si’l’ = ;

  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. Algorithm Take a random sample of elements. Consider restriction of sets of these elements Each 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 Jobs Recall: 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 i i xij· 1 8 jobs j j pij xij¸ T i xij· 3 Can still round it to T/3 - pmax

  35. Big jobs are not robust 3 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 • Load on each machine T • Small used up to  times.

  36. 1/2 1/4 1/4 1/2 1/4 1/4 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. .33 .33 .33 .01

  37. .33 .33 .33 .33 .33 .33 .33 .33 .33 .01 .01 .01 Structural Lemma 100 machines form this group. 99 Big jobs (can be placed “anywhere” on these) One unit of small configurations.

  38. .33 .33 .33 .33 .33 .33 .01 .01 Can ignore bigs .33 .33 .33 .01 Super-machine Choose one “configuration” from each super-machine

More Related