Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.cs.technion.ac.il/~reuven 1 A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T and Tel Aviv University.

Similar presentations


Presentation on theme: "Www.cs.technion.ac.il/~reuven 1 A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T and Tel Aviv University."— Presentation transcript:

1 www.cs.technion.ac.il/~reuven 1 A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T and Tel Aviv University Reuven Bar-Yehuda….Technion IIT Ari Freund……………Technion IIT Seffi Naor…………….Bell Labs and Technion IIT Baruch Schieber…...…IBM T.J. Watson Slides and paper at: http://www.cs.technion.ac.il/~reuven

2 www.cs.technion.ac.il/~reuven 2 Summery of Results: Discrete Single Machine Scheduling Bar-Noy, Guha, Naor and Schieber STOC 99: 1/2 Non Combinatorial* Berman, DasGupta, STOC 00: 1/2 This Talk, STOC 00(Independent) 1/2 Bandwidth Allocation Albers, Arora, Khanna SODA 99: O(1) for |Activity i |=1* Uma, Phillips, Wein SODA 00: 1/4 Non combinatorial. This Talk STOC 00 (Independent) 1/3 for w  1/2 This Talk STOC 00 (Independent) 1/5 for w  1 Parallel Unrelated Machines: Bar-Noy, Guha, Naor and Schieber STOC 99: 1/3 Berman, DasGupta STOC 00: 1/2 This Talk, STOC 00(Independent) 1/2

3 www.cs.technion.ac.il/~reuven 3 Summery of Results: Continuous Single Machine Scheduling Bar-Noy, Guha, Naor and Schieber STOC 99: 1/3 Non Combinatorial Berman, DasGupta STOC 00: 1/2·(1-  ) This Talk, STOC 00: (Independent) 1/2·(1-  ) Bandwidth Allocation Uma, Phillips, Wein SODA 00: 1/6 Non combinatorial This Talk, STOC 00 (Independent) 1/3 ·(1-  ) for w  1/2 1/5 ·(1-  ) for w  1 Parallel unrelated machines: Bar-Noy, Guha, Naor and Schieber STOC 99: 1/4 Berman, DasGupta STOC 00: 1/2·(1-  ) This Talk, STOC 00: (Independent) 1/2·(1-  )

4 www.cs.technion.ac.il/~reuven 4 Summery of Results: and more… General Off-line Caching Problem Albers, Arora, Khanna SODA 99: O(1) Cache_Size += O(Largest_Page) O(log(Cache_Size+Max_Page_Penalty)) This Talk, STOC 00: 4 Ring topology: Transformation of approx ratio from line to ring topology 1/   1/(  +1+  ) Dynamic storage allocation (contiguous allocation): Previous results: none for throughput maximization Previous results Kierstead 91 for resource minimization: 6 This paper: 1/35 for throughput max using the result for resource min.

5 www.cs.technion.ac.il/~reuven 5 The Local-Ratio Technique: Basic definitions The Local-Ratio Technique: Basic definitions Given a profit [penalty] vector p. Maximize[Minimize] p·x Subject to:feasibility constraints F(x) x is r-approximation if F(x) and p·x  [  ] r · p·x* An algorithm is r-approximation if for any p, F it returns an r-approximation

6 www.cs.technion.ac.il/~reuven 6 The Local-Ratio Theorem: The Local-Ratio Theorem: x is an r-approximation with respect to p 1 x is an r-approximation with respect to p- p 1  x is an r-approximation with respect to p Proof: ( For maximization) p 1 · x  r × p 1 * p 2 · x  r × p 2 *  p · x  r × ( p 1 *+ p 2 *)  r × ( p 1 + p 2 )*

7 www.cs.technion.ac.il/~reuven 7 Special case: Optimization is 1-approximation Special case: Optimization is 1-approximation x is an optimum with respect to p 1 x is an optimum with respect to p- p 1 x is an optimum with respect to p

