Fixed-Priority Multiprocessor Scheduling with Liu & Layland’s Utilization Bound
Nan Guan, Martin Stigge, Wang Yi
Uppsala University, Sweden
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
Nan Guan, Martin Stigge, Wang Yi
Uppsala University, Sweden
ri
1
ri
2
ri
3
ri
4
Ti Ti Ji
1
Ji
2
Ji
3
Ti Ci Ci Ci
Utilization:
(the 19th most cited paper in computer science)
number of processors
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
Lehoczky et al. CMU ECRTS 2009
Our New Result
3 4 2 5 1 6 8 7
highest utilization lowest utilization
P1 3 4 2 5 1 6 8 7
highest utilization lowest utilization
P1 8 3 4 2 5 1 6 7
highest utilization lowest utilization
P1 8 3 4 2 5 1 6 7
highest utilization lowest utilization
P1 8 3 4 2 5 1 6 2 7 6 1
highest utilization lowest utilization
P1 8 3 4 2 5 1 6 2 7 6 1 P2
highest utilization lowest utilization
P1 8 3 4 2 5 1 7 6 1 P2 6 2
highest utilization lowest utilization
P1 8 3 4 2 1 7 6 1 P2 5 6 2
highest utilization lowest utilization
P1 8 3 2 1 7 6 1 P2 5 6 2 4
highest utilization lowest utilization
P1 8 2 1 7 6 1 P2 5 6 2 4 3
highest utilization lowest utilization
P1 8 1 7 6 1 P2 5 6 2 4 3 2 1 2 2
highest utilization lowest utilization
P1 8 7 6 1 P2 5 6 2 4 3 2 1 P3 2 2 1
highest utilization lowest utilization
P1 8 7 6 1 P2 5 6 2 4 3 2 1 P3 1 2 2
highest utilization lowest utilization
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
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
7 6 5 4 3 2 1 highest priority lowest priority
7 6 5 4 3 2 1 P1 P2 P3 highest priority lowest priority
6 5 4 3 2 1 P1 P2 P3 7 highest priority lowest priority
5 4 3 2 1 P1 P2 P3 7 6 highest priority lowest priority
4 3 2 1 P1 P2 P3 7 6 5 highest priority lowest priority
3 2 1 P1 P2 P3 7 6 5 4 highest priority lowest priority
2 1 P1 P2 P3 7 6 5 4 3 highest priority lowest priority
1 P1 P2 P3 7 6 5 4 3 2 1 2 2 highest priority lowest priority
1 P1 P2 P3 7 6 5 4 3 2 1 2 2 highest priority lowest priority
P1 P2 P3 7 6 5 4 3 2 1 1 2 1 1 2 2 highest priority lowest priority
P1 P2 P3 7 6 5 4 3 2 1 1 2 1 1 2 2 highest priority lowest priority
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
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
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
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
r d r P1 P2 P3 subtasks should be executed in the correct order
synthetic utilization:
their deadlines P1 P2
each subtask has the highest priority on each processor can meet their deadlines anyway no “utilization increase”
P1 P2
reasonable constraint in real-life systems
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 8
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2
P1 P2 P3 highest priority lowest priority 4 3 2 1 7 6 5 1 8 5 2
5 4 3 2 1 P1 P2 P3 highest priority lowest priority
P1 P2 P3 highest priority lowest priority 4 pre-assign the heavy task 5 3 2 1
P1 P2 P3 highest priority lowest priority 3 2 5 1 1 1 2 4
By introducing the pre-assignment to the algorithm, we have
works on “light” task sets with a simple width-first algorithm works on any task set with a hybrid algorithm
pre-assigning
Multiprogramming in a Hard-Real-Time Environment
partitioned and Pfair Static-Priority Scheduling on multiprocessors are 50% . ECRTS 2003: 33-40
Multiprocessor Scheduling with Utilization Bound 38% . OPODIS 2008: 73-88
Scheduling with Few preemption. RTCSA 2006: 322-334
Priority Scheduling on multiprocessors. RTSS 2001: 193-202
Lehoczky Partitioned Fixed-Priority Preemptive Scheduling for Multi-core
EDF Scheduling on Real-Time Multiprocessor Systems”, RTSS 2004.
scheduling with static processor assignment. In Real-Time Systems, 1998.