Title: Alina Weffers-Albu, m.a.albu@tue.nl
1On a Theory of Media Processing Systems
Behaviour, with Applications
- M.A. Weffers-Albu, J.J. Lukkien, E.F.M. Steffens,
P.D.V. v.d. Stok
2Contents
- Domain introduction
- Relevant issues
- Related work
- Approach
- Model
- Conclusions
3Domain introduction
- Media Processing Applications systems with
real-time requirements - Execute on physical platform (CPU, memory, bus)
4Domain introductionMedia Processing Applications
5Domain introductionMedia Processing Applications
Physical Platform
6Domain introductionMedia Processing Applications
Physical Platform
7Domain introductionMedia Processing Applications
8Relevant Issues
- When constructing / modifying an application
- How much resources does the application need?
- Will the application meet its timing
requirements? - What is the minimum of the resources needed such
that timing requirements are met? - What can one do to reduce the resource needs of
the application? - What can be done to improve the measure in which
the application meets timing requirements? - Need to predict, control the overall behavior of
the application
9Relevant Issues
- Calculate / Optimize
- response time of tasks, chain,
- necessary and sufficient buffer capacities
- number of context switches (cost associated)
-
- Need model for dynamic behavior of system.
10Related work
- Classical RT theory does not help directly
- Mainly periodic independent tasks
- Tasks with precedence constraints
- Previous work in domain
- Estimations for some parameters (Lowet)
- Reduce the problem to an equivalent one where
tasks could be treated as independent periodic
(Goddard, Groba). - Our approach
- Calculate parameters rather than estimate
- Uses the fact that tasks are dependent rather
than reduce it into a classical RT problem - Contribution of paper
- foundations of theory for engineers to reason
rigorously about system behavior and associated
resource needs.
11Approach
- First step single linear chain executing in
cooperative environment - Express the execution of the system (chain) as a
trace of the atomic actions taken by each
component. - Analyze the system in terms of time and behaviour
as a function of - the choice of the atomic action order in the
components - the channel properties (e.g., the capacity)
- the priority assignment
- the timing assignment.
12ApproachBasic concepts
- Component program example C a b c d
- Component alphabet set of actions taken by the
component (A(C)a,b,c,d). - Alphabets disjoint ? k?l, A(Ck) ? A(Cl) ?.
- Trace of a component sequence of actions of a
component, recording its execution. - Tr(C) (a b c d)
- Trace prefix Tr(C)(abcd), Pref(Tr(C)) (a),
(a b), (a b c), (a b c d) - Prefix State Pref(Tr(C)) St(Tr(C))
-
- Parallel composition of components arbitrary
interleaving of actions - Ck Cl, with Ck a b and Cl c d
- Tr(CkCl) (a b c d), (a c b d), (c a d b), (c
d a b), (a c d b), (c a b d)
13ApproachBasic concepts
- Projection of a trace on an alphabet (t?A) trace
obtained by removing all actions not in A while
maintaining the order given in t. -
- t(abcd), A(Ck) a, b, t?A (ab)
- (t,a) nb. of occurences of action a in trace
t. - Ci while (true) do
-
- receive( fqi-1, p)
- receive( eqi, q)
- process_fct(p,q)
- send( eqi-1, p)
- send( fqi, q)
-
Tr(Ci) (fqi-1? eqi? ci eqi-1! fqi!)?
for 1 ? i ? n.
14Approach
- Express the execution of the system (chain) as
trace(s) of the atomic actions taken by each
component.
Impose predicates until obtain trace(s) that
specifies the system behavior.
Tpc ? Tcc ? Til
15Arbitrary interleavings traceset (Til)
- A A(Ci),
- Til Tr( Ci )
- Til s s consists of elements of A ? s?A(Ci)?
Tr(Ci), ?i, i 1..n
16Introducing channel constraints
- Scc imposes that no buffer is allowed to overflow
- or underflow.
- Scc(t) (? s?Pref(t), fqi, eqi (1 i lt n)
- 0 (t,fqi!) - (t,fqi?) Cap( fqi) ?
- 0 (t,eqi!) - (t,eqi?) Cap( eqi )).
- Tcc t?Til Scc(t) channel consistent traces.
17Introducing channel constraintsDefinitions
ready and blocked actions
- Tcc constrained set
- Given s from St(Tcc), a component Ci is
ready-to-run in state s whenfor an action a in
A(Ci) such that sa? A(Ci) is a state of Tr(Ci) we
have that sa ? St(Tcc). Also, a is called a
ready action of Ci in state s. - sa ? A(Ci) ? sa ? St(Tcc) ? a is a ready action
in state s - If sa is not an element of St(Tcc) it is not
possible to execute a in the constrained set in
which case we say that Ci is blocked at a in
state s of Tcc. -
- sa ? A(Ci) ? sa ? St(Tcc) ? a is a blocked
action in state s
18Introducing channel constraintsProperties
- For component Ci (1lt i n), blocking at eqi-1!
- is not possible.
- For component Ci (1lt i n), blocking at fqi! is
not possible.
19Introducing precedence order constraints
- Priority function returning for each component
a - unique natural number.
- The assignation is fixed during the entire
execution of - the system.
- Scp(t) (? s?Pref(t), ai u?A? t saiu ? ai?
A(Ci) P(Comp(ai)) max P(C)). -
- Limiting Tcc according to Scp gives Tpc, the
priority consistent traces Tpc ? t ? Tcc
Scp(t).
C ?RR(s)
20Introducing precedence order constraintsPropertie
s, Lemmas
- Tpc has precisely one element. Unique trace in
Tpc denoted by ?. - Let Ci be such that (? j jlti P(Cj) gt P(Ci))
and consider a state s of ? such that the next
action after s in Tpc is one of A(Ci). Then Cj b
eqj? in s of Tcc for all jlti. (a) - Let Ci be such that (? j jgti P(Cj) gt P(Ci))
and consider a state s of ? such that the next
action after s in Tpc is one of A(Ci). Then Cj b
fqj-1? in s of Tcc for all jgti. (b)
a).
b).
? j j lti P(Cj) gt P(Ci)
? j j gti P(Cj) gt P(Ci)
21Stable phase characterizationTheorems,
Properties, Corollaries
- Theorem. The pipeline system assumes a
repetitive behavior - after a finite initialization phase. The complete
behavior is - characterized by
- ? tinit (fqm-1? eqm? cm eqm-1! tL fqm!
tR)? - Notation.
- tinit trace recording the initialization
phase of the system execution. - tstable (fqm-1? eqm? cm eqm-1! tL fqm! tR)?.
- tstable - trace recording the stable phase of
the system execution.
22Stable phase characterizationTheorems,
Properties, Corollaries
- Theorem. The pipeline system assumes a
repetitive behavior - after a finite initialization phase. The complete
behavior is - characterized by
- ? tinit (fqm-1? eqm? cm eqm-1! tL fqm!
tR)? - Notation.
- tinit trace recording the initialization
phase of the system execution. - tstable (fqm-1? eqm? cm eqm-1! tL fqm! tR)?.
- tstable - trace recording the stable phase of
the system execution.
23Stable phase characterizationTheorems,
Properties, Corollaries
- The length of the initialization phase in number
of - actions is
- The length of the initialization phase can be
reduced by decreasing m or the capacity of the of
the queues in the system. - The stable phase starts when Cm executes for the
first time. - When Cm executes, ? i 1 i lt m,
L(fqi)Cap(fqi)-1 ? L(eqi)0 ? ? i m i lt n,
L(fqi) 0 ? L(eqi)Cap(eqi).
(m-1).
24Stable phase characterizationTheorems,
Properties, Corollaries
- Minimum NCS
- The minimum number of context switches (NCS)
during the initialization phase is achieved when
m1. - b. The minimum NCS during one iteration of
tstable can be achieved either when - i. P(C1) min(P(Ci))
-
i 1..n
25Stable phase characterizationTheorems,
Properties, Corollaries
- or when
- ii. P(Cn)ltP(C1)ltP(C2)ltltP(Cn-1) with
- ?i1 iltn-1, Cap(fqi)2.
26Stable phase characterizationTheorems,
Properties, Corollaries
- Tradeoff
- The priority assignment suggested by Corollary 10
- ii implies that all context switches caused by
preemptions were eliminated, at the cost of an
initialization phase. - The priority assignment suggested by Corollary 10
- ii. achieves a minimum NCS at the cost of more
memory needed (? i 1 i lt n-1, Cap(fqi)2) - Optimizing memory needs.
- The minimum queue capacity necessary and
sufficient for each of the queues in the chain is
1.
27Timing aspects
- Definitions
- ? A x x Til ? that for each action
of a component Ci returns the computation time
needed to execute the action. - Schedule function ? A x x Til ? of the
concurrent execution of Ci, i1..n processes on a
processor. Returns the start time for each action
of each component Ci within the concurrent
execution of all components.
28Timing aspects
- Definitions
- Response time Ri,k of component Ci (1? i ? n)
that processes packet k is - Ri,k ?(fqi !k) ? (fqi !k) - ?(fqi-1?k).
- Response time of the chain (RTC) CN as the time
needed by all components in the chain to process
the kth packet - RTCk ?(fqN!k) ? (fqN!k) - ?(fq0?k).
-
- NAk is the number of actions occurring from
arrival of packet k until the packet leaves the
chain.
29Timing aspects
- NAk is minimal for all packets k when P(C1) min
P(Ci) - RTCk is minimal for all packets k when P(C1)
min P(Ci)
i 1..n
30Conclusions
- Presented a model for the dynamic behavior of
linear processing chains - Expressed the execution of a chain as a trace
that can be calculated at design time. - Formally proven that the trace becomes repetitive
after an initial finite prefix. - Approach allows the calculation and optimization
of - The initial phase length
- The necessary and sufficient capacities for the
queues - Number of context switches
- Number of actions between input/output of a
packet (component, chain) - Response time for a packet (component, chain)
-