8 www.cs.technion.ac.il/~reuven 8 A Local-Ratio Schema for Maximization[Minimization] problems: A Local-Ratio Schema for Maximization[Minimization] problems: Algorithm r-ApproxMax[Min]( Set, p ) If Set = Φ then return Φ ; If  I  Set p(I)  0 then return r-ApproxMax( Set-{I}, p ) ; [ If  I  Set p(I)=0 then return {I}  r-ApproxMin( Set-{I}, p ) ; ] Define “good” p 1 ; REC = r-ApproxMax[Min]( S, p- p 1 ) ; If REC is not an r-approximation w.r.t. p 1 then “fix it”; return REC;

9 www.cs.technion.ac.il/~reuven 9 The Local-Ratio Theorem: Applications Applications to some optimization algorithms (r = 1): ( MST) Minimum Spanning Tree (Kruskal) MST ( SHORTEST-PATH) s-t Shortest Path (Dijkstra) SHORTEST-PATH (LONGEST-PATH) s-t DAG Longest Path (Can be done with dynamic programming)(LONGEST-PATH) (INTERVAL-IS) Independents-Set in Interval Graphs Usually done with dynamic programming)(INTERVAL-IS) (LONG-SEQ) Longest (weighted) monotone subsequence (Can be done with dynamic programming)(LONG-SEQ) ( MIN_CUT) Minimum Capacity s,t Cut (e.g. Ford, Dinitz) MIN_CUT Applications to some 2-Approximation algorithms: (r = 2) ( VC) Minimum Vertex Cover (Bar-Yehuda and Even) VC ( FVS) Vertex Feedback Set (Becker and Geiger) FVS ( GSF) Generalized Steiner Forest (Williamson, Goemans, Mihail, and Vazirani) GSF ( Min 2SAT) Minimum Two-Satisfibility (Gusfield and Pitt) Min 2SAT ( 2VIP) Two Variable Integer Programming (Bar-Yehuda and Rawitz) 2VIP ( PVC) Partial Vertex Cover (Bar-Yehuda) PVC ( GVC) Generalized Vertex Cover (Bar-Yehuda and Rawitz) GVC Applications to some other Approximations: ( SC) Minimum Set Cover (Bar-Yehuda and Even) SC ( PSC) Partial Set Cover (Bar-Yehuda) PSC ( MSP) Maximum Set Packing (Arkin and Hasin) MSP Applications Resource Allocation and Scheduling : ….

10 www.cs.technion.ac.il/~reuven 10 Maximum Independent Set in Interval Graphs Maximum Independent Set in Interval Graphs Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 time Maximize s.t. For each instance I: For each time t:

11 www.cs.technion.ac.il/~reuven 11 Maximum Independent Set in Interval Graphs: How to select P 1 to get optimization? Maximum Independent Set in Interval Graphs: How to select P 1 to get optimization? Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 Î time Let Î be an interval that ends first; 1 if I in conflict with Î For all intervals I define: p 1 (I) = 0 else For every feasible x: p 1 ·x  1 Every Î- maximal is optimal. For every Î- maximal x: p 1 ·x  1 P1=1P1=1 P1=1P1=1 P1=1P1=1 P1=1P1=1 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0

12 www.cs.technion.ac.il/~reuven 12 Maximum Independent Set in Interval Graphs: An Optimization Algorithm Maximum Independent Set in Interval Graphs: An Optimization Algorithm Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 Î time Algorithm MaxIS( S, p ) If S = Φ then return Φ ; If  I  S p(I)  0 then return MaxIS( S - {I}, p); Let Î  S that ends first;  I  S define: p 1 (I) = p(Î)  (I in conflict with Î) ; IS = MaxIS( S, p- p 1 ) ; If IS is Î- maximal then return IS else return IS  {Î}; P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P 1 =P (Î )

13 www.cs.technion.ac.il/~reuven 13 Maximum Independent Set in Interval Graphs: Running Example Maximum Independent Set in Interval Graphs: Running Example P(I 1 ) = 5 -5 P(I 4 ) = 9 -5 -4 P(I 3 ) = 5 -5 P(I 2 ) = 3 -5 P(I 6 ) = 6 -4 -2 P(I 5 ) = 3 -4 -5 -4 -2

14 www.cs.technion.ac.il/~reuven 14 Single Machine Scheduling : Single Machine Scheduling : Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 ????????????? time Maximize s.t. For each instance I: For each time t: For each activity A: Bar-Noy, Guha, Naor and Schieber STOC 99: 1/2 LP Berman, DasGupta, STOC 00: 1/2 This Talk, STOC 00(Independent) 1/2

15 www.cs.technion.ac.il/~reuven 15 Single Machine Scheduling: How to select P 1 to get ½-approximation ? Single Machine Scheduling: How to select P 1 to get ½-approximation ? Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 Î time Let Î be an interval that ends first; 1 if I in conflict with Î For all intervals I define: p 1 (I) = 0 else For every feasible x: p 1 ·x  2 Every Î- maximal is 1/2-approximation For every Î- maximal x: p 1 ·x  1 P1=1P1=1P1=1P1=1P1=1P1=1P1=1P1=1 P1=1P1=1 P1=1P1=1 P1=1P1=1 P1=1P1=1 P1=1P1=1 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0 P1=0P1=0P1=0P1=0 P1=0P1=0

16 www.cs.technion.ac.il/~reuven 16 Single Machine Scheduling: The ½-approximation Algorithm Single Machine Scheduling: The ½-approximation Algorithm Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 Î time Algorithm MaxIS( S, p ) If S = Φ then return Φ ; If  I  S p(I)  0 then return MaxIS( S - {I}, p); Let Î  S that ends first;  I  S define: p 1 (I) = p(Î)  (I in conflict with Î) ; IS = MaxIS( S, p- p 1 ) ; If IS is Î- maximal then return IS else return IS  {Î};

17 www.cs.technion.ac.il/~reuven 17 Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 I w(I) s(I) e(I) time Maximize s.t. For each instance I: For each time t: For each activity A: Bandwidth Allocation Bandwidth Allocation Albers, Arora, Khanna SODA 99: O(1) |A i |=1* Uma, Phillips, Wein SODA 00: 1/4 LP. This Talk 1/3 for w  1/2 and 1/5 for w  1

18 www.cs.technion.ac.il/~reuven 18 Bandwidth Allocation for w  1/2 How to select P 1 to get 1/3-approximation? Bandwidth Allocation for w  1/2 How to select P 1 to get 1/3-approximation? Activity9 Activity8 Î Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 I w(I) s(I) e(I) time 1 if I in the same activity of Î For all intervals I define: p 1 (I) = 2*w(I) if I in time conflict with Î 0 else For every feasible x: p 1 ·x  3 Every Î- maximal is 1/3-approximation For every Î- maximal x: p 1 ·x  1

19 www.cs.technion.ac.il/~reuven 19 Bandwidth Allocation The 1/5-approximation for any w  1 Bandwidth Allocation The 1/5-approximation for any w  1 Activity9 Activity8 w > ½ Activity7 w > ½ w > ½ Activity6 Activity5 w > ½ Activity4 Activity3 w > ½ w > ½ Activity2 Activity1 w > ½ w > ½ w > ½ Algorithm: 1. GRAY = Find 1/2-approximation for gray (w>1/2) intervals; 2. COLORED = Find 1/3-approximation for colored intervals 3. Return the one with the larger profit Analysis: If GRAY*  40%OPT then GRAY  1/2(40%OPT)=20%OPT else COLORED*  60%OPT thus COLORED  1/3(60%OPT)=20%OPT

