Fixed-Priority Multiprocessor Scheduling with Liu & Laylands - - PowerPoint PPT Presentation

fixed priority multiprocessor scheduling with liu layland
SMART_READER_LITE
LIVE PREVIEW

Fixed-Priority Multiprocessor Scheduling with Liu & Laylands - - PowerPoint PPT Presentation

Fixed-Priority Multiprocessor Scheduling with Liu & Laylands Utilization Bound Nan Guan , Martin Stigge, Wang Yi Uppsala University, Sweden Outline Problem Previous Results Our New Result Scheduling of Multi-task System


slide-1
SLIDE 1

Fixed-Priority Multiprocessor Scheduling with Liu & Layland’s Utilization Bound

Nan Guan, Martin Stigge, Wang Yi

Uppsala University, Sweden

slide-2
SLIDE 2

Outline

Problem Previous Results Our New Result

slide-3
SLIDE 3

Scheduling of Multi-task System

multi-rate real-time task system each task

ri

1

ri

2

ri

3

ri

4

Ti Ti Ji

1

Ji

2

Ji

3

Ti Ci Ci Ci

Utilization:

slide-4
SLIDE 4

Liu and Layland’s Utilization Bound

Liu and Layland’s utilization bound for single-processor scheduling [ Liu1973]

(the 19th most cited paper in computer science)

  • : the number of tasks,
  • ptimal
slide-5
SLIDE 5

Multiprocessor Scheduling

Significantly more difficult

  • Bin-packing problem
  • Hard to identify the worst-case scenario
  • Suffer from timing anomalies
  • May lead to arbitrarily low utilization
slide-6
SLIDE 6

Open Problem

find a multiprocessor scheduling algorithm that can achieve Liu and Layland’s utilization bound

number of processors

?

slide-7
SLIDE 7

Multiprocessor Scheduling

5 2 1 6 8 4 new task waiting queue

cpu 1 cpu 2 cpu 3 Global Scheduling cpu 1 cpu 2 cpu 3 5 1 2 8 6 3 9 7 4 cpu 1 cpu 2 cpu 3 2 5 2 1 2 2 3 6 7 4 2 3 Partitioned Scheduling Partitioned Scheduling w ith Task Splitting

slide-8
SLIDE 8

Best Known Results

slide-9
SLIDE 9

Best Known Results

Lehoczky et al. CMU ECRTS 2009

slide-10
SLIDE 10

Best Known Results

Our New Result

slide-11
SLIDE 11

Lehoczky’s Algorithm [ ECRTS’09]

sort all tasks in decreasing order of utilization

3 4 2 5 1 6 8 7

highest utilization lowest utilization

slide-12
SLIDE 12

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 3 4 2 5 1 6 8 7

highest utilization lowest utilization

slide-13
SLIDE 13

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 3 4 2 5 1 6 7

highest utilization lowest utilization

slide-14
SLIDE 14

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 3 4 2 5 1 6 7

highest utilization lowest utilization

slide-15
SLIDE 15

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 3 4 2 5 1 6 2 7 6 1

highest utilization lowest utilization

slide-16
SLIDE 16

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 3 4 2 5 1 6 2 7 6 1 P2

highest utilization lowest utilization

slide-17
SLIDE 17

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 3 4 2 5 1 7 6 1 P2 6 2

highest utilization lowest utilization

slide-18
SLIDE 18

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 3 4 2 1 7 6 1 P2 5 6 2

highest utilization lowest utilization

slide-19
SLIDE 19

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 3 2 1 7 6 1 P2 5 6 2 4

highest utilization lowest utilization

slide-20
SLIDE 20

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 2 1 7 6 1 P2 5 6 2 4 3

highest utilization lowest utilization

slide-21
SLIDE 21

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 1 7 6 1 P2 5 6 2 4 3 2 1 2 2

highest utilization lowest utilization

slide-22
SLIDE 22

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 7 6 1 P2 5 6 2 4 3 2 1 P3 2 2 1

highest utilization lowest utilization

slide-23
SLIDE 23

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 7 6 1 P2 5 6 2 4 3 2 1 P3 1 2 2

