Post on 24-Feb-2016
description
Quantitative Evaluation of Embedded Systems
Buffering
Buffering in streaming applications
Image taken from an online tutorial on the VLC media player
Buffering in dataflow graphs
S A CB
26ms
30ms
10ms
• Determine the MCM and choose a period μ ≥ MCM• For each actor a initialize a start-time Ta := 0• Repeat for each arc a—i—b :
Tb := Tb max (Ta + Ea – i μ)until there are no more changes
• Repeat for each actor a:Ta := min{all arcs a-i-b} (Tb - Ea + i μ)
until there are no more changes
• Delayed latency ≤ Toutput + Eoutput + δ·μ - Tinput
Invariants in a periodic schedule
Tb ≥ T
a + Ea – i μ
i ≥ (Ta - T
b + Ea ) / μ
μ = 22ms
St0 = 34ms
A CB
26ms
30ms
t0 = 0ms
t0 = 8ms
10ms i ≥ (Ta – Tc + Ea)/μ
Retaining the invariant when buffering
μ = 22ms
St0 = 34ms
A CB
26ms
30ms
t0 = 0ms
t0 = 8ms
10ms i ≥ (Ta – Tc + Ea)/μi ≥ δ
Retaining the invariant when buffering
A B
Retaining invariant => retaining MCM
By definition of periodic schedule we findfor every arc x-#-y that Ty ≥ Tx + Ex – # μ
Adding these steps over a path B-X-Y----Z-A we find that TA ≥ TB + E(B-X-Y---Z) – #(B-X-Y---Z-A) μ
And so we find that i ≥ (TA - TB + EA)/μ ≥ E(B-X-Y---Z-A) / μ – #(B-X-Y---Z-A)
Which means for the cycle mean on the newly created cycle B-X-Y----Z-A-B:E(B-X-Y---Z-A) / (#(B-X-Y---Z-A) + i) ≤ μ
i
A BReversely, assume that we pick i so that the MCM of the graph does not change.
Then for any cycle B-X-Y----Z-A-B we know:E(B-X-Y---Z-A) / (#(B-X-Y---Z-A) + i) ≤ μ By definition of periodic schedule we havefor every arc x-#-y that Tx ≤ Ty - Ex + # μ
Adding these steps over a path B-X-Y----Z-A we find that TB ≤ TA - E(B-X-Y---Z) + #(B-X-Y---Z-A) μ
And so: (TA - TB + EA)/μ ≤ E(B-X-Y---Z-A) / μ – #(B-X-Y---Z-A) ≤ i
i
Retaining MCM => retaining invariant
How large should a buffer be?
if and only if
the periodic schedule stays unchangedif and only if
the MCM stays unchanged
S A CB
i But be aware of δ…