1 / 22

Liveness and Boundedness of Synchronous Data Flow Graphs

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

tyrone
Download Presentation

Liveness and Boundedness of Synchronous Data Flow Graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Liveness and Boundedness of Synchronous Data Flow Graphs A.H. Ghamarian, M.C.W Geilen, T. Basten, B. Theelen, M. Mousavi, and S. Stuijk

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. Reduction boundedness strict bndss self-tmd bndss conclusions intro definitions sdf

  19. Properties of the Reduced SDFG • The reduction preserves • Throughput • Self-timed boundedness • Liveness boundedness strict bndss self-tmd bndss conclusions intro definitions sdf

  20. 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

  21. 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

  22. Questions boundedness strict bndss self-tmd bndss conclusions intro definitions sdf

More Related