Instructor Slides

advertisement
ECE 720T5 Fall 2011
Cyber-Physical Systems
Rodolfo Pellizzoni
Topic Today: End-To-End Analysis
• HW platform comprises multiple resources
– Processing Elements
– Communication Links
• SW model consists of multiple independent flows or
transactions
– Each flow traverses a fixed sequence of resources
– Task = flow execution on one resource
– We are interested in computing its end-to-end delay
f1
R1
R2
R3
R4
2 / 47
Analyses: Model
Analysis
Task Model
Resource
Model
Network
Calculus /
Real-Time
Calculus
General arrival General service Any; works
model
model
better for
independent
policies
No assumption
Holistic
Analysis
Periodic /
Sporadic
Transactions
Fixed times
per-task
Independent
(TDMA), FP,
EDF
Any deadline
Delay Analysis
Aperiodic (can Fixed times
be extended to per-task
periodic but it
works worse)
Independent,
FP
Any; for
periodic, works
better for D <=
period
Flow-based
latency
analysis
Periodic /
Sporadic
Transactions
FP
<= period
(could be
extended)
Fixed pertransaction
time; unidirectional
Arbitration
Deadlines
3 / 47
Pipeline Delay
• f1 and f2 share more than one contiguous resources.
• Can the analysis take advantage of this information?
– If f2 “gets ahead” of f1 on R2, it is likely to cause less
interference on R3.
f1
R1
R2
f2
R3
R4
4 / 47
Transitive Delay
• f2 and f3 both interfere with f1, but only one at a time.
• Can the analysis take advantage of this information?
f1
R1
f2
R2
R3
R4
f3
5 / 47
Analyses: Model
Analysis
Interference
increases with #
resources?
Network Calculus / Superlinear (down
Real-Time Calculus to almost constant
in some cases)
Pipeline Delay
Considered?
Transitive Delay
Considered?
No
Yes
Holistic Analysis
Generally linear in # No (partial if flow
different resources
revisits resource)
Yes
Delay Analysis
Almost constant
No (partial
extension)
Flow-based latency Almost constant
analysis
Yes
Yes (Partial for Link- No (Yes for LinkLevel Analysis)
Level Analysis)
6 / 47
Holistic Analysis
7
Transaction Model (Tasks with Offsets)
• Fast and Tight Response-Times for Tasks with Offsets
• Schedulability Analysis for Tasks with Static and Dynamic
Offsets.
• Improved Schedulability Analysis of Real-Time
Transactions with Earliest Deadline Scheduling
Ci 1
Ti
Ci 2
Ji 1
Ci 3
Ji 2
ai ai 1
Ji 3
ai 2
φi 1
ai 3
di 1
Di1
φi 2
System model and notation
di 2
Di2
φi 3
di 3
Di3 = Di
Ti
Figure 1. Transaction model
8 / 47
ing these deadlines can be proven to be NP-Hard usi
Holistic Analysis
1.
2.
3.
4.
Start with offsets = cumulative computation times.
Compute worst-case response times.
Update release jitter.
Go back to step 2 until convergence to fixed-point (or endto-end response time > deadline).
Ri 1
Ri 2
Ri 3
a) WC
ai = ai 1
ai 2
ai 3
φi 2 = Ci 1 J i 2 = R i 1 − φi 2
φi 3 = Ci 1 + Ci 2
J i 3 = R i 2 − φi 3
b) CD
ai = ai 1
ai 2
φi 2 = R i 1
ai 3
9 / 47
Can you model Wormhole Routing?
• Sure you can!
• For a flow with K flits, simply assume there are K transactions
– Assign artificially decreasing priorities to the K transactions
to best model the precedence constraint among flits.
• The problem is that response time analysis for transaction
models do not take into account relations among different
resources – can not take advantage of pipeline delay.
10 / 47
Response Time Analysis
• Let’s focus on a single resource – note a flow might visit a
resource multiple times.
• The worst-case is produced when a task for each interfering
transaction is released at the critical instant after suffering worstcase jitter.
– Tasks activated before the critical instant are delayed (by jitter)
until the critical instant if feasible
– Tasks activated after the critical instant suffer no jitter
• EDF: the task under analysis has deadline = to the deadline of
any interfering task in the busy period
• RM: a task of the transaction under analysis is released at the
critical instant
– Same assumptions for all other tasks of the transactions
– In both cases, we need to try out all possibilities
11 / 47
Response Time Analysis
• Problem: the number of possible activation patterns is
exponential
– For each interfering transaction, we can pick any task
– Hence the number of combinations is exponential in the
number of transactions.
• Solution: compute a worst-case interference pattern over all
possible starting tasks for a given interfering transaction.
• For the transaction under analysis we still analyze all
possible patterns.
12 / 47
F i g. 6. A simple example t ransact io
Example
t ime. T his means t hat t he response t ime formulas, for t
t ask, present ed in appendix A, can be reduced and simp
Transaction
under
analysis:
R u a = Cu a +
Wi∗ (τ u a , R u a )
single task with
C=2
∀i = u
6
Wi1
4
2
Wi 2
T he response-t ime calculat ion is performed by mea
(st 4
art ing wit h R u a = 0) as follows:
6
2
t
01234567891
0
6
Wi1 & Wi 2
t
01234567891
0
6
4
4
2
2
t
Wi *
t
It er#
0
1
2
3
4
t W i 1 W i 2 W i∗ R u a
0
0 0 0 0 2
2 2 4 4 6
6 6 4 6 8
8 6 4 6 8
Where
column “It er#
0123456789
1
0 0123456789
1
0” denot es t he it erat ion number, “t”
47
and “Wi 1 ” denot es Wi c (τ u a , t) for t he two candidat13
e t/asks
∗
esions
t he value of W ∗ (τ , t), and “R ” t he c
F i g. 5. W (τ , t )“W
and W”∗ (τdenot
, t) funct
Tighter
Analysis
F i g. 8. Int erference imposed by our example t
T he slant ed st airs generat ed by equat ion 8 are shown
and figure 8(c) shows t hemKey
overlaid.
our new vers
idea:Using
use slanted
t ion 5 we get t he maximised
slant
ed st airs int erference
stairs
instead
t he approximat ion funct ion Wi∗ , shown in figure 8(d).
W
Wit
h t he new definit ion of int erference in equat ion 8
6
t ion 7 t o calculat e a new response-t ime R u a for our exam
Wi1
i2
6
(b)
(a)
t
t
0
0
0
1
2
0
Wi1 & Wi 2
1
2
Wi *
6
6
(d)
(c)
t
0
t
1
2
t W i 1 W i 2 W i∗ R u a
0
0 0 0 0 2
2 2 2 2 4
4 2 4 4 6
6 4 4 4 6
2
We not e t hat our new definit ion of I iSet
(t) makes t he a
j
c
0
1
2
14 origi
/ 47
empt y slot between t asks τ i 1 and τ i 2 , somet hing t he
Hence, t he calculat ed response-t ime (6) is lower t h
0
0
It er#
0
1
2
3
4
Removing Jitter
• Jitters introduce variability – increase w-case response time
• Alternative: time-trigger all tasks.
1. Start with offsets = cumulative computation times.
2. Compute worst-case response times.
Ri 1
3. Modify offsets.
Ri 2
R i 3 convergence or divergence
4. Go back to step 2 until
• However convergence is trickier now!
a) WCDO
ai = ai 1
ai 2
ai 3
φi 2 = Ci 1 J i 2 = Ri 1 − φi 2
φi 3 = Ci 1 + Ci 2
J i 3 = R i 2 − φi 3
b) CDO
ai = ai 1
ai 2
ai 3
φi 2 = R i 1
φi 3 = Ri 2
Figure 2. Setting offsets and jitters
15 / 47
Cyclic-Dynamic Offsets
• Response time can decrease as a result of modifying offsets.
– Always increasing as jitter increases
• We can prove that it is sufficient to check for limit cycles.
ives more pessimistic
ase times of the tasks
ct, the contrary is efithm provides tighter
n WCDO, as the fol-
R2
R2
R1
R7
R3
R8
ector R , f N T O (R ) ≤
R6
R5
T O (R ).
Furthermore,
r for each task τ i j as
4, 5 and 6 with reffset as computed by
en it suffices to prove
ab ≤ R ab.
y obtain φ i j = J i j +
assuming the same ac-
R4
R0
R1
Figure 3. A limit cycle
16 / 47
assume that the computation times for each task on ever
Delay
stage is one unit. Pipeline
The objective
is to estimate the end-to
end
and
schedulability
ofWith
T1 . Jitter…
• delay
T2 higher
priority.
All Ctime = 1.
T
2,1
1,1
T
T
2,3
2,2
O=0
R=2
J=0
T
T
T
O=1
R=4
J=1
T
1,3
1,2
2,4
O=2
R = 7!
J=2
O=3
R=9
J=4
T
T
1,7
S1
T
T
O=6
R = 15
J=7
1,6
S2
1,4
O=5
R = 13
J=6
1,5
S3
O=4
R = 11
J=5
S4
17 / 47
assume that the computation times for each task on ever
Delay
stage is one unit. Pipeline
The objective
is to estimate the end-to
end
and
schedulability
ofWith
T1 . Offsets…
• delay
T2 higher
priority.
All Ctime = 1.
T
T
T
2,1
O=2
R=4
O=0
R=2
T
2,4
O=4
R=6
T
T
1,1
T
2,3
2,2
O=6
R=8
1,3
1,2
T
T
1,7
S1
T
T
O = 12
R = 14
1,6
S2
1,4
O = 10
R = 12
1,5
S3
O=8
R = 10
S4
18 / 47
Delay Calculus
19
Delay Calculus
• End-To-End Delay Analysis of Distributed Systems with Cycles
in the Task Graph
• System Model:
– Aperiodic flows (each called a job)
– Each job has the same fixed priority on all resources (nodes)
– Arbitrary path through nodes (stages) – can include cycles
– Each stage can have a different computation time
• How to model worm-hole routing
– Use one job for each flit
20 / 47
Break the Cycles
• f1 lowest-priority flow under analysis
• f2 is broken into two non-cyclic folds:
(1, 2, 3) and (2, 3, 4)
• The two segments that overlaps with f1 are:
(1, 2, 3) and (2, 3)
• Solution: consider f1(1, 2, 3) and f1(2,3) as separate flows.
f2
R1
f1
R2
R3
R4
21 / 47
the
ere
be
job
by
ted
es1.
inob)
ing
ferdes
job
) at
deng,
be-
Figure 2 shows an example where the path of J 1 traverses five stages. Higher-priority job segments that share
parts of that path are indicated by arrows that extend across
the stages they execute on, pointing in the direction of the
flow of the segment. Cross-flow segments are indicated by
vertical arrows at the node they execute on.
Types of Interfering Flows
Figure 2. Three segment types
Consider the interval of time starting from the arrival
time of J 1 to the system, until the finish time of J 1 on its
last stage. The length of this interval is the end-to-end response time of J 1 , which we wish to bound. Let us now
22 / 47
stage. Remember that a busy execution trace, by definithree lemm
tion, cannot contain idle time, since it is composed of conof segmen
tiguous intervals of continuous processing, ending with the
flow segme
finish
time of trace:
J 1 on its
last stage.
the following,
weeach
shall stageWe
start w
• Earliest
earliest
job In
finishing
time on
such
bound
thethere
lengthisofnoa valid
busy at
trace,
that
idle time
thehence,
end. bounding the
end-to-end response-time of J 1 .
Lemma 1
most one s
est traversa
Proof. The
ments, by d
Execution Trace
Lemma 2:
most one s
est traversa
Proof. The
execute on
from J 1 . S
of J 1 , if J
23 / 47
stage j , the
Delay Bounds
• Each cross-flow segment and reserve-flow segment
contributes one stage computation time to the earliest trace
• What about forward flows?
one execution of the longest
job on each stage
f2 preempting lower-priority job
S1
f1
f2
f2
S2
S3
S4
f2 on the last stage
it delays f1
f1
f2
f1
f2
f1
24 / 47
(3)
2)
ing
policyjobs)
that assigns
sameletpriority
all stages
priority
on stagethe
j , and
N odej ,lacross
ow er m ax denote
fortheeach
job, and
a differenttime
priority
for
different
jobs,
maximum
computation
of
any
lower
priority
job
Delay
Bounds
the
end-to-end
delayofofJ 1a on
jobstage
J 1 following
path p1 can be
that
joins the path
j.
composed from the execution
parameters
of higher priority
2 max executions
for each
Theorem
2. For
a non-preemptive
scheduling policyMax
thatexec time
higher it
priority
segment
jobs
that delay
or preempt
as follows:
Preemptive
each stage
assigns theCase:
same priority across all stages for eachforjob,
and a different priority for different
x ,sjobs, the end-to-end
D elay(J 1 ) ≤
2Ci ,m ax +
N odej ,m ax
delay of a job J 1 following
path
p
can
be
composed
from
1
x ,s
x
x
i J i ∈ Q i J i ∈ Segi
j ∈ p1
the execution parameters of jobs that delay it as follows:
(5)
Non-Preemptive Case:
one
mpt
liest•
sal
and
gment
nit is,
rary
rtents
of •
,s
t are DProof.
erelay(JThe
Cix,m
+ Lemma
N ode1,j ,al2,l m ax
from
1 ) ≤theorem follows trivially
ax
eralill
i J isthe
j ∈ p 1cross-flow,
∈ Q i contributions
J ix , s ∈ Segix
and 3, by adding
of all
Jk .
sal
reverse-flow, and
forward-flow
segments to the trace.
+
N
ode
(6)
j ,l ow er m ax
ives
of
j ∈ p1
nder
ndNo preemption
Wemeans
shall now state the theorem …
under
non-preemptive
but we
have to pay one
ar-one maxscheduling,
execution
of blocking time
execution for but omit its proof. Let max
N ode
j ,al l m ax denote
higher priority segment…
3)
on each stage
18the maximum computation time of any job (not just higher
priority jobs) on stage j , and let N odej ,l ow er m ax denote
25 / 47
assume that the computation times for each task on ever
Pipeline
- Preemptive
stage is one
unit. TheDelay
objective
is to estimate the end-to
end
and
schedulability
ofTT
.
1
• delay
T2 higher
priority.
All Ctime = 1.
response
time = 9.
1
T
T
T
T
T
T
2,1
1,1
2,2
1,2
2,3
T
2,4
1,3
T
T
T
T
S1
S2
S3
1,7
1,6
1,4
1,5
S4
26 / 47
he
across all stages
madesame
of a setpriority
of folds, deThe Periodic Case
J ix ∈ Qi priority
gives rise tofor
one different jobs,
ferent
ively called set Segix . The
a delay
job
JNow
p1 can
be by periodic activations…
1 following
• bound
assume
jobs are
produced
on
J 1 in the path
tion• parameters
of cyclic
highersystem
priority
Trick: reduce
to an equivalent uniprocessor
ptwork-conserving
it assystem.
follows:
For preemptive case:
schedul-
e priority–across
all stages
Replace
each segment with
priority for different jobs,
x ,s
2C
+
N odej ,m ax
following
path
1
1 can
ip,m
ax be
arameters
of higher priority j ∈ p
J ix , s ∈ Segix
1
follows:
a periodic task with ctime =
– Replace the flow under (5)
analysis with a task with ctime =
,s
2Cix,m
ax +
egix
N odej ,m ax
j ∈ p1
lows trivially from
(5) Lemma 1, 2,
• Schedulability can then be checked with any uniprocessor
contributions
of
all
cross-flow,
test (utilization bound, response time analysis).
ivially
from
Lemma 1, to
2, the trace.
d-flow segments
butions of all cross-flow,
segments to the trace.
he theorem under non-preemptive
27 / 47
Transitive Delay
•
•
•
•
All Ctime = 1, non-preemptive.
Let’s assume T2 = T3 = 2, deadline = period.
Then U2 = ½, U3 = ½ and the system is not schedulable…
In reality the worst-case response time of f1 is 4.
f1
S1
f2
S2
f3
28 / 47
Other issues…
• What happens if deadline > period?
– Add an addition floor(deadline/period) instances of the
higher priority job.
– Self blocking: the flow under analysis can block itself.
Hence, consider its previous instances as another,
higher priority flow.
• What happens if a flow suffers jitter (i.e., indirect blocking)?
– Add an additional ceil(jitter/period) instances.
– Note: all reverse flows have this issue…
• Lots of added terms -> bad analysis for low number of
stages.
29 / 47
0
0
0.3
0
.8
0.2
0
.7
0.1
0
5
10
15
No. of Nodes in System
20
25
S
ta
g
e
U
tiliz
a
tio
n
Average Per Stage Utilization
consisting of 80000 task invocations. For the purpose of
doescontrollers,
it perform
well? Figure
comparing When
different admission
each admission
utiliza
controller was allowed to execute on the same 100 task
• Send
request
to a server,
getforanswer
eter va
sets.
The 95%
confidence
interval
all the back.
values pre• Same
path1%
forof
allthe
request/response
sented
is within
mean value, and pairs!
is not plotted
in Figure
for•theHundreds
sake of legibility.
of tasks.
implies th
0.8
Traditional test
lows lowe
Holistic
Analysis
0.7
Bound after cutting loops
the backg
New Bound
0.6
lines, incr
trend is ob
0.5
new boun
0.4
deadline r
0
.6
.5
30 / 470
0
.4
Network Calculus
31
sent
Aggregate Traffic
ges
phngth• Assumption: we do not know the arbitration employed by
min
, the router.
• Solution: consider each flow as the lowest-priority one.
apFigure 7: Two Flows Circular Example
the
can
two posted write flows f 1 , f 2 and three bus segments de0 0
picted
in
Figure
7,
where
we
assume
that
δ
1 , δ2 are known
rom
and ρ1 = ρ2 = ρ ≤ 0.5C. Using Corollary 9 would yield
wer
1 2 3 1 2 3
six
equations
for
burstiness
δ
1 , δ1 , δ1 , δ1 , δ1 , δ1 :
mum
δ11
δ12
δ13
δ22
ρ1 C − ρ2
δ21
ρ1 C − ρ2
1 δ22
ρ1 C − ρ2
δ21
δ22
δ23
δ12
ρ2 C − ρ1
δ11
ρ2 C − ρ1
ρ02 C −δ01ρ1
= δ2 Example
+
Figure =7: δTwo
1 + Flows Circular
(12)
10
= δ11 +
= δ21 +
wo posted write flows
f , f and three
bus segments de2
2
us= δ1 +
= δ2 +
picted
in
Figure
7,
where
we
assume
that δ1 , δ2 are known
elds
and
ρ2 that
= ρthere
≤ 0.5C.
Using Corollary 9 would yield
ot a ρ1 =Note
is a circular dependencies between δ12 , δ21
32 / 47
nto be used
with
Theorems
6the
and
10
δ11can
= 2δthereδ2 =
om
1 + ρ1 C − ρ2
tions
5,
8
are
linear
in
burstiness
terms.
We
form x and
= Ax
is a vector
unknown
ρ1 +
= b,
ρ2where
= ρ ≤x 0.5C.
UsingofCorollary
9burstiwould
δ2
3
2 the yield
3
wer
totherefore
foreask
use ourselves
them toNetwork
obtain
a linear
system
of
equations
of
whether
usδ
=
δ
+
ρ
δ
1 Solution
2 3 1 12 3 1
1
2 =
C
−
ρ
ness
values,
A
is
a
square
matrix
and
bis
a
vector
of
known
six
equations
for
burstiness
δ
,
δ
,
δ
,
δ
,
δ
,
δ
:
2
1 1 1 1 1 1
um
form x8 =
Ax
+ b, where
x is a vector
of unknown burstice Theorem
of
or
Theorem
12
yields
values.ness
Furthermore,
itsquare
can bematrix
shown
that
following
Equaj
2
2
values,
A
is
a
and
b
is
a
vector
of
known
wδ1there is a circular dep
urstiness
δboth
. InδAgeneral,
this
isδ2not
a δ1 = Hence,
1
Note
that
i
=
δ
+
ρ
δ
+
ρ
q
tions
5,
8
and
bare
non
negative.
if
all
1
1
2
2
1j
2
values. Furthermore,
it can
that following
EquaC − ρbe
C − ρ1eigenδl
2 shown
1
1
− 1 δ δ2 , δ1 , hence we can
he
service
rates
S
computed
by
Theδ
and
between
values
of
A
are
within
the
unit
circle,
(I
−
A)
is
also
2
1
2
1
2
1 eigeni = Aδand
2non
1 (12)
tions 5, 8 δboth
bare
non
negative.
Hence,
if
all
to
10
+
ρ
δ
=
δ
+
ρ
1
2
1
1
2
2
C − ρ2
C
−
ρ
1
−−11 this
mparable.
Obviously
if
ρ
is
smaller
To
solve
problem,
we follow
values
of
A
are
within
the
unit
circle,
(I
−
A)
is
also
non
i
δ
δ
nnegative
and
x
can
be
computed
as
x
=
(I
−
A)
b.
By
fol3
2
3
2
2
1
usδ1 = δ1 + ρ1 C − ρ2 δ2 = δ2 + ρ2−C1− ρ1
inlowing
ice
curve,
can
it. In the[2],
eated
in be
Proposition
negative
and
xnot
canuse
beprinciple
computed
as x it= can
(I −then
A)
b. proven
By fol- 2.4.1 in [2]
thewe
time
stopping
lds
tethat•both
lowing
the
time
stopping
principle
[2],at
ittions
can
proven
ply
service
curves,
have
to dependencies
indeed
provides
aiswe
valid
upper
bound
forthen
burstiness.
1the bursti
5,
8be
are
the
burstiness
values
stages
1,
2 linear
are δ2in
ot
a xProblem:
Note
that
there
a
circular
between
,
δ
1
2
q
er Following
that x indeed
provides
a technique,
valid upper
bound
for
burstiness.
2
1
interdependent.
the
above
we
can
compute
all
burstiness
values
δ
required
to
fore
use
them
todirectly.
obtain a linear s
heand
between
δ
,
δ
,
hence
we
cannot
compute
them
l
2
1
te 1 2 1Following
the following
above technique,
we can compute
2
δ
,
δ
,
δ
,
δ
using
the
system:
ler
a both
system
of follow
equations
problem,
we
the methodology
delin1 • we
1Solution:
1
2this
form
x
=
Ax
+
b,
where
x
is
a
then
can
use
service
on
δ11To
, δ12solve
,1simply
δ11 , δwrite
using
the
following
system:
1
j 2.4.1 in [2]. ness
the
eated
in
Proposition
We first
noteAthat
Equahe
values,
is
a
square matrix
inimum ofδ1the computed
δ
.
Howi
0 in00the00burstiness
kk
δWe
1 can there1 5,δ18 are linear
tions
terms.
q
into
0
δ
1
1
values.
Furthermore,
it can be sh
2 are
ction 3.3 there
cases
when
the
δ
2
l
δ
1
0
k
0
0
cetox = fore1 useδ1,them
to obtain
system
of equations
of the
1 a0linear
k 0
0
A
=
,
b
=
,
x
=
,
A
=
,
b
=
,
1
A and bare non ne
stem of equations
to 0 0 0 tions 5, 8 both
1 must be0solved
δ
k
0
δ
δ
0
k
δ
2
2
2
form x =2 Ax + b, where x is a vector of unknown
burstiice
2
2
values
of
A00are of
within
the unit cir
se, it is preferable
toAconsider
a sinδ
k
0
1
0
δ
k
0
1
0
ness
values,
is
a
square
matrix
and
b
is
a
vector
known
2
2
w(13)
oid
a minimum
function
inbe shown
(13)
negative
and
x
can
be
computed
a
√
values.
Furthermore,
it
can
that
following
Equa√
δlq inserting
ρ
ρ
where
k
=
. The
eigenvaluesare
are±± kthe
k22++time
k and
and
where
k
=
.
The
eigenvalues
k
ble
to
prove
that
when
no
aggregate
C
−
ρ
lowing
stopping
tions
5,
8
both
A
and
bare
non
negative.
Hence,
if
all
eigen- principl
to√
C− ρ
√
33 / 47
2
− 1 provides
±−values
k −
k;solving
by
solving
ρ we
obtain
that
a−solution
solution
exeorem
always
provides
a for
smaller
ythat
x
indeed
a valid up
of
A
the
unit
circle,
(I
A)
is
also non
√ are within
in± k 212
k;
by
for
ρ
we
obtain
a
ex√
lso onFurthermore,
the
However,
using
Theorem
12 reduces
the
δ1the
,service
δ1 , δ1 ,itrate.
δ1can
using
following
system:
ues.
bethe
shown
that
following
Equa12 reduces
j
1
ces the
number of variables δlq that
δ
depends
on.
As
we
show
in
δ
i
1
1
As
we
show
in
δ
0if
0 eigen0 reduce
kδ
δ1 δ2
ns
5,
8
both
A
and
bare
non
negative.
Hence,
all
1
1
Network
Stability
Section 3.3,δmutual
dependencies
between
flows
can
how in
0
0
0
k
1
1
1
2
x
=
−
1
flows
can
reduce
2
δ1 1hence
1desirable.
0also
k non
00
0 δ21 , A =
ues of A are
withinδ1the
circle,
(I
−
A)
is
the available
bus unit
utilization,
this
is
reduce
0
k
0
x =, A = 1 , A =
,,b =
x=
,kb = 0 0
2,
1
esirable.
−
1
δ
δ
0
δ
0
δ2
2
2
2 x0 =k(I 0
gative
and xneed
can betoδcomputed
as
− A)
b. By fol• We
2compute
2
2
δ2 principle
k it
0 can
1 then
0k be
δ2 [2],
0 proven
1 00
0
3.3.
Example
wing• the
time
stopping
ρ
I - A can be inverted iff all eigenvalues of A have
module
<=
1.
where
k
=
.
C− ρ
(13)
(13)
√
√
√
t x indeed where
provides
a
valid
for
burstiness.
ρ upper bound
2 − k; by solvi
2 + k and
ρ
±
k
2
k =
.
The
eigenvalues
are
±
k
• The eigenvalues
of
the
matrix
are
and
.√
We now
provide
an
example
to
show
how
the
analywhere
k
=
.
The
eigenvalues
are
±
k
+
k and
C− ρ
√
C
−
ρ
3− 5
Followingsis the
above
technique,
we
can
compute
√ solving
can
applied
to
a
concrete
case.
It
is
important
to
ists
if
ρ
≤
C≈
2 be
±
k
−
k;
by
for
ρ
we
obtain
that
a
solution
ex2
2
analy2
1
2
√
±
k − k;bounds
by
solving
for ρ we
that a solution
how
δ1 , δ1the
, δ1analyusing
following
system:
note
thatthe
the3−
burstiness
of Equations
5, 8obtain
directly
condition eximplies tha
√
5
tant to
ists if ρ ≤ 2 C ≈ 0.382C.
It
is
interesting
to
see
that
the
3− configurations,
5
holdto
only
for
feed-forward
where
are
when
is
important
ists
if
ρ
≤
C ≈ 0.382C.
It isthere
interesting
toeven
see that
thebus utili
•
Solving
for
rho:
2 are not able to find delay bounds
irectly 1 nocondition
implies
that
we
circular dependencies
flows.
thisnot
Equaever, bounds
that the derive
ns 5,
condition
that
weIn
are
tohowfind delay
0 utilization
0 implies
0among
kis as
δcase,
1 able
ere
are8δ1directly
even
when
bus
low
as
77%.
Note,
5, 8 can be applied to iteratively compute all burstiall eigenvalues are w
2 tions
where
there
are
even
when
bus
utilization
is
as
low
as
77%.
Note, howj
1derived
0 condition
kmany
0 configurations
0dosufficient:
Equa- δ1 ness
ever,
thatdthe
on A is only
if pute
terms
.
In
practice,
have
cirbounded delay
•
Note:
for
bus
we
can
not
find
a
solution.
i utilizations > 76.4%,
=
,
A
=
,
b
=
,
1
this
case,
Equaever,
that
the
derived
condition
on
A
is
only
sufficient:
if the un
bursti- δ2 cular
all eigenvalues
the
circle, the
then
com- ues are outside
0areamong
kwithin
0 flows.
0 unit
δsystem
dependencies
Consider
with
2we can
• all
Does
a bounded
solution
exist
such
a case?
ve cirpute
delay
but
even
if0thecircle,
eigenvalmpute
all keigenvalues
are within
the unit
then we can comδ22bursti0 and1inbacklog,
0
m
with
ues
outside
unit circle,
delay
backlog but
can even
still beif the eigenvalons
do have
cir-are
putethe
bounded
delay
andand
backlog,
– Yes,
following
delay
calculus,
each
bit
of
f1 can only delay
(13)
√
ρ
the
ues
are outside theare
unit±circle,
delay
and backlog can still be
2+
on
one
node.
ere system
k = f2with
.
The
eigenvalues
k
k
and
C− ρ
– However,
for ρmore
complex
k2 − k;
by
solving for
we obtain
that atopologies
solution ex-(transitive delay)
√
5 is an open problem.
if ρ ≤ 3−this
C ≈ 0.382C. It is interesting to see that the
2
34 / 47
ndition implies that we are not able to find delay bounds
en when bus utilization is as low as 77%. Note, how-
Modular performance analysis
35
Modular Performance Analysis
• System Architecture evaluation using modular performance
analysis: a case study
• An application of network calculus to early system
performance analysis and design exploration.
• Real-time calculus: extension to network-calculus.
– Introduces lower arrival curves and upper service curves
– A more structured approach to system description and
multiple flows analysis
36 / 47
Upper and Lower Curves
arrival
curve period
task
service
curve –
link
with
zero
delay
arrival
curve –
period
task
with
jitter
service
curve –
TDMA
37 / 47
Abstract Component
38 / 47
Network of Components
39 / 47
Another Example: Real-Time Bridge
11
β̄1S
↵1
%&! %#
( ) *+) *##
%#
β̄1u (t) = β̄1l (t) = t
↵¯10
%&! &#
( ) *+) *##
$#
↵¯02
β̄3S
↵3
%&! &#
(())*+)
*+)*##
'*###
'#
%&! &#
(())*+)
*+)*##
,*###
'#
Incoming flow
β̄2Au (t) = β̄2Al (t) = t
! " ##
$#
! &#
↵ 200
%&! " #
β̄3 = β̄20
↵¯03
β̄4S
↵4
! %#
β̄2 = β̄10
β̄2S
↵2
! " ##
%#
↵ 100
! " ##
'#
β̄4 =
↵¯04
! " ##
,' #
! " ##
%#
! "#
↵ 0200
Outgoing flow,
Network A
β̄3Bu (t) = β̄3Bl (t) = t
! &#
↵ 300
%&! $#
! " ##
%#
β̄4B
β̄30
! &#
↵ 040
%&! $#
! " ##
$#
! $#
=
↵ 0300
β̄30B
! $#
↵ 0400
β̄40
β̄40B
Sporadic
Bus
Network Transmission
Server
Fig. 6. (reservations)
Real-time bridge
scheduling forScheduling
virtualized outScheduling
going flows can be modeled with additional abstract
Outgoing flows,
Network B
40 / 47
Design Flow
41 / 47
Case Study: Radio Navigation System
42 / 47
Example: Change Volume Sequence Diagram
43 / 47
Architectural Alternatives
44 / 47
Model: Architecture A
45 / 47
End-To-End Delay
46 / 47
Sensitivity to Resource Capacity
47 / 47
Download