Online Scheduling of Precedence Constrained Tasks Yumei Huo Department of Computer Science New Jersey Institute of Technology
2 Outline Introduction: –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Future Work
3 Outline Introduction: –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Future Work
4 Coffman-Graham algorithm (P2|p j =1, prec|Cmax and P2|p j =1, prec| C i ) Step 1. Labeling Step 2. Scheduling
5 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).
6 Example of Coffman-Graham algorithm (9)(8) (7) (6) (5) (4) (3) (1)(2) (1) (2,1)
7 Hu’s algorithm (P|p j =1, intree|Cmax and P|p j =1, outtree|Cmax ) Step 1. Labeling Step 2. Scheduling
8 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).
9 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)
10 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.
11 Example for Muntz-Coffman algorithm Preemptive schedule Processor-sharing schedule
12 Outline Introduction: –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Future Work
13 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.
14 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 i --- 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
15 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)
16 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
17 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
18 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 =
19 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
20 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
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 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; }
23 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=
24 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 )
25 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
26 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; }
27 Example
28 Example
29 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 )
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, 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
32 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
33 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; }
34 Example
35 Example
36 Our result Theorem Algorithm C is an optimal online algorithm for P2| pmtn,prec i is released at r i |Cmax.
37 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
38 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.
39 Outline Introduction: –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Future Work
40 Future Work (Continued Work) Online scheduling problems –Competitive Ratio –Objective function: mean flow time
41 Thank you!
42 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 )