220 likes | 232 Views
This article explores the concepts of liveness and boundedness in synchronous data flow graphs, and their implications in streaming multimedia and DSP applications. It discusses the definitions of liveness and boundedness and explores different types of SDFGs. The article also covers the necessary conditions for an SDFG to be live and bounded.
E N D
Liveness and Boundedness of Synchronous Data Flow Graphs A.H. Ghamarian, M.C.W Geilen, T. Basten, B. Theelen, M. Mousavi, and S. Stuijk
Outline • 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Introduction • 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Structure of a (Timed) SDFG actor Self-loop channel channel (unbounded) execution time 3 2 3 1 1 C,1 A,2 B,1 1 1 2 3 1 rate token boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Behavior: Firing an Actor A,1 1 2 2 2 1 B, 1 D,1 2 2 5 3 3 1 4 1 C, 1 boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Behavior: 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 assoon as it can fire. boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
1 1 Consistency and Repetition Vector 3 2 3 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) > 0 for all actors A boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
1 1 3 2 3 C,1 A,2 B,1 1 1 2 3 A can fire infinitely often Cannot fire after one firing of B and C Liveness 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Boundedness • 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 strict bndss self-tmd bndss conclusions intro definitions sdf
1 1 Liveness 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 deadlockfree. 3 2 3 {(A,3), (B, 3), (C, 2)} C,1 A,2 B,1 1 1 2 3 1 boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
1 1 A,2 1 1 Liveness and Strict Boundedness • A live SDFG is strictly bounded iff it is consistent and strongly connected. 3 2 3 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Throughput 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Local and Normalized Throughput Each firing of a provides tokens for p/c firings of b. c p b a Normalized actor throughput of a for b : x a,E Local actor throughput : boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Throughput 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Main Rule for Self-timed Boundedness c p b a A channel between a and b is self-timed bounded iff Golden Rule boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Liveness 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Example for Acyclic SDFGs 1 b 1/4 4 a,1 1/4 Self-timed unbounded !!! 3 2 C 4/3 2 d 3 2 boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Reduction boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Properties of the Reduced SDFG • The reduction preserves • Throughput • Self-timed boundedness • Liveness boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Example for a General SDFG 3 2 3 C,1 A,2 B,1 1 1 2 3 1 x2,4 x1,6 1/6 < 1/4 Self-timed bounded boundedness strict bndss self-tmd bndss conclusions intro definitions sdf
Conclusions • 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 strict bndss self-tmd bndss conclusions intro definitions sdf
Questions boundedness strict bndss self-tmd bndss conclusions intro definitions sdf