20 www.cs.technion.ac.il/~reuven 20 Continuous Scheduling Single Machine Scheduling (w=1) Bar-Noy, Guha, Naor and Schieber STOC 99: 1/3 Non Combinatorial Berman, DasGupta STOC 00: 1/2·(1-  ) This Talk, STOC 00: (Independent) 1/2·(1-  ) Bandwidth Allocation Uma, Phillips, Wein SODA 00: 1/6 Non combinatorial This Talk, STOC 00 (Independent) 1/3 ·(1-  ) for w  1/2 1/5 ·(1-  ) for w  1 s(I) e(I) { w(I)w(I)  d(I) 

21 www.cs.technion.ac.il/~reuven 21 If currant p(I 1 )    original p(I 1 ) then delete I 1 else Split I 2 = (s 2,e 2 ] to I 21 =(s 2, s 1 +d 1 ] and I 22 =(s 1 +d 1,e 2 ] Continuous Scheduling: Split and Round Profit (Loose additional (1-  ) factor) Continuous Scheduling: Split and Round Profit (Loose additional (1-  ) factor)  d(I 1 )   d(I 2 )   d(I 1 )   d(I 2 )  I 11 I 12 I 21 I 22

22 www.cs.technion.ac.il/~reuven 22 Minimization problem: General Off-line Caching Problem

23 www.cs.technion.ac.il/~reuven 23 The Demand Scheduling Problem Resource 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 w(I) 0.0 Minimize s.t. For each instance I: For each time t: t

24 www.cs.technion.ac.il/~reuven 24 Special Case: “Min Knapsack” Special Case: “Min Knapsack” Demand = 1 For all intervals I define: p 1 (I) = Min {w(I), 1} For every feasible x: p 1 ·x  1 minimal is 2-approximation For every minimal x: p 1 ·x  2

25 www.cs.technion.ac.il/~reuven 25 From Knapsack to Demand Scheduling max demand=1 at time t’ For all intervals I intersecting time t’ define : p 1 (I) = Min {w(I), 1} p 1 (others) = 0 p 1 ( all “right-minimal” ) is at most 2 p 1 ( all “left-minimal” ) is at most 2 For every minimal x: p 1 ·x  2+2 For every feasible x: p 1 ·x  1 Every minimal is 4-approximation

26 www.cs.technion.ac.il/~reuven 26 General Off-line Caching Problem 0.9 0.8 w(page 2 ) =0.7 0.6 w(page 1 ) =0.5 0.4 w(page 3 ) =0.3 0.2 0.1 0.0 page 1 page 2 page 3 page 1 page 3 page 2 page 3 w(page i ) = size of page i p(page i ) = the reload cost of the page Albers, Arora, Khanna SODA 99: O(1) Cache_Size += O(Largest_Page) O(log(Cache_Size+Max_Page_Penalty)) This Talk 4

27 www.cs.technion.ac.il/~reuven 27 4-Approximation for Demand Scheduling Algorithm MinDemandCover( S, p ) If S = Φ then return Φ ; If there exists an interval I  S s.t. p(I) = 0 ; then return {I}+MinDemandCover( S - {I}, p) ; Let t’ be the time with maximum demand k; Let S’ be the set of instances intersects time t ; Let δ = MIN {p(I)/w(I) : I  S’} ; MIN {w(I),k} if I  S’ For all intervals I  S define: p 1 (I) = δ × 0 else C = MinDemandCover( S, p- p 1 ) ; Remove elements form C until it is minimal and return C ;

28 www.cs.technion.ac.il/~reuven 28 Application: 4-Approximation for the Loss Minimization Problem Resource The cost of a schedule is the sum of profits of instances not in the schedule. For the special case where A i is a singleton {I i } the problem is equivalent to the Min Demand Scheduling where:

29 www.cs.technion.ac.il/~reuven 29 END?

30 www.cs.technion.ac.il/~reuven 30 d d d d d d d d d d Parallel Unrelated Machines: Continous Bar-Noy, Guha, Naor and Schieber STOC 99: 1/3 1/4 Berman, DasGupta STOC 00: 1/2 1/2·(1-  ) This Talk, STOC 00(Independent) 1/2 1/2·(1-  )

31 www.cs.technion.ac.il/~reuven 31 Parallel unrelated machines: c d d d d h h h c c c k A A i i i k

32 www.cs.technion.ac.il/~reuven 32 Parallel unrelated machines: 1/5-approximation (not in the paper) Each machine resource  1 p 1 (Red ) = p 1 (orange ) = 1; p 1 (Yellow ) = 2width; p 1 (All others) = 0; Parallel unrelated machines: 1/5-approximation (not in the paper) Each machine resource  1 p 1 (Red ) = p 1 (orange d ) = 1; p 1 (Yellow d ) = 2width; p 1 (All others) = 0; c d d d d d d d h h h c c c k A A i i i k

33 www.cs.technion.ac.il/~reuven 33 END!

34 www.cs.technion.ac.il/~reuven 34 Preliminaries Preliminaries Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity1 I w(I) s(I) e(I) time


Download ppt "Www.cs.technion.ac.il/~reuven 1 A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T and Tel Aviv University."

Similar presentations


Ads by Google