highest utilization lowest utilization

slide-24
SLIDE 24

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 7 6 1 P2 5 6 2 4 3 2 1 P3 1 2 2 key feature: depth-first partitioning with decreasing utilization order

highest utilization lowest utilization

slide-25
SLIDE 25

Lehoczky’s Algorithm [ ECRTS’09]

pick up one processor, and assign as many tasks as possible

P1 8 7 6 1 P2 5 6 2 4 3 2 1 P3 1 2 2 Utilization Bound: 6 5 %

highest utilization lowest utilization

slide-26
SLIDE 26

Our Algorithm

width-first partitioning with increasing priority order

slide-27
SLIDE 27

Our Algorithm

sort all tasks in increasing priority order

7 6 5 4 3 2 1 highest priority lowest priority

slide-28
SLIDE 28

Our Algorithm

select the processor on which the assigned utilization is the lowest

7 6 5 4 3 2 1 P1 P2 P3 highest priority lowest priority

slide-29
SLIDE 29

Our Algorithm

select the processor on which the assigned utilization is the lowest

6 5 4 3 2 1 P1 P2 P3 7 highest priority lowest priority

slide-30
SLIDE 30

Our Algorithm

select the processor on which the assigned utilization is the lowest

5 4 3 2 1 P1 P2 P3 7 6 highest priority lowest priority

slide-31
SLIDE 31

Our Algorithm

select the processor on which the assigned utilization is the lowest

4 3 2 1 P1 P2 P3 7 6 5 highest priority lowest priority

slide-32
SLIDE 32

Our Algorithm

select the processor on which the assigned utilization is the lowest

3 2 1 P1 P2 P3 7 6 5 4 highest priority lowest priority

slide-33
SLIDE 33

Our Algorithm

select the processor on which the assigned utilization is the lowest

2 1 P1 P2 P3 7 6 5 4 3 highest priority lowest priority

slide-34
SLIDE 34

Our Algorithm

select the processor on which the assigned utilization is the lowest

1 P1 P2 P3 7 6 5 4 3 2 1 2 2 highest priority lowest priority

slide-35
SLIDE 35

Our Algorithm

select the processor on which the assigned utilization is the lowest

1 P1 P2 P3 7 6 5 4 3 2 1 2 2 highest priority lowest priority

slide-36
SLIDE 36

Our Algorithm

select the processor on which the assigned utilization is the lowest

P1 P2 P3 7 6 5 4 3 2 1 1 2 1 1 2 2 highest priority lowest priority

slide-37
SLIDE 37

Our Algorithm

select the processor on which the assigned utilization is the lowest

P1 P2 P3 7 6 5 4 3 2 1 1 2 1 1 2 2 highest priority lowest priority

slide-38
SLIDE 38

Our Algorithm

select the processor on which the assigned utilization is the lowest

P1 P2 P3 7 6 5 4 3 2 1 1 2 1 1 2 2 highest priority lowest priority key feature: w idth-first partitioning w ith increasing prio order

slide-39
SLIDE 39

Comparison

maximal number of task splitting both are M-1

P1 8 7 6 1 P2 5 6 2 4 3 1 P3 1 2 3 2 P1 P2 3 P3 1 1 8 4 2 7 6 5 1 2

Ours: width-first Lehoczky’s: depth-first

(decreasing utilization order) (increasing priority order)

slide-40
SLIDE 40

Comparison

Ours: width-first Lehoczky’s: depth-first

why is our algorithm better?

P1 8 7 6 1 P2 5 6 2 4 3 1 P3 1 2 3 2 P1 P2 3 P3 1 1 8 4 2 7 6 5 1 2

(increasing priority order) (decreasing utilization order)

slide-41
SLIDE 41

Comparison

P1 8 7 6 1 P2 5 6 2 4 3 1 P3 1 2 3 2 P1 P2 3 P3 8 4 2 7 6 5 1 1 1 2 key point: by our algorithm , split tasks generally have high priorities on each processor

Ours: width-first Lehoczky’s: depth-first (increasing priority order)

(decreasing utilization order)

slide-42
SLIDE 42

Split Task

d

r d r P1 P2 P3 subtasks should be executed in the correct order

slide-43
SLIDE 43

Split Task

synthetic utilization:

  • riginal utilization:

split tasks cause “utilization increase”

slide-44
SLIDE 44

Our Algorithm

intuition

  • high priority tasks have better chance to meet

their deadlines P1 P2

… …

slide-45
SLIDE 45

Our Algorithm

intuition

  • an extreme scenario:

each subtask has the highest priority on each processor can meet their deadlines anyway no “utilization increase”

P1 P2

… …

slide-46
SLIDE 46

Theorem

for a task set in with each task satisfies

reasonable constraint in real-life systems

we have

slide-47
SLIDE 47

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8

slide-48
SLIDE 48

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8

slide-49
SLIDE 49

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8

slide-50
SLIDE 50

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8

slide-51
SLIDE 51

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2

slide-52
SLIDE 52

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2

slide-53
SLIDE 53

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2

slide-54
SLIDE 54

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2

slide-55
SLIDE 55

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2

slide-56
SLIDE 56

Our Algorithm

problem of heavy tasks

P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2

slide-57
SLIDE 57

The idea w orks for all tasks!

To get rid of the constraint

  • pre-assign tasks with high utilization
slide-58
SLIDE 58

The idea w orks for all tasks!

5 4 3 2 1 P1 P2 P3 highest priority lowest priority

slide-59
SLIDE 59

The idea w orks for all tasks!

P1 P2 P3 highest priority lowest priority 4 pre-assign the heavy task 5 3 2 1

slide-60
SLIDE 60

The idea w orks for all tasks!

P1 P2 P3 highest priority lowest priority 3 2 5 1 1 1 2 4

slide-61
SLIDE 61

Theorem

By introducing the pre-assignment to the algorithm, we have

slide-62
SLIDE 62

Conclusion

Proposed multiprocessor scheduling algorithms with Liu and Layland’s utilization bound

works on “light” task sets with a simple width-first algorithm works on any task set with a hybrid algorithm

pre-assigning

slide-63
SLIDE 63

Conclusion

slide-64
SLIDE 64

THANKS! THANKS!

slide-65
SLIDE 65
  • [ Liu1 9 7 3 ] C.L. Liu and James Layland, Scheduling Algorithms for

Multiprogramming in a Hard-Real-Time Environment

  • [ Andersson0 3 ECRTS] Bjorn Andersson, Jan Jonsson: The Utilization Bounds of

partitioned and Pfair Static-Priority Scheduling on multiprocessors are 50% . ECRTS 2003: 33-40

  • [ Andersson0 8 OPODI S] Bjorn Andersson: Global Static-Priority Preemptive

Multiprocessor Scheduling with Utilization Bound 38% . OPODIS 2008: 73-88

  • [ Andersson0 6 RTCSA] Bjorn Andersson, Eduardo Tovar: Multiprocessor

Scheduling with Few preemption. RTCSA 2006: 322-334

  • [ Andersson0 1 RTSS] Bjorn Andersson, Sanjoy K. Baruah, Jan Jonsson: Static-

Priority Scheduling on multiprocessors. RTSS 2001: 193-202

  • [ Baker0 5 TPDS] Theodore P. Baker: An Analysis of EDF Schedulability on a
  • Multiprocessor. IEEE Trans. Parallel Distrib. Syst. 16(8): 760-768 (2005)
  • [ Lakshm anan0 9 ECRTS] Karthik Lakshmanan, Ragunathan Rajkumar, John

Lehoczky Partitioned Fixed-Priority Preemptive Scheduling for Multi-core

  • Processors. ECRTS 20006
  • [ Lopez0 4 RTSS] J. M. Lopez, J. L. Diaz, and D. F. Garcia, ”Utilization Bounds for

EDF Scheduling on Real-Time Multiprocessor Systems”, RTSS 2004.

  • [ Oh9 8 ] D. Oh and T. P. Baker. Utilization bounds for n-processor Rate Monotone

scheduling with static processor assignment. In Real-Time Systems, 1998.