Scinovex
articleTop 10% cited

Synchronous data flow

Proceedings of the IEEE · 1987 · Vol. 75(9) · pp. 1235–1245
Edward A. LeeDavid G. Messerschmitt

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.

Parallel Computing and Optimization TechniquesEmbedded Systems Design TechniquesInterconnection Networks and SystemsComputer scienceParallel computingData flow diagramData-flow analysisCompile timeCompilerCorrectnessDigital signal processingControl flow graphScheduling (production processes)
Citations
1,789
FWCI
6.43
field-weighted impact
References
44
Percentile
97%
vs. same field & year
Citations per year
References
Parallel Sequencing and Assembly Line Problems
Operations Research · 1961 · 890 citations
Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing
IEEE Transactions on Computers · 1987 · 1,130 citations
Petri Nets
ACM Computing Surveys · 1977 · 1,144 citations
Citation Network

How this paper connects to the literature. Drag to explore, click any node to open that paper.