online scheduling of precedence constrained tasks yumei huo yh23 yh23@njit.edu department of...

Post on 22-Dec-2015

223 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Online Scheduling of Precedence Constrained Tasks

Yumei Huohttp://web.njit.edu/~yh23

yh23@njit.edu

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|pj=1, prec|Cmax and P2|pj=1, prec| Ci )

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

1 2

3

4 5

76

8 9

(9) (8)

(7)

(6)(5)

(4)(3)

(1) (2)

8462

9753176543210

(1) (2,1)

7

Hu’s algorithm(P|pj=1, intree|Cmax and P|pj=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 pi. 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 Cmax, 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|pj=1, intree|Cmax and P|pj=1, outtree|Cmax --- Hu’s a

lgorithm

• P2|pj=1, prec|Cmax and P2|pj=1, prec| Ci --- 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|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)

16

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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 possi

bly 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

17

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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 possi

bly 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

18

P2|pj=p, chainsi are released at ri|Cmax (Counte

rexample)

M=2pj=2

654

1110987321

2 4 6 8 10 12 14 16 18 20 22 240

S1

S26 21 23 250 195

S254

21

63

1110987

2 4 7 9 11 13 15 176 21 23 250 195

654

321

2 4 6 8 10 12 14 16 18 20 22 240

S1

4

5

6

1

2

3

4

5

6

4

5

6

1

2

3

1

2

3

Chains released at r1=0 Chains released at r2=5

7

8

9

10

11

7

8

9

10

11

19

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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 possi

bly 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

20

P|pj=1, intreei is released at ri|Cmax

(Counterexample)4 5 6

7 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

2321191715131074

1 2 3 4 5 6 7 8 9 10 11 120

22192017151296

323129271816141185

23213028262524131074

1 2 3 4 5 6 7 8 9 10 11 120

312129192712171513

32302826162411975

23222018251410864

1 2 3 4 5 6 7 8 9 10 11 120

S2

21

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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 possi

bly 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

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;

}

23

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

24

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 re

leased at ri| Cj)

25

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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 possi

bly 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

26

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;

}

27

Example

28

Example

29

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)

30

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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 possi

bly 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, pmtn, intreei is released at ri|Cmax

(Counterexample)4 5 6

7 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

2321191715131074

1 2 3 4 5 6 7 8 9 10 11 120

12171513

211911975

23222018161410864

1 2 3 4 5 6 7 8 9 10 11 120

S2

22192017151296

323129271816141185

23213028262524131074

1 2 3 4 5 6 7 8 9 10 11 120

312129192712171513

32302826162411975

23222018251410864

1 2 3 4 5 6 7 8 9 10 11 120

32

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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

33

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;

}

34

Example

35

Example

36

Our result

Theorem 2.2.4 Algorithm C is an optimal online algorithm for P2| pmtn,preci is releas

ed at ri|Cmax.

37

Our results• Nonpreemptive scheduling problems:

– P2|pj=p, chainsi are released at ri|Cmax-----no optimal algorithm can po

ssibly exist

– P|pj=1, intreei is released at ri|Cmax-----no optimal algorithm can possi

bly 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 possi

bly 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

38

P|pmtn, outtreei is released at ri|Cmax

Theorem 2.2.6 Algorithm C is an optimal online algorithm for P|pmtn, outtreei is relea

sed at ri|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 )

top related