1 Online Scheduling With Precedence Constraints Yumei Huo Department of Computer Science College of Staten Island, CUNY Feb. 26, 2008
2 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work
3 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work
4 What is Scheduling ? Resource: machines, runways, CPUs Jobs: operations, takeoffs and landings, programs Constraints: priority, release date, due date, preemption Objectives: –minimize total completion time –minimize the maximum completion time –maximize the number of on-time jobs Scheduling deals with the allocation of scarce resources to jobs over time subject to some constraints. It is a decision- making process with the goal of optimizing one or more objectives. (Pinedo, 2001)
5 3-field Notation of Scheduling We use | | to represent a scheduling problem; : the machine environment : the processing requirement and constraints of the jobs : the performance measure to optimize Cmax= P1 P2 /Ci/Ci C i = C 1 + C 2 +…+C n C i =21 Example: P2|p j =1, prec|Cmax – P2: 2 identical machines in parallel – p j =1, prec: the processing time of any job is unit time, the jobs have arbitrary precedence constraints – C i is the completion time of job i, – Cmax=max{C 1, C 2,…C n } (makespan);
6 Precedence constraints chains intree outtree prec
7 Preemption Jobs can be preempted and later resumed possibly on a different machine S S2 Cmax=4 C j =15 Cmax=6 C j =15 P3|p j =3,pmtn|Cmax: P3|p j =3|Cmax: Example: 3 processors, 4 independent jobs, the processing time of each job is 3.
8 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work
9 Coffman-Graham algorithm (P2|p j =1, prec|Cmax and P2|p j =1, prec| C i ) Step 1. Labeling Step 2. Scheduling
10 Coffman-Graham algorithm (cont.) Comparing two decreasing sequences of positive integers: by lexicographical order Example: (8, 6, 4, 3) < (8, 6, 5) and (9, 8, 6) < (9, 8, 6, 4, 3).
11 Example of Coffman-Graham algorithm (9)(8) (7) (6) (5) (4) (3) (1)(2) (1) (2,1)
12 Hu’s algorithm (P|p j =1, intree|Cmax and P|p j =1, outtree|Cmax ) Step 1. Labeling Step 2. Scheduling
13 Hu’s algorithm---Level Definition: The level of a job i with no immediate successor is its processing time p i. The level of a job with immediate successor(s) is its processing time plus the maximum level of its immediate successor(s).
14 Example for Hu’s algorithm (1) (2) (3) (5) (6) (4) (7) (1) (2) (3) (5) (6) (4) (7) (1) (2) (3) (5) (6) (4) (7) (8) (9) (10) (11) (1) (2) (3) (5) (6) (4) (7) (8) (9) (10) (11) (12) (13) (1) (2) (3) (5) (6) (4) (7) (8) (9) (10) (11) (12) (13) (14) (15) (8) (9) (10) (11) (12) (13) (14) (15) (16)
15 Muntz-Coffman algorithm (P2|pmtn, prec |Cmax, P|pmtn, intree|Cmax and P|pmtn, outtree|Cmax ) Assign one processor each to the jobs at the highest level. If there is a tie among y jobs (because they are at the same level) for the last x (x < y) processors, then assign x/y processor to each of these y jobs. Whenever either of the two events below occurs, reassign the processors to the unexecuted portion of the unfinished tasks according to the above rule. Event 1: A task is completed. Event 2: We reach a point where, if we were to continue the present assignment, we would be executing some tasks at a lower level at a faster rate than other tasks at a higher level.
16 Example for Muntz-Coffman algorithm Preemptive schedule Processor-sharing schedule
17 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work
18 Online Scheduling Tasks are released, along with their constraints, at various different times. The scheduler schedules tasks with no future information. We say that an online scheduling algorithm is optimal if it always produces a schedule with the minimum C max, i.e., a schedule as good as any schedule produced by any scheduling algorithm with full knowledge of future releases of tasks.
19 Classical Scheduling Problems with polynomial optimal algorithms P|p j =1, intree|Cmax and P|p j =1, outtree|Cmax --- Hu’s algorithm P2|p j =1, prec|Cmax and P2|p j =1, prec| C j --- Coffman- Graham algorithm P2|pmtn, prec |Cmax, P|pmtn, intree|Cmax and P|pmtn, outtree|Cmax --- Muntz-Coffman algorithm P|pmtn|Cmax --- McNaughton’s Rule
20 Online version of these problems Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax –P|p j =1, intree i is released at r i |Cmax –P|p j =1, outtree i is released at r i |Cmax –P2|p j =1, prec i is released at r i |Cmax Preemptive scheduling problems: –P2|pmtn, prec i is released at r i |Cmax –P|pmtn, intree i is released at r i |Cmax –P|pmtn, outtree i is released at r i |Cmax –P|pmtn, r j |Cmax (K.S.Hong and J.Y-T.Leung, 1988)
21 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
22 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
23 P2|p j =p, chains i are released at r i |Cmax (Counterexample) M=2 p j = S S Chains released at r 1 =0 Chains released at r 2 =
24 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
25 P|p j =1, intree i is released at r i |Cmax (Counterexample) Tree 1 released at r 1 =0 M= Tree 2 released at r 2 =4 S S2
26 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
27 P2|p j =1, prec i is released at r i |Cmax Algorithm A: Whenever new tasks arrive, do { t = the current time; U = the set of tasks active (i.e., not finished) at time t; Call the Coffman-Graham algorithm to reschedule the tasks in U; }
28 Example (9)(8) (7) (6) (5) (4) (3) (1)(2) (9) (8) (5) (1)(2) Tasks not finished at t=2 (3) (4) (6) (7) (10) 10 (11) Tasks released at t=
29 Our result Theorem Algorithm A is optimal for P2|p j =1, prec i is released at r i |Cmax. Moreover, the schedule produced by Algorithm A has the largest number of tasks completed at any time instant t. ( Note: Algorithm A is optimal for P2|p j =1, prec i is released at r i | C j )
30 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
31 P|p j =1, outtree i is released at r i |Cmax Algorithm B: Whenever new tasks arrive, do { t =the current time; U= the set of tasks active (i.e., not finished) at time t; Call Hu's algorithm to reschedule the tasks in U; }
32 Example
33 Our result Theorem Algorithm B is optimal for P|p j =1, outtree i is released at r i |Cmax. Moreover, the schedule produced by Algorithm B has the largest number of tasks completed at any time instant t. ( Note: Algorithm B is optimal for P|p j =1, outtree i is released at r i | C j )
34 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
35 P|p j =1, pmtn, intree i is released at r i |Cmax (Counterexample) Tree 1 released at r 1 =0 M= Tree 2 released at r 2 =4 S S
36 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, p j =1, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
37 P2| pmtn,prec i is released at r i |Cmax Algorithm C: Whenever new tasks arrive, do { t =the current time; U= the set of tasks active (i.e., not finished) at time t; Call Muntz-Coffman algorithm to reschedule the tasks in U; }
38 Example
39 Our result Theorem Algorithm C is an optimal online algorithm for P2| pmtn, prec i is released at r i |Cmax.
40 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm
41 P|pmtn, outtree i is released at r i |Cmax Theorem Algorithm C is an optimal online algorithm for P|pmtn, outtree i is released at r i |Cmax.
42 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work
43 known results P| p j =1, outtree i released at r i | C max –Online version of Hu’s algorithm is known to be optimal (Huo & Leung) P2| p j =1, prec i released at r i | C max –Online version of Coffman-Graham algorithm is known to be optimal (Huo & Leung) P| prec, online | C max –Online version of List scheduling has competitive ratio 2-1/m (Sgall)
44 Problems P | p j =1, intree i released at r i | C max P | p j =p, intree i released at r i | C max P | p j =p, outtree i released at r i | C max P2 | p j =p, prec i released at r i | C max
45 Problems P | p j =1, intree i released at r i | C max P | p j =p, intree i released at r i | C max P | p j =p, outtree i released at r i | C max P2 | p j =p, prec i released at r i | C max
46 On-line version of Hu’s Algorithm(revisited) Hu’s Algorithm: –Whenever a machine is idle, pick a job from the highest level and schedule it. –Hu’s algorithm is optimal for the off-line problem of p|p j =1, intree|c max On-line version: Whenever new jobs arrive, do{ T=the current time U=the set of jobs not finished at time T reschedule the tasks in U by Hu’s algorithm. }
47 An Example of On-line Hu’s Algorithm A set of jobs released at time
48 An Example of On-line Hu’s Algorithm (Algorithm B) A new set of jobs released at time New Release: Jobs has been scheduled:
49 An Example Final Schedule
50 Result 1 For p | intree,p j =1,online | c max problem, let S be the c max produced by the on-line version of Hu’s algorithm, and S* be the c max of the optimal schedule, then S/S*≤ 1.5
51 Problems P | p j =1, intree i released at r i | C max P | p j =p, intree i released at r i | C max P | p j =p, outtree i released at r i | C max P2 | p j =p, prec i released at r i | C max
52 Meta-Algorithm Delay-X (from p j =1 to p j =p) Suppose X is an algorithm which solves online problem for p j =1. For any job released at time r such that kp<r<(k+1)p, delay it from consideration until the time instant (k+1)p. Call algorithm X at time instant (k+1)p
53 Result 2 Suppose algorithm X gives competitive ratio of λ for α|p j =1,online|c max problem, then, –For the problemα|p j =p,online|c max, let s be the c max produced by Delay-X and s* be the c max of the optimal schedule, then s≤λs*+ λ p
54 Result 3 P| p j =p, intree i released at r i | c max –Let S be the c max produced by Delay-Hu’s algorithm and S* be the c max of optimal schedule, then S≤1.5(S*+p). The asymptotic competitive ratio is 1.5 since S*>>p. P| p j =p, outtree i released at r i | c max –Let S be the c max produced by Delay-Hu’s algorithm and S* be the c max of optimal schedule, then S ≤(S*+p). The asymptotic competitive ratio is 1 since S*>>p. P2| p j =p, prec i released at r i | c max –Let S be the c max produced by Delay-Coffman-Graham algorithm and S* be the c max of optimal schedule, then S ≤(S*+p). The asymptotic competitive ratio is 1 since S*>>p.
55 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work
56 Future Work (Continued Work) For p | p j =1, intree i released at r i | c max problem: –Better approximation algorithms? Tight Competitive Ratio? For p | p j =p, prec i released at r i | c max –Asymptotic competitive ratio? (>2-2/m [Lam and Sethi] ) For p | pmtn, intree i released at r i | c max problem: –Approximation Algorithm? Competitive Ratio? Other Criteria of these online scheduling problems? –Objective function: mean flow time
57 Selected Publications Huo, Y. and J. Y-T. Leung, "Online Scheduling of Precedence Constrained Tasks," SIAM J. on Computing, Volume 34, Number 3, pp Huo, Y. and J. Y-T. Leung, "Minimizing Total Completion Time for UET Tasks with Release Time and Outtree Precedence Constraints," Mathematical Methods of Operations Research, Vol. 62, No. 2, pp , Huo, Y. and J. Y-T. Leung, "Minimizing Total Completion Time for UET Tasks," ACM Transactions on Algorithms, Vol. 2, No. 2, pp April Huo, Y., J. Y-T. Leung and H. Zhao, "Complexity of Two Dual Criteria Scheduling Problems," submitted to Operations Research Letters, 35: , Huo, Y., J. Y-T. Leung and H. Zhao, "Bi-criteria Scheduling Problems: Number of Tardy Jobs and Maximum Weighted Tardiness," European Journal of Operational Research,177: , Huo, Y., J. Y-T. Leung and X. Wang, "Online Scheduling of Equal-Processing- Time Task Systems," Submitted to Theoretical Computer Science.
58 Thank you!
59 Makespan Total completion time: C i = C 1 + C 2 +…+C n Makespan = (C i - r i ) /n –C i is the completion time of job i; –r i is the release time of job i; –n is the number of jobs
60 Application of Scheduling Scheduling of Flexible Resources in Professional Service Firms Novel metaheuristic Approaches to Nurse Rostering Problems in Belgian Hospitals University Timetabling Adapting the GATES Architecture to Scheduling Faculty Constraint Programming for Scheduling Batch Production Scheduling in the Process Industries A Composite Very-Large-Scale Neighborhood Search Algorithm for the Vehicle Routing Problem Scheduling Problems in the Airline Industry Bus and Train Driver Scheduling Sports Scheduling
61 Application of Online Scheduling Industrial Applications Multiuser operating systems such as Unix and Windows Web servers Database servers Load balancers sitting in front of server farms (Pruhs K., Sgall J., and Torng E., 2004 )
62 M3 M2 M1 t=0 r1r1 r2r2 r3r3 J i1,J i1+1, … J i2,J i2+1, … J i3,J i3+1, …
63 Complexity results for scheduling problems by Brucker and Knust: osnabrueck.de/research/OR/class/