Skip to main content

Abstract

Functional languages attract the attention of developers of parallelizing compilers because of the implicit parallelism of functional programs and the simplified data dependence analysis of functional statements. A major drawback of functional languages is that naive translation of functional programs results in code that requires excessive memory. In this paper we explore the connection between the memory optimization and communication optimization of parallel codes generated from functional languages. We also show how a functional language can be used as an intermediate form in the translation from FORTRAN to customized, architecture-specific parallel code.

This work was partially supported by ONR Grant N00014-93-1-0076 and NSF Grant CCR-9216053.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. L. Gaudiot and L. Bic. Advanced topics in dataflow computing. Prentice Hall, New Jersey, 1991.

    Google Scholar 

  2. A. Gerasoulis and T. Yang. Comparison of clustering heuristics for scheduling directed acyclic graphs on multiprocessors. Journal of Parallel and Distributed Computing, (16):276–291, 1992.

    MathSciNet  MATH  Google Scholar 

  3. A. Gerasoulis and T. Yang. On the granularity and clustering of directed acyclic task graphs. IEEE Transactions on Parallel and Distributed Systems, 4(6):686–701, 1993.

    Article  Google Scholar 

  4. B. Lee and A. R. Hurston. Dataflow architectures and multithreading. IEEE Computer, pages 27–39, August 1994.

    Google Scholar 

  5. G. M. Papadopoulos. Implementation of a general-purpose datafiow multiprocessor. Research Monographs in Parallel and Distributed Computing. MIT Press, 1991.

    Google Scholar 

  6. K. Psarris, X. Kong, and D. Klappholz. The direction vector I test. IEEE Transactions on Parallel and Distributed Systems, 11(4), November 1993.

    Google Scholar 

  7. W. Pugh and D. Wonnacott. Nonlinear array dependence analysis. In B. K. Szymanski and B. Sinharoy, editors, Languages, Compilers and Run-Time Systems for Scalable Computers, pages 1–14. Kluwer Academic Publishers, Boston, 1995.

    Google Scholar 

  8. V. Sarkar. Partitioning and scheduling parallel programs for multiprocessors. Research monographs in parallel and distributed computing. MIT Press, Cambridge, MA., 1989.

    Google Scholar 

  9. B. Sinharoy and B. K. Szymanski. Memory optimization for parallel functional programs. Computer Systems in Engineering. To appear; abstract published in “Abstracts: International Meeting on Vector and Parallel Processing,” CICA, Porto, Portugal, 1993, p. 36.).

    Google Scholar 

  10. K. L. Spier and B. K. Szymanski. Interprocess analysis and optimization in the equational language compiler. In Burkhart, editor, CONPAR 90-VAPP, Joint International Conference on Vector and Parallel Processing, Zurich, Switzerland,Lecture Notes In Computer Science. Springer-Verlag, September 1990.

    Google Scholar 

  11. J. Subhlok, D. R. O’Hallaron, T. Gross, P. A. Dinda, and J. Webb. Communication and memory requirements as the basis for mapping task and data parallel programs. In Proceedings of SuperComputing 1994. ACM, 1994.

    Google Scholar 

  12. B. K. Szymanski. EPL-parallel programming with recurrent equations. In B.K. Szymanski, editor, Parallel Functional Languages and Compilers. ACM Press/Addison Wesley, New York, 1991.

    Google Scholar 

  13. B. K. Szymanski and N. S. Prywes. Efficient handling of data structures in definitional languages. Science of Computer Programming, 10(3):221–245,1988.

    Article  MathSciNet  MATH  Google Scholar 

  14. A. H. Veen. Dataflow machine architecture. ACM Computing Surveys, 18(4), 1986.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer Science+Business Media New York

About this chapter

Cite this chapter

Deelman, E., Kaplow, W.K., Szymanski, B.K., Tannenbaum, P., Ziantz, L. (1996). Integrating Data and Task Parallelism in Scientific Programs. In: Szymanski, B.K., Sinharoy, B. (eds) Languages, Compilers and Run-Time Systems for Scalable Computers. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2315-4_13

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-2315-4_13

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-5979-1

  • Online ISBN: 978-1-4615-2315-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics