Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Compile-Time Scheduling and Assignment of Data-Flow Program Graphs with Data-Dependent Iteration

Published: 01 November 1991 Publication History

Abstract

Four scheduling strategies for dataflow graphs onto parallel processors are classified: (1) fully dynamic, (2) static-assignment, (3) self-timed, and (4) fully static. Scheduling techniques valid for strategies (2), (3), and (4) are proposed. The focus is on dataflow graphs representing data-dependent iteration. A known probability mass function for the number of cycles in the data-dependent iteration is assumed, and how a compile-time decision about assignment and/or ordering as well as timing can be made is shown. The criterion used is to minimize the expected total idle time caused by the iteration. In certain cases, this will also minimize the expected makespan of the schedule. How to determine the number of processors that should be assigned to the data-dependent iteration is shown. The method is illustrated with a practical programming example.

References

[1]
{1} W. B. Ackerman, "Data flow languages," IEEE Computer, vol. 15, no. 2, pp. 15-25, Feb. 1982.
[2]
{2} Arvind and K. P. Gostelow, "The U-Interpreter," IEEE Computer, vol. 15, no. 2, Feb. 1982.
[3]
{3} J. Backus, "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs," Commun. Assoc. Comput. Mach., vol. 21, no. 8, pp. 613-641, Aug. 1982.
[4]
{4} F. W. Burton and M. R. Sleep, "Executing functional programs on a virtual tree of processors," in Proc. ACM Conf. Functional Programming Lang. Comput. Arch. 1981, pp. 187-194.
[5]
{5} M. Chase, "A pipelined data flow architecture for signal processing: the NEC uPd7281," in VLSI Signal Processing, New York, IEEE Press, (1984).
[6]
{6} W. W. Chu, L. J. Holloway, L. M.-T. Lan, and K. Efe, "Task allocation in distributed data processing," IEEE Computer, pp. 57-69, Nov. 1980.
[7]
{7} W. W. Chu and L. M.-T. Lan, "Task allocation and precedence relations for distributed real-time systems," IEEE Trans. Comput., vol. C-36, pp. 667-679, June 1987.
[8]
{8} M. Cornish, D. W. Hogan, and J. C. Jensen, "The Texas Instruments distributed data processor," in Proc. Louisiana Computer Exposition Lafayette, LA, Mar. 1979, pp. 189-193.
[9]
{9} A. L. Davis, "The architecture and system method of DDM1: A recursively structured data driven machine," in Proc. Fifth Annu. Symp. Comput. Architecture, Apr. 1978, pp. 210-215.
[10]
{10} J. B. Dennis, "Data flow supercomputers," IEEE Computer, vol. 13, no. 11, Nov. 1980.
[11]
{11} J. B. Dennis and G. R. Gao, "An efficient pipelined dataflow processor architecture," in Proc. ACM SIGARCH Conf. Supercomputing, Nov. 1988.
[12]
{12} K. Efe, "Heuristic models of task assignment scheduling in distributed systems," IEEE Computer, pp. 50-56, June 1982.
[13]
{13} J. A. Fisher, "The VLIW machine: A multiprocessor for compiling scientific code," IEEE Computer, vol. 17, no. 7, July 1984.
[14]
{14} G. R. Gao, "A pipeline code mapping scheme for static dataflow computers," Ph.D. dissertation, Laboratory for Computer Science, MIT, Cambridge, MA, (1983).
[15]
{15} G. R. Gao, R. Tio, and H. H. J. Hum, "Design of an efficient dataflow architecture without data flow," in Proc. Int. Conf. Fifth Generation Comput. Syst., 1988.
[16]
{16} J. L. Gaudiot, "Data-driven multicomputers in digital signal processing," Proc. IEEE, vol. 75, pp. 1220-1234, Sept. 1987.
[17]
{17} E. F. Girczyc, "Loop winding--A data flow approach to functional pipelining," in ISCAS, 1987, pp. 382-385.
[18]
{18} M. Granski, I. Korn, and G. M. Silberman, "The effect of operation scheduling on the performance of a data flow computer," IEEE Trans. Comput. vol. C-36, Sept. 1987.
[19]
{19} C. A. R. Hoare, "Communicating sequential processes," Commun. Assoc. Comput. Mach., vol. 21, no. 8, Aug. 1978.
[20]
{20} T. C. Hu, "Parallel sequencing and assembly line problems," Oper. Res., vol. 9, no. 6, pp. 841-848.
[21]
{21} M. A. Iqbal, J. H. Saltz, and S. H. Bokhari, "A comparative analysis of static and dynamic load balancing strategies," in Proc. Int. Conf. Parallel Processing, 1986, pp. 1040-1045.
[22]
{22} R. M. Keller, F. C. H. Lin, and J. Tanaka, "Rediflow multiprocessing," in Proc. IEEE COMPCON, Feb. 1984, pp. 410-417.
[23]
{23} J. Kunkel, "Parallelism in COSSAP," Internal Memorandum, Aachen University of Technology, Fed. Rep. of Germany, 1987.
[24]
{24} S. Y. Kung, VLSI Array Processors. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[25]
{25} E. A. Lee and D. G. Messerschmitt, "Static scheduling of synchronous data flow graph for digital signal processing," IEEE Trans. Comput., Jan. 1987.
[26]
{26} E. A. Lee and D. G. Messerschmitt, "Synchronous data flow," Proc. IEEE, vol. 75, Sept. 1987.
[27]
{27} E. A. Lee, "Recurrences, iteration, and conditionals in statically scheduled data flow," submitted to IEEE Trans. Comput.
[28]
{28} E. A. Lee, W.-H. Ho, E. Goei, J. Bier, and S. Bhattacharyya, "Gabriel: A design environment for DSP," IEEE Trans. Acoust., Speech, Signal Processing, vol. 37, Nov. 1989.
[29]
{29} C. E. Leiserson, "Optimizing synchronous circuitry by retiming," presented at Third Caltech Conf. VLSI, Pasadena, CA, Mar. 1983.
[30]
{30} H. Lu and M. J. Carey, "Load-balanced task allocation in locally distributed computer systems," in Proc. Int. Conf. Parallel Processing, 1986, pp. 1037-1039.
[31]
{31} P. R. Ma, E. Y. S. Lee, and M. Tsuchiya, "A task allocation model for distributed computing systems," IEEE Trans. Comput., vol. C-31, pp. 41-47, Jan. 1982.
[32]
{32} D. F. Martin and G. Estrin, "Path length computations on graph models of computations," IEEE Trans. Comput. vol. C-18, pp. 530-536, June 1969.
[33]
{33} H. Muhlenbeim, M. Gorges-Schleuter, and O. Kramer, "New solutions to the mapping problem of parallel systems: The evolution approach," Parallel Comput., vol. 4, pp. 269-279, 1987.
[34]
{34} G. M. Papadopoulos, "Implementation of a general purpose dataflow multiprocessor," Dep. Elec. Eng. and Comput. Sci., MIT, Ph.D. thesis, Aug. 1988.
[35]
{35} A. Plas et al., "LAU system architecture: A parallel data-driven processor based on single assignment," in Proc. 1976 Int. Conf. Parallel Processing, pp. 293-302.
[36]
{36} D. A. Schwartz and T. P. Barnwell III, "Cyclo-static solutions: Optimal multiprocessor realizations of recursive algorithms," in VLSI Signal Processing, New York: IEEE Press, 1986.
[37]
{37} V. P. Srini, in "An architectural comparison of dataflow systems," IEEE Computer, pp. 68-88, Mar. 1986.
[38]
{38} S. R. Vegdahl, "A survey of proposed architectures for the execution of functional languages," IEEE Trans. Comput., vol. C-33, pp. 1050-1071, Dec. 1984.
[39]
{39} I. Watson and J. Gurd, "A practical data flow computer," IEEE Computer , vol. 15, Feb. 1982.
[40]
{40} M. A. Zissman and G. G. O'Leary, "A block diagram compiler for a digital signal processing MIMD computer," in Proc. IEEE Int. Conf. ASSP, 1987, pp. 1867-1870.

Cited By

View all
  • (2021)Dataflow Model–based Software Synthesis Framework for Parallel and Distributed Embedded SystemsACM Transactions on Design Automation of Electronic Systems10.1145/344768026:5(1-38)Online publication date: 5-Jun-2021
  • (2014)A framework to schedule parametric dataflow applications on many-core platformsACM SIGPLAN Notices10.1145/2666357.259781949:5(125-134)Online publication date: 12-Jun-2014
  • (2014)A framework to schedule parametric dataflow applications on many-core platformsProceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems10.1145/2597809.2597819(125-134)Online publication date: 12-Jun-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Computers
IEEE Transactions on Computers  Volume 40, Issue 11
November 1991
142 pages
ISSN:0018-9340
Issue’s Table of Contents

Publisher

IEEE Computer Society

United States

Publication History

Published: 01 November 1991

Author Tags

  1. assignment
  2. compile time scheduling
  3. data-dependent iteration
  4. data-flow program graphs
  5. fully dynamic
  6. fully static
  7. idle time
  8. parallel processors
  9. parallel programming
  10. probability mass function
  11. program compilers
  12. program processors
  13. programming
  14. scheduling.
  15. self-timed
  16. static-assignment

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Dataflow Model–based Software Synthesis Framework for Parallel and Distributed Embedded SystemsACM Transactions on Design Automation of Electronic Systems10.1145/344768026:5(1-38)Online publication date: 5-Jun-2021
  • (2014)A framework to schedule parametric dataflow applications on many-core platformsACM SIGPLAN Notices10.1145/2666357.259781949:5(125-134)Online publication date: 12-Jun-2014
  • (2014)A framework to schedule parametric dataflow applications on many-core platformsProceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems10.1145/2597809.2597819(125-134)Online publication date: 12-Jun-2014
  • (2013)StreamTMCJournal of Parallel and Distributed Computing10.1016/j.jpdc.2012.12.00173:4(484-494)Online publication date: 1-Apr-2013
  • (2012)StreamX10Proceedings of the 2012 ACM SIGPLAN X10 Workshop10.1145/2246056.2246057(1-6)Online publication date: 14-Jun-2012
  • (2012)Kernel Partitioning of Streaming ApplicationsProceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2012.44(401-412)Online publication date: 1-Dec-2012
  • (2011)SpongeACM SIGPLAN Notices10.1145/1961296.195040946:3(381-392)Online publication date: 5-Mar-2011
  • (2011)SpongeACM SIGARCH Computer Architecture News10.1145/1961295.195040939:1(381-392)Online publication date: 5-Mar-2011
  • (2011)SpongeProceedings of the sixteenth international conference on Architectural support for programming languages and operating systems10.1145/1950365.1950409(381-392)Online publication date: 5-Mar-2011
  • (2010)Minimizing communication in rate-optimal software pipelining for stream programsProceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization10.1145/1772954.1772984(210-217)Online publication date: 24-Apr-2010
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media