ppt - Universität Potsdam

HASSO-PLATTNER-INSTITUT
für Softwaresystemtechnik GmbH an der Universität Potsdam
Multiprocessor Scheduling
“Global Multiprocessor Scheduling of
Aperiodic Tasks using TimeIndependent Priorities”
Alexander Küchler
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Agenda
 Definitions
 Previous work
 Problems, assumptions and goals
 Results
 ‘Calculating’ Uthreshold
 Strategy for using the bound
 References
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
2
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Definitions I
 Global/dynamic scheduling = a process can be
migrate from one processor to another at runtime (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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
3
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
4
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Definitions III
 V(t) is a task set with Ai≤t<Ai+Di
 Synthetic utilization is US  t  
Alexander Küchler
715659
U
Ti V  t 
i
/m
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
5
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
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 (Ci0 and Ci/Di0) on
multiprocessor machines
1

1
1 

2


 (3) shows avoidance of Dhall’s effect for periodic
tasks
 by dividing tasks into two categories (UiUthreshold(m) =
heavy; Ui Uthreshold (m) = light)
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
6
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Previous work I – Dhall’s effect
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
7
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
8
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
9
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Results I
 Optimal utilization is a function of the number of
processors m:
3m  2  7m2  8m  2
U threshold  m   m 
with
 m  1
U threshold  m   3  7  35.425%
for m  1
2
for m  
 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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
10
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
11
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘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 …
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
12
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
13
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘Calculating’ Uthreshold II (Lemma 1)
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
14
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
15
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘Calculating’ Uthreshold II (Theorem 1)
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
16
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘Calculating’ Uthreshold II (Theorem 1)
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
17
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘Calculating’ Uthreshold II (Theorem 1)
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
18
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
19
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
‘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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
20
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Strategy for using the bound I
 Accept incoming tasks when current
US  t   Uthreshold  35, 425%
An accepted task Ti is light if U i  U threshold
 Use m: accept incoming tasks when current
US  t   Uthreshold  m
An accepted task Ti is light if Ui  Uthreshold  m 
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
21
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Strategy for using the bound II
 Keep track of U max  max Ui  among current tasks:
accept incoming tasks if US  t   um U max 


for liquid tasks: accept for US  t   1/ 1  1/ 2 [2]
 In admission test: for very hard tasks with
2 Uthreshold  m increase US(t) with Uthreshold  m / m
only in the interval Ai≤t≤Ai+Di, so you reduce
synthetic utilization and can accept more tasks
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
22
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
References
(1)
“Schedulability Analysis and Utilization Bounds for Highly Scalable RealTime 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
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
23
H
A
S
S
O
P
L
A
T
T
N
E
R
I
N
S
T
I
T
U
T
f
ü
r
S
o
f
t
w
a
r
e
s
y
s
t
e
m
t
e
c
h
n
k
i
G
m
b
H
a
n
d
e
r
U
n
v
i
e
r
s
t
i
ä
tP
o
t
s
d
a
m
Questions?
Thank you very much for your attention.
Any questions left?
Ask me!
Alexander Küchler
715659
Multiprocessor Scheduling
Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
24