Synchronous Data Flow

Summary

Synchronous Data Flow (SDF) is a restriction on Kahn process networks where the number of tokens read and written by each process is known ahead of time. In some cases, processes can be scheduled such that channels have bounded FIFOs.[1]

Limitations edit

SDF does not account for asynchronous processes as their token read/write rates will vary. Practically, one can divide the network into synchronous sub-networks connected by asynchronous links. Alternatively a runtime supervisor can enforce fairness and other desired properties.[1]

Applications edit

SDF is useful for modeling digital signal processing (DSP) routines. Models can be compiled to target parallel hardware like FPGAs, processors with DSP instruction sets like Qualcomm's Hexagon, and other systems.

See also edit

References edit

  1. ^ a b Lee, Edward Ashford; Messerschmitt, David G. (January 1987). "Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing". IEEE Transactions on Computers. C-36 (1): 24–35. doi:10.1109/TC.1987.5009446. ISSN 0018-9340. S2CID 9981963.

External links edit

  • Synchronous Data Flow, Edward A. Lee and David G. Messerschmitt, 1987
  • Embedded Software Systems course - Synchronous Dataflow
  • SDF analysis and visualization tools
  • Kahn Process Networks and a Reactive Extension