Title: Liveness and Boundedness of Synchronous Data Flow Graphs
1Liveness and Boundedness of Synchronous Data Flow
Graphs
- A.H. Ghamarian, M.C.W Geilen, T. Basten, B.
Theelen, M. Mousavi, and S. Stuijk
2Outline
- Introduction
- Synchronous Data Flow Graphs (SDFGs)
- Definition of Liveness and Boundedness
- Live and Bounded SDFGs
- Live and Strictly Bounded SDFGs
- Live and Self-timed Bounded SDFGs
- Conclusions
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
3Introduction
- Streaming Multimedia and DSP Applications
- Throughput
- Buffer sizes
-
- SDFG
- Modeling and analysis
- Single and multiprocessor platforms
Given an SDFG,is it realizable within bounded
memory while running forever ?
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
4Structure of a (Timed) SDFG
actor
Self-loop channel
channel (unbounded)
execution time
3
3
2
1
1
C,1
A,2
B,1
1
1
2
3
1
rate
token
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
5Behavior Firing an Actor
A,1
1
2
2
2
1
D,1
B, 1
2
2
5
3
3
1
4
1
C, 1
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
6Behavior Execution and Self-timed Execution
- An execution is a finite or infinite sequence of
actor firings. - An execution is maximal iff it is finite with no
actor enabled in the final state or if it is
infinite. - A self-timed execution is an execution in which
each actor fires as soon as it can fire.
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
7Consistency and Repetition Vector
3
3
2
C,1
A,2
B,1
1
1
2
3
1
1.q(A)1.q(A) 1.q(A)1.q(B) 2.q(B)3.q(C) 3.q(C)2
.q(B)
Repetition vector q(A,3), (B,3), (C,2)
An SDFG is consistent iff q(A) gt 0 for all actors
A
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
8Liveness and Deadlock
- An SDFG is live iff it has an execution in which
all actors fire infinitely often. - An SDFG has a deadlock iff it has a maximal
execution of finite length.
Consistent, but neither live nor deadlocked !
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
9Boundedness
- An execution is bounded iff for all states of the
execution the number of tokens in all channels is
at most some bound. - SDFG
- bounded iff it has a bounded execution.
((un-)timed) - Strictly bounded iff all possible executions are
bounded. ((un-)timed) - Self-timed bounded iff self-timed execution is
bounded. (timed)
Necessary and sufficient conditions for an SDFG
to be live in combination with each of the three
definitions of boundedness.
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
10Liveness and Boundedness
- A live SDFG is bounded iff it is consistent.
- A strongly connected SDFG is live iff it is
deadlock free. - If one strongly connected component (SCC) in an
SDFG G deadlocks then either G deadlocks or it is
unbounded.
An SDFG is live and bounded iff it is consistent
and all its SCCs are deadlock free.
3
3
2
(A,3), (B, 3), (C, 2)
C,1
A,2
B,1
1
1
2
3
1
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
11Liveness and Strict Boundedness
- A live SDFG is strictly bounded iff it is
consistent and strongly connected.
3
3
2
C,1
B,1
5
3
2
1
An SDFG is live and strictly bounded iff it is
deadlock free, consistent and strongly connected.
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
12Throughput Definition
- Actor throughput
- The average number of firings of one actor per
time unit in the self-timed execution. - (Normalized) graph throughput (if SDFG is
consistent)
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
13Local and Normalized Throughput
Each firing of a provides tokens for p/c firings
of b.
p
c
b
a
Normalized actor throughput of a for b
x
a,E
Local actor throughput
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
14Throughput Relation between Actors
Throughput of each actor equals the minimum of
its local throughput and normalized throughput of
its predecessors.
1/2
NTh(b,a)1/4NTh(c,a)4/3NTh(d,a)3
Th(b)1Th(c)2Th(d)3
1
b
1/4
4
a,1
3
2
c
4/3
LTh(a)1/2
2
d
3
2
Th(a)1/4
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
15Main Rule for Self-timed Boundedness
p
c
b
a
A channel between a and b is self-timed bounded
iff
Golden Rule
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
16Liveness and Self-timed Boundedness for Acyclic
SDFGs
- Liveness and self-timed boundedness for an
acyclic SDFG - Acyclic SDFGs are live ?
- Checking self-timed boundedness for acyclic SDFGs
- Calculate the throughput for all actors
- Sort the graph topologically
- Calculate the throughput for the source actors
(actors without any predecessors) and propagate
the calculation - For each channel between actors a and b check the
golden rule.
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
17Example for Acyclic SDFGs
1
b
1/4
4
a,1
1/4
3
Self-timed unbounded !!!
2
C
4/3
2
d
3
2
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
18Reduction
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
19Properties of the Reduced SDFG
- The reduction preserves
- Throughput
- Self-timed boundedness
- Liveness
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
20Example for a General SDFG
3
3
2
C,1
A,2
B,1
1
1
2
3
1
x2,4
x1,6
1/6 lt 1/4
Self-timed bounded ?
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
21Conclusions
- Necessary and sufficient conditions for checking
- Liveness and boundedness of (timed) SDFGs
- Liveness and strict boundedness of (timed) SDFGs
- Liveness and self-timed boundedness of timed
SDFGs - Throughput calculations for general SDFGs (not
necessarily strongly connected!)
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf
22Questions
boundedness
intro
definitions
strict bndss
self-tmd bndss
conclusions
sdf