Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Online Scheduling With Precedence Constraints Yumei Huo Department of Computer Science College.

Similar presentations


Presentation on theme: "1 Online Scheduling With Precedence Constraints Yumei Huo Department of Computer Science College."— Presentation transcript:

1 1 Online Scheduling With Precedence Constraints Yumei Huo http://www.cs.csi.cuny.edu/~yumei/ huo@mail.csi.cuny.edu Department of Computer Science College of Staten Island, CUNY Feb. 26, 2008

2 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 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 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 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. 5 2 34 67 8 1 Cmax=5 642 87531 1234567891011120 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 6 Precedence constraints 5 6 7 8 9 10 11 2 3 4 chains 4 56 7 89 10 1112 1413 1615 1817 2019 2221 23 intree 4 5 6 7 89 10 1112 1413 1615 1817 2019 2221 23 outtree 11 12 1413 16 18 20 23 prec

7 7 Preemption Jobs can be preempted and later resumed possibly on a different machine. 4144 3313 2221 1234567891011120 S1 333 222 444111 1234567891011120 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 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 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 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 11 Example of Coffman-Graham algorithm 12 3 45 76 89 (9)‏(8)‏ (7)‏ (6)‏ (5)‏ (4)‏ (3)‏ (1)‏(2)‏ 84 62 97531 76543210 (1)‏ (2,1)‏

12 12 Hu’s algorithm (P|p j =1, intree|Cmax and P|p j =1, outtree|Cmax )‏ Step 1. Labeling Step 2. Scheduling

13 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 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 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 16 Example for Muntz-Coffman algorithm Preemptive schedule Processor-sharing schedule

17 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 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 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 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 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 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 23 P2|p j =p, chains i are released at r i |Cmax (Counterexample)‏ M=2 p j =2 654 1110987321 2468 121416182022240 S1 654 321 246810121416182022240 S1 4 5 6 1 2 3 4 5 6 4 5 6 1 2 3 1 2 3 Chains released at r 1 =0 Chains released at r 2 =5 7 8 9 10 11 7 8 9 10 11

24 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 25 P|p j =1, intree i is released at r i |Cmax (Counterexample)‏ 4 56 7 89 10 1112 1413 1615 1817 2019 2221 23 Tree 1 released at r 1 =0 M=3 24 25 2627 2829 3031 32 Tree 2 released at r 2 =4 S1 1296 22201816141185 2321191715131074 123456789 11120 22192017151296 323129271816141185 23213028262524131074 123456789 11120 312129192712171513 32302826162411975 23222018251410864 123456789 11120 S2

26 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 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 28 Example 12 3 45 76 89 (9)‏(8)‏ (7)‏ (6)‏ (5)‏ (4)‏ (3)‏ (1)‏(2)‏ 84 62 97531 76543210 (9)‏ (8)‏ (5)‏ (1)‏(2)‏ Tasks not finished at t=2 (3)‏ (4)‏ (6)‏ (7)‏ (10)‏ 10 (11)‏ Tasks released at t=2 11 1213 14 15 4 7 5 8 9 62 31 102 9 9 1245 8147131110 86543 7

29 29 Our result Theorem 2.1.4 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 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 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 32 Example

33 33 Our result Theorem 2.1.5 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 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 35 P|p j =1, pmtn, intree i is released at r i |Cmax (Counterexample)‏ 4 56 7 89 10 1112 1413 1615 1817 2019 2221 23 Tree 1 released at r 1 =0 M=3 24 25 2627 2829 3031 32 Tree 2 released at r 2 =4 S1 1296 22201816141185 2321191715131074 123456789 11120 171513 211911975 23222018161410864 123456789 11120 S2 22192017151296 323129271816141185 23213028262524131074 123456789 11120 312129192712171513 32302826162411975 23222018251410864 123456789 11120

36 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 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 38 Example

39 39 Our result Theorem 2.2.4 Algorithm C is an optimal online algorithm for P2| pmtn, prec i is released at r i |Cmax.

40 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 41 P|pmtn, outtree i is released at r i |Cmax Theorem 2.2.6 Algorithm C is an optimal online algorithm for P|pmtn, outtree i is released at r i |Cmax.

42 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 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 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 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 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 47 An Example of On-line Hu’s Algorithm A set of jobs released at time 0 2 1 3 45 6 1 2 3 4 56

48 48 An Example of On-line Hu’s Algorithm (Algorithm B)‏ A new set of jobs released at time 1. 3 45 6 1 2 78 910 11 New Release: Jobs has been scheduled:

49 49 An Example Final Schedule 3 45 6 1 2 78 910 11 3 7 8 4 5 9 10 6 11

50 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 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 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 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 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 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 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 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. 743-762. 2005. 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. 275-278, 2005. Huo, Y. and J. Y-T. Leung, "Minimizing Total Completion Time for UET Tasks," ACM Transactions on Algorithms, Vol. 2, No. 2, pp. 244-262. April 2006. Huo, Y., J. Y-T. Leung and H. Zhao, "Complexity of Two Dual Criteria Scheduling Problems," submitted to Operations Research Letters, 35:211-220, 2007. 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:116-134, 2007. Huo, Y., J. Y-T. Leung and X. Wang, "Online Scheduling of Equal-Processing- Time Task Systems," Submitted to Theoretical Computer Science.

58 58 Thank you!

59 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 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 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 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 63 Complexity results for scheduling problems by Brucker and Knust: http://www.mathematik.uni- osnabrueck.de/research/OR/class/


Download ppt "1 Online Scheduling With Precedence Constraints Yumei Huo Department of Computer Science College."

Similar presentations


Ads by Google