Compile-time scheduling of dynamic constructs in dataflow program graphs
- 1 July 1997
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 46 (7) , 768-778
- https://doi.org/10.1109/12.599897
Abstract
Scheduling dataflow graphs onto processors consists of assigning actors to processors, ordering their execution within the processors, and specifying their firing time. While all scheduling decisions can be made at runtime, the overhead is excessive for most real systems. To reduce this overhead, compile-time decisions can be made for assigning and/or ordering actors on processors. Compile-time decisions are based on known profiles available for each actor at compile time. The profile of an actor is the information necessary for scheduling, such as the execution time and the communication patterns. However, a dynamic construct within a macro actor, such as a conditional and a data-dependent iteration, makes the profile of the actor unpredictable at compile time. For those constructs, we propose to assume some profile at compile-time and define a cost to be minimized when deciding on the profile under the assumption that the runtime statistics are available at compile-time. Our decisions on the profiles of dynamic constructs are shown to be optimal under some bold assumptions, and expected to be near-optimal in most cases. The proposed scheduling technique has been implemented as one of the rapid prototyping facilities in Ptolemy. This paper presents the preliminary results on the performance with synthetic examples.Keywords
This publication has 10 references indexed in Scilit:
- Compile-time scheduling of dynamic constructs in dataflow program graphsIEEE Transactions on Computers, 1997
- Hierarchical compilation of macro dataflow graphs for multiprocessors with local memoryIEEE Transactions on Parallel and Distributed Systems, 1994
- Compile-time scheduling and assignment of data-flow program graphs with data-dependent iterationIEEE Transactions on Computers, 1991
- TDFL: A task-level data flow languageJournal of Parallel and Distributed Computing, 1990
- Task allocation and scheduling models for multiprocessor digital signal processingIEEE Transactions on Acoustics, Speech, and Signal Processing, 1990
- The Effect of Operation Scheduling on the Performance of a Data Flow ComputerIEEE Transactions on Computers, 1987
- Synchronous data flowProceedings of the IEEE, 1987
- Data Flow LanguagesComputer, 1982
- Deterministic Processor SchedulingACM Computing Surveys, 1977
- Path Length Computations on Graph Models of ComputationsIEEE Transactions on Computers, 1969