Skip to main content

Automatic Parallelization for Distributed Memory Multiprocessors

  • Chapter
Automatic Parallelization

Abstract

This paper describes a framework for a parallelizing compiler for distributed memory multiprocessor machines (DMMs). The framework provides a compiler and a runtime support library which allows to use the DMMs with a sequential language. The compiler computes a data distribution for the arrays of the source program and parallelizes the inner loops of the program. The data distribution is computed by a branch-and-bound algorithm that uses a performance estimator to evaluate the relative efficiency of different data decomposition schemes for any given program. The performance estimation takes place at compile time and uses several parameters of the used DMM like the startup time and the byte transfer time. The paper also describes a prototype implementation of the framework on an Intel iPSC/860 for the language Pascal and discusses some experimental evaluations.

research supported by the Commission of the European Community, ESPRIT Project #5399 (COMPARE)

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight 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. G.R. Andews, R.A. Olsson, M. Coffin, I. Elshoff, K. Nilsen, T. Purdin, and G. Townsend. An Overview of the SR Language and Implementation. ACM Transactions on Programming Languages and Systems, pages 51–86, 1988.

    Google Scholar 

  2. H.E. Bal, J.G. Steiner, A.S. Tanenbaum. Programming Languages for Distributed Computing Systems. ACM Computing Surveys, pages 261–322, 1989.

    Google Scholar 

  3. V. Balasundaram, G. Fox, K. Kennedy, U. Kremer. An Interactive Environment for Data Partitioning and Distribution. Proceedings of the 5th Distributed Memory Computing Conference, 1990.

    Google Scholar 

  4. B. Chapman, H. Herbeck, H. Zima. Automatic Support for Data Distribution. Technical Report ACPCITR 91–14, Austrian Center for Parallel Computation, July 1991.

    Google Scholar 

  5. B. Chapman, H. Herbeck, H. Zima. Knowledge—based Parallelization for Distributed Memory Systems. Technical Report ACPC/l’R 91–11, Austrian Center for Parallel Computation, April 1991.

    Google Scholar 

  6. B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. In Third Workshop on Compilers for Parallel Computers, pages 121–160, 1992.

    Google Scholar 

  7. A. Dierstein. Parallelisierung mit automatischer Datenaufteilung für imperative Programmiersprachen — Teil 1: Parallelisierungsstrategie. Diplomarbeit, Universität des Saarlandes, 1993.

    Google Scholar 

  8. J.A. Feldmann, C.C. Lim, F. Mazzanti. pSather monitors: Design, Tutorial Rationale and Implementation. Technical Report TR-91–031, International Computer Science Institut Berkeley, CA, 1991.

    Google Scholar 

  9. J.A. Feldmann, C.C. Lim, T. Rauber. The shared—memory language pSather on a distributed—memory multiprocessor. In Second Workshop on Languages, Compilers, and Run-Time Environments for Distributed Memory Multiprocessors, Boulder, CO, 1992.

    Google Scholar 

  10. N.H. Gehani and W.D. Roome. Concurrent C. Software — Practice and Experience, pages 821–844, 1986.

    Google Scholar 

  11. H.M. Gemdt. Automatic Parallelization for Distributed Memory Multiprocessing Systems. Dissertation, University of Bonn, 1989.

    Google Scholar 

  12. M. Gemdt, H.P. Zima. Superb: Experiences and Future Research. Technical Report ACPCITR90–5, Austrian Center for Parallel Computation, October 1990.

    Google Scholar 

  13. M. Gupta and P. Banerjee. Automatic Data Partioning on Distributed Multiprocessors. University of Illinois, Technical Report CRHC-90–14, 1990.

    Google Scholar 

  14. R. Hayer. Parallelisienmg mit automatischer Datenaufteilung für imperative Programmiersprachen—Teil 2: Automatische Datenaufteilung. Diplomarbeit, Universität des Saarlandes, 1993.

    Google Scholar 

  15. S. Hiranandani, K. Kennedy, C.W. Tseng. Compiler Support for Machine—Independent Parallel Programming in Fortran—D. Technical Report Rice COMP TR91–149, Rice University, March 1991.

    Google Scholar 

  16. K. Ikudome, D. Fox, A. Kolawa and J. Flower. An Automatic and Symbolic Parallelization System for Distributed Memory Parallel Computers. Proceedings of the 5th Distributed Memory Computing Conference, IEEE, pages 1105–1114, 1990.

    Google Scholar 

  17. INMOS Ltd. OCCAM Programming Manual. Prentice Hall, Englewood Cliffs, NJ, 1984.

    Google Scholar 

  18. K. Kennedy, U. Kremer. Automatic Data Alignment and Distribution for Loosely Synchronous Problems in an Interactive Programming Environment. Technical Report COMP TR91–155, Rice University, April 1991.

    Google Scholar 

  19. C.W. KeBler: Knowledge—Based Automatic Parallelization by Pattern Recognition. This volume.

    Google Scholar 

  20. J. Li and M. Chen. Index Domain Alignment. Yale University, 1989.

    Google Scholar 

  21. M. Metcalf. Fortran 90 Explained. Oxford Science Publications. Oxford University Press, 1990.

    Google Scholar 

  22. R. Mirchandaney, J.H. Saltz, R.M. Smith, D.M. Nichol, K. Crowley. Principles of Runtime Support for Parallel Processors. In Proceedings of the ACM. 1988.

    Google Scholar 

  23. Parasoft Co. EXPRESS user manual. Parasoft Co., 1989.

    Google Scholar 

  24. Reference Guide for iPSC/860. Intel, 1990.

    Google Scholar 

  25. K. Pingali, A. Rogers. Compiler Parallelization of SIMPLE for a Distributed Memory Machine. In Languages, Compilers and Run—Time Environments for Distributed Memory Machines, pages 63–78. Elsevier, 1992.

    Google Scholar 

  26. R. Sawdayi, G. Wagenbreth, J. Williamson. MIMDizer. Functional and Data decomposition. In Compilers and Runtime Software for Scalable Multiprocessors. Elsevier, 1991.

    Google Scholar 

  27. D. Scales, M. Rinard, M. Lam, J. Anderson. Hierachical Concurrency in Jade. 4th International Workshop on Languages and Compilers for Parallel Computing. Santa Clara, CA, August, 1991, Springer LNCS 589.

    Google Scholar 

  28. User’s Guide for iPSC/860. Intel, 1990

    Google Scholar 

  29. J. Wexler. Concurrent Programming in Occam-2. Wiley, 1989.

    Google Scholar 

  30. H. Zima and B. Chapman. Supercompilers for Parallel and Vector Computers, ACM Press Frontier Series, Addison—Wesley, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thomas Rauber .

Editor information

Christoph W. Keßler

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden

About this chapter

Cite this chapter

Dierstein, A., Hayer, R., Rauber, T. (1994). Automatic Parallelization for Distributed Memory Multiprocessors. In: Keßler, C.W. (eds) Automatic Parallelization. Vieweg+Teubner Verlag. https://doi.org/10.1007/978-3-322-87865-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-322-87865-6_11

  • Publisher Name: Vieweg+Teubner Verlag

  • Print ISBN: 978-3-528-05401-4

  • Online ISBN: 978-3-322-87865-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics