hasso-plattner-institut für softwaresystemtechnik gmbh an der universität potsdam multiprocessor...
Post on 19-Dec-2015
225 views
TRANSCRIPT
HASSO-PLATTNER-INSTITUTfür Softwaresystemtechnik GmbH an der Universität Potsdam
Multiprocessor Scheduling
“Global Multiprocessor Scheduling of Aperiodic Tasks using Time-
Independent Priorities”
Alexander Küchler
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
2
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Agenda
Definitions
Previous work
Problems, assumptions and goals
Results
‘Calculating’ Uthreshold
Strategy for using the bound
References
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
3
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Definitions I
Global/dynamic scheduling = a process can be migrate from one processor to another at run-time (assumption: no penalty for migration)
Aperiodic tasks = subgroup of periodic tasks, where no statements for arrival can be made
Time-independent priorities = assigned priority does not depend of its absolute arrival time
Preemptive scheduling = a task can be interrupted and continued later
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
4
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Definitions II Multiprocessor with m processors and a set of n
independent tasks Each task Tn has
an arrival time An a worst-case execution time Cn
a deadline Dn, a synthetic utilization Un=Cn/Dn
a priority Pn
Total utilization U is the sum of all Un of tasks that
have arrived but not yet reached their deadline
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
5
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Definitions III
V(t) is a task set with Ai≤t<Ai+Di
Synthetic utilization is
/i
iT V t
US t U m
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
6
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Previous work I
(1) shows categorization of time-independent and non-time-independent scheduling policies for aperiodic tasks
(2) shows optimal utilization bound of
for liquid tasks (Ci0 and Ci/Di0) on
multiprocessor machines
(3) shows avoidance of Dhall’s effect for periodic tasks
by dividing tasks into two categories (UiUthreshold(m) = heavy; Ui Uthreshold (m) = light)
1
11
2
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
7
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Previous work I – Dhall’s effect
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
8
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Previous work II
(4) shows similar problem for periodic tasks with a result of ln(1+y)=(1-y)/(1+y) which is approx. 37,482% for m
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
9
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Problems, assumptions and goals
Problems: Dhall’s effect shows that deadline monotonic priority
assignment may lead to missed deadlines even if U is very low
Assumptions: Preemptive scheduling is possible Time-independent priorities for each task (depending
on C and D, not A!)
Goals: All tasks in the task set meet their deadlines
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
10
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Results I
Optimal utilization is a function of the number of processors m:
with
Uthreshold has two meanings: threshold for synthetic utilization in the admission
control of incoming tasks: accept or reject threshold for categorization of light and heavy tasks
2
2
3 2 7 8 2 for 1
1threshold
m m mU m m m
m
3 7 35.425% for thresholdU m m
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
11
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Results II
Uthreshold is an always valid bound (but not always
optimal for all multiprocessors)
Generalize previous single-processor results [1] to multiprocessors
Extend previous multiprocessor results by considering not only liquid tasks [2] which are a special case of the generalized formulas
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
12
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold I
The idea behind the calculation is that one: compute US(t) for a worst-case critically schedulable
task pattern this depends on the number of processors and is a
function of x=Un=Cn/Dn
The calculation based upon one lemma and two theorem’s …
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
13
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold II
Lemma 1: A task Tx and a task pattern where each Ti that has higher priority than Tx has Ai≥Ax can be modified to a task pattern with same US(t) and block interference on Tx
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
14
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold II (Lemma 1)
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
15
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold II (Theorem 1)
Theorem 1: There is a worst-case critically schedulable task pattern, such that no task Ti in this task pattern has an arrival time Ai<An: that means that we can disregard all tasks with an early arrival, because they do not influence the block interference
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
16
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold II (Theorem 1)
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
17
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold II (Theorem 1)
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
18
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold II (Theorem 1)
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
19
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold II (Theorem 2)
Theorem 2: Create m copies of each task disregarding Tn, the load on each processor is identical reduce of the problem to a single-processor case
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
20
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
‘Calculating’ Uthreshold III
Important: by splitting each task into m new tasks block interference from high priority tasks occurs
[1] shows the worst-case how to handle the problem An quadratic equation will be solved to get an optimal
utilization bound for the single-processor case from [1] Regard for the problem of heavy tasks: m heavy tasks
with large D may lead to missed deadlines priority assignment strategy to avoid Dhall’s effect:
1. consider high utilization 2. consider short deadline
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
21
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Strategy for using the bound I
Accept incoming tasks when current
An accepted task Ti is light if
Use m: accept incoming tasks when current
An accepted task Ti is light if
35,425%thresholdUS t U
i thresholdU U
thresholdUS t U m
i thresholdU U m
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
22
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Strategy for using the bound II
Keep track of among current tasks: accept incoming tasks if for liquid tasks: accept for [2]
In admission test: for very hard tasks with
increase US(t) with
only in the interval Ai≤t≤Ai+Di, so you reduce
synthetic utilization and can accept more tasks
max max iU U maxmUS t u U
1/ 1 1/ 2US t
2 thresholdU m /thresholdU m m
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
23
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
References(1) “Schedulability Analysis and Utilization Bounds for Highly Scalable Real-
Time Services”; Abdelzaher/Lu
(2) “The Aperiodic Multiprocessor Utilization Bounds for Liquid Tasks”; Abdelzaher et.al
(3) “Static-priority scheduling on multiprocessors”; Andersson/Baruah/Jonsson
(4) “Analyzing Fixed-Priority Multiprocessor Scheduling”; Lundberg
Multiprocessor SchedulingProf. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
24
H ASSO -PLATTN ER -IN STITU Tfür Softwaresystem technik G m bH an der Universität Potsdam
Alexander Küchler715659
Questions?
Thank you very much for your attention.
Any questions left?
Ask me!