Upload
vivian-sutton
View
223
Download
0
Embed Size (px)
DESCRIPTION
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
Citation preview
1
Online Scheduling With Precedence Constraints
Yumei Huohttp://www.cs.csi.cuny.edu/~yumei/
Department of Computer ScienceCollege 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.
5
2
3 4
6 7
8
1
Cmax=5
642
875311 2 3 4 5 6 7 8 9 10 11 120
P1P2
/Ci
Ci= C1+ C2+…+Cn
Ci=21
• Example: P2|pj=1, prec|Cmax– P2: 2 identical machines in parallel– pj=1, prec: the processing time of any job is unit time, the
jobs have arbitrary precedence constraints– Ci is the completion time of job i, – Cmax=max{C1, C2,…Cn} (makespan);
6
Precedence constraints
5
6
7
8
9
10
11
2
3
4
chains
4 5 6
7 8 9
10 11 12
14 13
16 15
18 17
20 19
22 21
23
intree
4 5 6
7 8 9
10 11 12
14 13
16 15
18 17
20 19
22 21
23
outtree
11
12
14 13
16 18
20
23
prec
7
Preemption• Jobs can be preempted and later resumed possibly
on a different machine.
4144
3313
22211 2 3 4 5 6 7 8 9 10 11 120
S1
333
222
4441111 2 3 4 5 6 7 8 9 10 11 120
S2
Cmax=4Cj=15
Cmax=6Cj=15
P3|pj=3,pmtn|Cmax:
P3|pj=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|pj=1, prec|Cmax and P2|pj=1, prec| Ci )
Step 1. LabelingStep 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 algorithm1 2
3
4 5
76
8 9
(9) (8)
(7)
(6)(5)
(4)(3)
(1) (2)
8462
9753176543210
(1) (2,1)
12
Hu’s algorithm(P|pj=1, intree|Cmax and P|pj=1, outtree|Cmax )
Step 1. LabelingStep 2. Scheduling
13
Hu’s algorithm---Level
• Definition: The level of a job i with no immediate successor is its processing time pi. 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 Cmax, 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|pj=1, intree|Cmax and P|pj=1, outtree|Cmax --- Hu’s algorithm
• P2|pj=1, prec|Cmax and P2|pj=1, prec| Cj --- 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|pj=p, chainsi are released at ri|Cmax
– P|pj=1, intreei is released at ri|Cmax
– P|pj=1, outtreei is released at ri|Cmax
– P2|pj=1, preci is released at ri|Cmax
• Preemptive scheduling problems:– P2|pmtn, preci is released at ri|Cmax
– P|pmtn, intreei is released at ri|Cmax
– P|pmtn, outtreei is released at ri|Cmax
– P|pmtn, rj|Cmax (K.S.Hong and J.Y-T.Leung, 1988)
21
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
22
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
23
P2|pj=p, chainsi are released at ri|Cmax (Counterexample)
M=2pj=2
654
11109873212 4 6 8 10 12 14 16 18 20 22 240
S1
S26 21 23 250 195
S254
21
63
11109872 4 7 9 11 13 15 176 21 23 250 195
654
3212 4 6 8 10 12 14 16 18 20 22 240
S1
456
123
456
456
123
123
Chains released at r1=0 Chains released at r2=5
7891011
7891011
24
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
25
P|pj=1, intreei is released at ri|Cmax (Counterexample)
4 5 67 8 910 11 12
14 1316 1518 1720 1922 21
23
Tree1 released at r1=0
M=3 24
25
26 27
28 29
30 31
32
Tree2 released at r2=4
S11296
22201816141185
23211917151310741 2 3 4 5 6 7 8 9 10 11 120
22192017151296
323129271816141185
232130282625241310741 2 3 4 5 6 7 8 9 10 11 120
312129192712171513
32302826162411975
232220182514108641 2 3 4 5 6 7 8 9 10 11 120
S2
26
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
27
P2|pj=1, preci is released at ri|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
1 2
3
4 5
76
8 9
(9) (8)
(7)
(6)(5)
(4)(3)
(1) (2)
8462
9753176543210
(9)(8)
(5)
(1) (2)
Tasks not finished at t=2
(3) (4)
(6) (7)
(10)
10 (11)
Tasks released at t=2
11
12 13
14 15
4
7
5
8 9
62
3110 2 9
9151245
814713111086543 7
29
Our result
Theorem 2.1.4 Algorithm A is optimal for P2|pj=1, preci is released at ri|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|pj=1, preci is released at ri| Cj)
30
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
31
P|pj=1, outtreei is released at ri|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 2.1.5 Algorithm B is optimal for P|pj=1, outtreei is released at ri|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|pj=1, outtreei is released at ri| Cj)
34
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
35
P|pj=1, pmtn, intreei is released at ri|Cmax (Counterexample)
4 5 67 8 910 11 12
14 1316 1518 1720 1922 21
23
Tree1 released at r1=0
M=3 24
25
26 27
28 29
30 31
32
Tree2 released at r2=4
S11296
22201816141185
23211917151310741 2 3 4 5 6 7 8 9 10 11 120
12171513
211911975
232220181614108641 2 3 4 5 6 7 8 9 10 11 120
S2
22192017151296
323129271816141185
232130282625241310741 2 3 4 5 6 7 8 9 10 11 120
312129192712171513
32302826162411975
232220182514108641 2 3 4 5 6 7 8 9 10 11 120
36
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, pj=1, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
37
P2| pmtn,preci is released at ri|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 resultTheorem 2.2.4 Algorithm C is an optimal
online algorithm for P2| pmtn, preci is released at ri|Cmax.
40
Our results• Nonpreemptive scheduling problems:
– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can possibly exist
– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possibly exist
– P2|pj=1, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pj=1, outtreei is released at ri|Cmax----- there is optimal algorithm
• Preemptive scheduling problems:– P|pmtn, intreei is released at ri|Cmax---- no optimal algorithm can
possibly exist
– P2| pmtn, preci is released at ri|Cmax ---- there is optimal algorithm
– P|pmtn, outtreei is released at ri|Cmax---- there is optimal algorithm
41
P|pmtn, outtreei is released at ri|Cmax
Theorem 2.2.6 Algorithm C is an optimal online algorithm for P|pmtn, outtreei is released at ri|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| pj=1, outtreei released at ri | Cmax
– Online version of Hu’s algorithm is known to be optimal (Huo & Leung)
• P2| pj=1, preci released at ri | Cmax
– Online version of Coffman-Graham algorithm is known to be optimal (Huo & Leung)
• P| prec, online | Cmax
– Online version of List scheduling has competitive ratio 2-1/m (Sgall)
44
Problems
• P | pj=1, intreei released at ri | Cmax
• P | pj=p, intreei released at ri | Cmax
• P | pj=p, outtreei released at ri | Cmax
• P2 | pj=p, preci released at ri | Cmax
45
Problems
• P | pj=1, intreei released at ri | Cmax
• P | pj=p, intreei released at ri | Cmax
• P | pj=p, outtreei released at ri | Cmax
• P2 | pj=p, preci released at ri | Cmax
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|pj=1, intree|cmax
• 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 0
21 3
4 5
6
12
34
5 6
48
An Example of On-line Hu’s Algorithm (Algorithm B)
• A new set of jobs released at time 1.
3
4 5
6
12
7 8
9 10
11
New Release:
Jobs has been scheduled:
49
An Example
• Final Schedule3
4 5
612
7 8
9 10
1137
84
59
106
11
50
Result 1
• For p | intree,pj=1,online | cmax problem, let S be the cmax produced by the on-line version of Hu’s algorithm, and S* be the cmax of the optimal schedule, then S/S*≤ 1.5
51
Problems
• P | pj=1, intreei released at ri | Cmax
• P | pj=p, intreei released at ri | Cmax
• P | pj=p, outtreei released at ri | Cmax
• P2 | pj=p, preci released at ri | Cmax
52
Meta-Algorithm Delay-X (from pj=1 to pj=p)
• Suppose X is an algorithm which solves online problem for pj=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 α|pj=1,online|cmax problem, then,– For the problemα|pj=p,online|cmax, let s be the cmax
produced by Delay-X and s* be the cmax of the optimal schedule, then s≤λs*+ λ p
54
Result 3• P| pj=p, intreei released at ri | cmax
– Let S be the cmax produced by Delay-Hu’s algorithm and S* be the cmax of optimal schedule, then S≤1.5(S*+p). The asymptotic competitive ratio is 1.5 since S*>>p.
• P| pj=p, outtreei released at ri | cmax
– Let S be the cmax produced by Delay-Hu’s algorithm and S* be the cmax of optimal schedule, then S ≤(S*+p). The asymptotic competitive ratio is 1 since S*>>p.
• P2| pj=p, preci released at ri | cmax
– Let S be the cmax produced by Delay-Coffman-Graham algorithm and S* be the cmax 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 | pj=1, intreei released at ri | cmax problem:
– Better approximation algorithms? Tight Competitive Ratio?
• For p | pj=p, preci released at ri | cmax
– Asymptotic competitive ratio? (>2-2/m [Lam and Sethi] )
• For p | pmtn, intreei released at ri | cmax 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. 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
Thank you!
59
Makespan
• Total completion time: Ci= C1+ C2+…+Cn
• Makespan = (Ci - ri) /n– Ci is the completion time of job i;
– ri 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 r1 r2 r3
Ji1,Ji1+1, … Ji2,Ji2+1, … Ji3,Ji3+1, …
63
Complexity results for scheduling problems
• by Brucker and Knust: http://www.mathematik.uni-osnabrueck.de/research/OR/class/