Synchronous data flow
- 1 January 1987
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Proceedings of the IEEE
- Vol. 75 (9), 1235-1245
- https://doi.org/10.1109/proc.1987.13876
Abstract
Data flow is a natural paradigm for describing DSP applications for concurrent implementation on parallel hardware. Data flow programs for signal processing are directed graphs where each node represents a function and each arc represents a signal path. Synchronous data flow (SDF) is a special case of data flow (either atomic or large grain) in which the number of data samples produced or consumed by each node on each invocation is specified a priori. Nodes can be scheduled statically (at compile time) onto single or parallel programmable processors so the run-time overhead usually associated with data flow evaporates. Multiple sample rates within the same system are easily and naturally handled. Conditions for correctness of SDF graph are explained and scheduling algorithms are described for homogeneous parallel processors sharing memory. A preliminary SDF software system for automatically generating assembly language code for DSP microcomputers is described. Two new efficiency techniques are introduced, static buffering and an extension to SDF to efficiently implement conditionals.Keywords
This publication has 36 references indexed in Scilit:
- Parallel Programming and the Poker Programming EnvironmentComputer, 1984
- A Tool for Structured Functional SimulationIEEE Journal on Selected Areas in Communications, 1984
- Systematic design and programming of signal processors, using project management techniquesIEEE Transactions on Acoustics, Speech, and Signal Processing, 1983
- Data Flow SupercomputersComputer, 1980
- High-Speed Multiprocessors and Compilation TechniquesIEEE Transactions on Computers, 1980
- An approach to the implementation of digital filters using microprocessorsIEEE Transactions on Acoustics, Speech, and Signal Processing, 1978
- Analysis of linear digital networksProceedings of the IEEE, 1975
- Marked directed graphsJournal of Computer and System Sciences, 1971
- Scheduling Parallel ComputationsJournal of the ACM, 1968
- The Organization of Computations for Uniform Recurrence EquationsJournal of the ACM, 1967