220 likes | 345 Views
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
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