Download presentation
Presentation is loading. Please wait.
Published byBerenice Farmer Modified over 8 years ago
1
Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application to Optical Networks Michele Flammini – University of L’Aquila Gianpiero Monaco – University of L’Aquila Luca Moscardelli – University of Chieti-Pescara Hadas Shachnai – Technion, Haifa Mordechai Shalom – Tel Hai Academic College Tami Tamir – IDC, Herzlia Shmuel Zaks – Technion, Haifa
2
Feb 23, 2010 University of Liverpool Problem Statement A job scheduling problem. Parallel machines. n jobs, each job given by an interval. Parallelism parameter g 1 : A machine can process at most g jobs at any given point in time. sjsj cjcj Job j
3
Feb 23, 2010 University of Liverpool Problem Statement Example: A feasible schedule for g=2 A machine is busy at time t if it processes at least one job at time t. The goal: Minimize the total busy time of all the machines.
4
Feb 23, 2010 University of Liverpool Problem Statement Solution 1: Cost =busy green + busy red + busy blue A better solution – total width of busy intervals is smaller:
5
Feb 23, 2010 University of Liverpool Previous Results Batch Scheduling: –The number of machines is given. –The cost function is different Maximum completion time as opposed to Total busy time The problem is NP-Hard even for g=2 –Winkler & Zhang 2003 –(implied by) Flammini et al. 2008
6
Feb 23, 2010 University of Liverpool Our Results An algorithm with approximation ratio between 3 and 4 for the general case. A 2-approximation algorithm for proper interval graphs. A (2+ )-approximation algorithm for bounded ratio integral instances.
7
Feb 23, 2010 University of Liverpool Definitions Given a time interval I=[s,c], the length of I is len(I)=c-s. For a set S of intervals, len(S)= I S len(I). For a set S of intervals, the span of S is span(S)=len( I S I).
8
Feb 23, 2010 University of Liverpool Properties of OPT For any instance J and parallelism parameter g 1, the optimal solution can be bounded as follows: 1.The parallelism bound: OPT(J) len(J)/g. 2.The span bound: OPT(J) span(J). W.l.o.g. no machine is idle (otherwise, split into machines with busy intervals with smaller total length).
9
Feb 23, 2010 University of Liverpool Algorithm FirstFit Sort jobs in non-increasing order of length, i.e. J 1 ≥ J 2 ≥… J n Start with an empty set of machines. for j=1 to n –Assign j j to the first machine that can accommodate it. –If no machine can accommodate j j, open a new machine and assign j j to this machine.
10
Feb 23, 2010 University of Liverpool FirstFit-Observation Let some job J be assigned to some machine M i and let 1≤k ≤ i, then There is some time t in J, in which there is “enough” load in M k ”around” t. MiMi MkMk
11
Feb 23, 2010 University of Liverpool FirstFit-Observation (cont’d) “enough” is g. len(J) “around” is the neighborhood len(J) of t. MiMi MkMk
12
Feb 23, 2010 University of Liverpool Lemma 2.3 (intuition) The “density” of M k around t is at least ½. span(M i ) can be divided into segments in which the density of M k is at least ½. MiMi MkMk
13
Feb 23, 2010 University of Liverpool Lemma 2.3 (intuition) The average density of M k on span(M i ) is at least 1/3. MiMi MkMk
14
Feb 23, 2010 University of Liverpool Lemma 2.3 J i – the set of jobs assigned to M i len( J k ) ≥ g * span( J i ) / 3 span( J i ) ≤ 3 * len( J k )/g In particular: –span( J i ) ≤ 3 * len( J i-1 )/g
15
Feb 23, 2010 University of Liverpool FirstFit is a 4-approximation –busy 2 = span( J 2 ) ≤ 3 * len( J 1 )/g –busy 3 = span( J 3 ) ≤ 3 * len( J 2 )/g –busy 4 = span( J 4 ) ≤ 3 * len( J 3 )/g –busy 5 = span( J 5 ) ≤ 3 * len( J 4 )/g –….. –FirstFit( J \ J 1 ) < 3 len( J ) / g ≤ 3 OPT( J ) –busy 1 = span( J 1 ) ≤ span( J ) ≤ OPT( J ) –FirstFit( J ) ≤ 4 OPT( J )
16
Feb 23, 2010 University of Liverpool FirstFit is not a (3-ε)-approximation All jobs have the same length l. g-1 jobs ….. FirstFit = g (3l – 2) OPT = 2 l + (g-1) l = (g+1) l For every g and ε one can find some l, big enough, to get a contradiction.
17
Feb 23, 2010 University of Liverpool Special Cases 1.Proper Interval Graph: no job interval is properly contained in another. yes no 2. Bounded Lengths Instances: for all 1 j n, len(J j ) {1,2, …, d}, where d 1 is a fixed constant.
18
Feb 23, 2010 University of Liverpool Greedy Algorithm for Proper Interval Graphs 1.Sort the jobs in non-decreasing order by their starting points, i.e., s 1 s 2 … s n. 2.Scan the list of jobs in the above order. If possible, assign the next job to the currently filled machine; else (adding the job forms a (g+1)-clique in the currently filled machine), open a new machine for the currently scheduled job.
19
Feb 23, 2010 University of Liverpool Greedy Algorithm for Proper Interval Graphs Theorem: Greedy is a 2-approximation for proper interval graphs. Note: FirstFit is not a 2-approximation for proper interval graphs. Greedy t – the number of machines used by Greedy at time t OPT t – the number of machines used by OPT at time t N t – the number of jobs at time t Claim: N t ≥ g (Greedy t – 2) + 2
20
Feb 23, 2010 University of Liverpool Greedy Algorithm for Proper Interval Graphs Claim: N t ≥ g (Greedy t – 2) + 2 Given time t, consider the Job J that caused Machine Greedy t to be opened M Greedyt J M 1 is processing at least one job J’ M1M1 J’ J’ starts (and therefore ends) before J t All other jobs J’’ that assigned to M 2, M 3, … started after J’, therefore still active
21
Feb 23, 2010 University of Liverpool Greedy Algorithm for Proper Interval Graphs N t ≥ g (Greedy t – 2) + 2 Using the parallelism bound: OPT t ≥ ceil(N t /g ) = Greedy t - 1 Summing up for all values of t: OPT( J ) ≥ Greedy( J ) – span( J ) Using the span bound: Greedy( J ) ≤ OPT( J ) + span( J ) ≤ 2 OPT( J )
22
Feb 23, 2010 University of Liverpool Let d be the upper bound on len(J). Divide the instance J into sub instances J 1, J 2, … such that each instance J i consists of jobs starting in [d.i+1, d.(i+1)] Solve each instance separately. This introduces a factor of at most 2 because instance J i is independent of J i+2 due to the bound on the lengths. We will show a PTAS for each instance Algorithm for Bounded Lengths Instances
23
Feb 23, 2010 University of Liverpool A PTAS for the sub-Instances The running time is polynomial in n,g but exponential in the length of the longest job. Main ideas: When job lengths are rounded, the number of ways to allocate machines to job-classes and to determine the machine’s busy intervals is polynomial. For each such allocation, use f-factor algorithms to assign efficiently independent sets of jobs to machines. Select the best solution among those considered.
24
Feb 23, 2010 University of Liverpool A PTAS for the sub-Instances Given a parameter ε. Guess the number of machines in an optimal solution. (n possibilities ) Guess the vector of busy times busy i with a relative error ε. (log 1+ ε 2d possibilities) and start times s i (d possibilities). Guess a partition of the jobs to independent sets IS j. –An independent set has at most d elements (constant). –The number of independent sets is bounded by a constant –The number of partitions to such sets is bounded by a constant
25
Feb 23, 2010 University of Liverpool A PTAS for the sub-Instances Check the feasibility of the guess (s i, busy i, IS j ): Build a bipartite (Machines, Independent Sets) graph. Each machine can accommodate at most g independent sets Each independent set can be assigned to at most one machine. Calculate maximum f-factor with these constrains.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.