Software Synthesis from Dataflow Graphs
Springer (Verlag)
978-0-7923-9722-9 (ISBN)
A key property of the SDF model is that static schedules can be determined at compile time. This removes the overhead of dynamic scheduling and is thus useful for real-time DSP programs where throughput requirements are often severe. Another constraint that programmable DSPs for embedded systems have is the limited amount of on-chip memory. Off-chip memory is not only expensive but is also slower and increases the power consumption of the system; hence, it is imperative that programs fit in the on-chip memory whenever possible.
Software Synthesis from Dataflow Graphs reviews the state-of-the-art in constructing static, memory-optimal schedules for programs expressed as SDF graphs. Code size reduction is obtained by the careful organization of loops in the target code. Data buffering is optimized by constructing the loop hierarchy in provably optimal ways for many classes of SDF graphs. The central result is a uniprocessor scheduling framework that provably synthesizes the most compact looping structures, called singleappearance schedules, for a certain class of SDF graphs. In addition, algorithms and heuristics are presented that generate single appearance schedules optimized for data buffering usage. Numerous practical examples and extensive experimental data are provided to illustrate the efficacy of these techniques.
1 Introduction.- 1.1 Block Diagram Environments.- 1.2 Modularity and Code Generation.- 1.3 Dataflow.- 1.4 Synchronous Dataflow.- 1.5 Generalizations to the SDF model.- 1.6 Compilation Model.- 1.7 Constructing Efficient Periodic Schedules.- 1.8 Related Work.- 2 Terminology and Notation.- 2.1 Graph Concepts.- 2.2 Computational Complexity.- 3 Synchronous dataflow.- 3.1 Computing the Repetitions Vector.- 3.2 Constructing a Valid Schedule.- 3.3 Scheduling to Minimize Buffer Usage.- 4 Looped Schedules.- 4.1 Looped Schedule Terminology and Notation.- 4.2 Buffering Model.- 4.3 Clustering SDF Subgraphs.- 4.4 Factoring Schedule Loops.- 4.5 Reduced Single Appearance Schedules.- 4.6 Subindependence.- 4.7 Computation Graphs.- 5 Loose Interdependence Algorithms.- 5.1 Loose Interdependence Algorithms.- 5.2 Modem Example.- 5.3 Clustering in a Loose Interdependence Algorithm.- 5.4 Relation to Vectorization.- 6 Joint Code and Data Minimization.- 6.1 R-Schedules.- 6.2 The Buffer Memory Lower Bound for Single Appearance Schedules.- 6.3 Dynamic Programming Post Optimization.- 6.4 Recursive Partitioning by Minimum Cuts (RPMC).- 6.5 Non-uniform Filterbank Example.- 7 Pairwise Grouping of Adjacent Nodes.- 7.1 Proper Clustering.- 7.2 The Optimality of APGAN for a Class of Graphs.- 7.3 Examples.- 8 Experiments.- 9 Open Issues.- 9.1 Tightly Interdependent Graphs.- 9.2 Buffering.- 9.3 Parallel Computation.
Reihe/Serie | The Springer International Series in Engineering and Computer Science ; 360 |
---|---|
Zusatzinfo | XII, 190 p. |
Verlagsort | Dordrecht |
Sprache | englisch |
Maße | 156 x 234 mm |
Themenwelt | Naturwissenschaften ► Physik / Astronomie ► Mechanik |
Technik ► Elektrotechnik / Energietechnik | |
Technik ► Nachrichtentechnik | |
ISBN-10 | 0-7923-9722-3 / 0792397223 |
ISBN-13 | 978-0-7923-9722-9 / 9780792397229 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich