Compile-Time Scheduling of Dataflow Program graphs with Dynamic Constructs

Shuvra S. Bhattacharyya and Edward A. Lee

Technical Memorandum UCB/ERL M92/128
November 18, 1992

[PDF]

ABSTRACT

Managing the buffering of data along arcs is a critical par5 of compiling a Synchronous Dataflow (SDF) program. This paper shows how dataflow properties can be analyzed at compile-time to make buffering more efficient. Since the target code corresponding to each node of an SDF graph is normally obtained from a hand-optimized library of predefined blocks, the efficiency of data transfer between blocks is often the limiting factor in how closely an SDF compiler can approximate meticulous manual coding. Furthermore, in the presence of large sample-rate changes, straightforward buffering techniques can quickly exhaust limited on-chip data memory, necessitating the use of slower external memory. The techniques presented in this paper address both of these problems in a unified manner.