Skip to main content

Optimal partitioning of programs for data flow machines

  • IX. Compilers for DataFlow Machines
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 589))

  • 126 Accesses

Abstract

Data flow computers execute programs by dividing a data flow graph into instruction templates which are scheduled as early as possible. Implementing this scheme involves communication overheads which affect the running time of the program. In this paper we present a model for data flow machines which includes both communication and execution times. With this model we derive lower and upper bounds on the execution time of programs represented as trees and DAGs. We provide algorithms for optimally partitioning a program into sets of instruction templates, for both tree and DAG like programs, when there are enough execution units. The algorithms are of time complexity O(¦V¦2) and O(¦V¦5), respectively. For the case with limited number of execution units, we show that the algorithm presented for trees, approximates the best solution with a ratio of 4.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aggarwal, A.K.Chandra, and M.Snir. Communication complexity of PRAMs. In Proc. of the 15th International Coll. on Automata, Languages and Programming, Springer Verlag Lecture Notes in Computer Science, number 317, pages 1–18, July 1988.

    Google Scholar 

  2. A.P. Böhm and J.R.Gurd. Iterative instructions in the Manchester dataflow computer. IEEE Trans. on Parallel and Distributed Systems, 1(2), April 1990.

    Google Scholar 

  3. J.B. Dennis and D.P.Misunas. A preliminary architecture for a basic data flow processor. In 2nd annual Symposium on Computer Architecture, pages 126–132, 1974.

    Google Scholar 

  4. M.R. Garey and D.S.Johnson. Computers and Intractability: a Guide to the Theory of NP-completeness. W.H.freeman and company, 1979.

    Google Scholar 

  5. J.L. Gaudiot and M.D.Ercegovac. Performance evaluation of a simulated data flow computer with low resolution actors. Journal of Parallel and Distributed Computing, 2(4):321–351, 1985.

    Google Scholar 

  6. A.V. Goldberg and D.Gusfield. Book review: Flow algorithms by E.A.Dinic and A.V.Karzanov. Tech.Rep.STAN-CS-90-1313, June 1990.

    Google Scholar 

  7. R. Hardon and S. S. Pinter. Optimal partitioning of programs for data flow machines. Technical Report EE-PUB to appear, Dept. of Electrical Engineering, Technion — Israel Institute of Technology, 1991.

    Google Scholar 

  8. T.C. Hu. Parallel sequencing and assembly line problems. Operations Res., 9:841–848, 1961.

    Google Scholar 

  9. C.H. Papadimitriou and M.Yannakakis. Towards an architecture independent analysis of parallel algorithms. SIAM J. Computing, 19(2):322–328, April 1990.

    Google Scholar 

  10. S. Sakai, Y. Yamaguchi, k. Hiraki, Y. Kodama, and T. Yuba. An architecture of a dataflow single chip processor. In International Symposium on Computer Architecture, pages 46–53, 1989.

    Google Scholar 

  11. J.D. Ullman. NP-complete scheduling problems. Journal of Computer and System Sciences, 10(3):384–393, 1975.

    Google Scholar 

  12. A.H. Veen. Dataflow machine architecture. ACM Computing Surveys, 18(4):365–396, December 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hardon, R., Pinter, S. (1992). Optimal partitioning of programs for data flow machines. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1991. Lecture Notes in Computer Science, vol 589. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0038677

Download citation

  • DOI: https://doi.org/10.1007/BFb0038677

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55422-6

  • Online ISBN: 978-3-540-47063-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics