25
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

Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Minimizing Total Busy Time in Parallel Scheduling with Application to Optical

NetworksMichele Flammini – University of L’AquilaGianpiero Monaco – University of L’AquilaLuca Moscardelli – University of Chieti-PescaraHadas Shachnai – Technion, HaifaMordechai Shalom – Tel Hai Academic CollegeTami Tamir – IDC, HerzliaShmuel Zaks – Technion, Haifa

Page 2: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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.

sj cj

Job j

Page 3: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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.

Page 4: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Problem Statement• Solution 1: Cost =busygreen + busyred + busyblue

• A better solution – total width of busy intervals is smaller:

Page 5: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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

Page 6: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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.

Page 7: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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)=IS len(I).• For a set S of intervals, the span of S is span(S)=len( IS I).

Page 8: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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).

Page 9: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Algorithm FirstFit

• Sort jobs in non-increasing order of length, i.e. J1≥ J2≥… Jn

• Start with an empty set of machines.• for j=1 to n

– Assign jj to the first machine that can accommodate it.

– If no machine can accommodate jj, open a new machine and assign jj to this machine.

Page 10: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

FirstFit-Observation

• Let some job J be assigned to some machine Mi and let 1≤k ≤ i, then

• There is some time t in J, in which there is “enough” load in Mk ”around” t.

Mi

Mk

Page 11: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

FirstFit-Observation (cont’d)

• “enough” is g . len(J)• “around” is the neighborhood len(J) of t.

Mi

Mk

Page 12: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Lemma 2.3 (intuition)

• The “density” of Mk around t is at least ½.

• span(Mi) can be divided into segments in which the density of Mk is at least ½.

Mi

Mk

Page 13: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Lemma 2.3 (intuition)

• The average density of Mk on span(Mi) is at least 1/3.

Mi

Mk

Page 14: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Lemma 2.3

• Ji – the set of jobs assigned to Mi

• len(Jk) ≥ g * span(Ji) / 3

• span(Ji) ≤ 3 * len(Jk)/g• In particular:

– span(Ji) ≤ 3 * len(Ji-1)/g

Page 15: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

FirstFit is a 4-approximation

– busy2 = span(J2) ≤ 3 * len(J1)/g

– busy3 = span(J3) ≤ 3 * len(J2)/g

– busy4 = span(J4) ≤ 3 * len(J3)/g

– busy5 = span(J5) ≤ 3 * len(J4)/g– …..– FirstFit(J \ J1) < 3 len(J) / g ≤ 3 OPT(J)– busy1 = span(J1) ≤ span(J) ≤ OPT(J)– FirstFit(J) ≤ 4 OPT(J)

Page 16: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

FirstFit is not a (3-ε)-approximation

• All jobs have the same length l.

g-1 jobs

g-1 jobs

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.

Page 17: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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(Jj) {1,2, …, d}, where d 1 is a fixed constant.

Page 18: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Greedy Algorithm for Proper Interval Graphs

1. Sort the jobs in non-decreasing order by their starting points, i.e., s1 s2 … sn.

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.

Page 19: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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.

Greedyt – the number of machines used by Greedy at time t

OPTt – the number of machines used by OPT at time t

Nt – the number of jobs at time t

Claim: Nt ≥ g (Greedyt – 2) + 2

Page 20: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Greedy Algorithm for Proper Interval GraphsClaim: Nt ≥ g (Greedyt – 2) + 2

Given time t, consider the Job J that caused Machine Greedyt to be opened

MGreedyt J

M1 is processing at least one job J’

M1 J’

J’ starts (and therefore ends) before J

t

All other jobs J’’ that assigned to M2, M3, … started after J’, therefore still active

Page 21: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

Greedy Algorithm for Proper Interval Graphs

Nt ≥ g (Greedyt – 2) + 2

Using the parallelism bound: OPTt ≥ ceil(Nt/g ) = Greedyt - 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)

Page 22: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

• Let d be the upper bound on len(J).• Divide the instance J into sub instances J1,

J2, … such that each instance Ji 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 Ji is independent of Ji+2 due to the bound on the lengths.

• We will show a PTAS for each instance

Algorithm for Bounded Lengths Instances

Page 23: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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.

Page 24: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University 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 busyi with a relative

error ε. (log1+ ε 2d possibilities) and start times si (d possibilities).

• Guess a partition of the jobs to independent sets ISj.– 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

Page 25: Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application…

Feb 23, 2010University of Liverpool

A PTAS for the sub-Instances• Check the feasibility of the guess (si, busyi,

ISj ):• 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.