Skip to main content

A Personal, Historical Perspective of Parallel Programming for High Performance

  • Chapter
Communication-Based Systems
  • 112 Accesses

Abstract

Although work on the specification, semantics and verification of parallelism over the last decades has led to significant progress in the understanding of parallelism and to workable development methods in certain domains, no method for the development of reliable, portable, parallel application software for high-performance computing has been achieved as of yet whose practicality and ease of use is commonly evident.

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
Hardcover Book
USD 109.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. K. R. Apt, N. Francez, and W. P. de Roever. A proof system for communicating sequential processes. ACM Trans, on Programming Languages and Systems, 2(3):359–385, July 1980.

    Article  MATH  Google Scholar 

  2. B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, and M. Vanneschi. P3L: A structured high level programming language and its structured support. Concurrency: Practice and Experience, 7(3):225–255, 1995.

    Article  Google Scholar 

  3. B. Bacci, S. Gorlatch, C. Lengauer, and S. Pelagatti. Skeletons and transformations in an integrated parallel programming environment. In Parallel Computing Technologies (PaCT-99), LNCS 1662, pages 13–27. Springer-Verlag, 1999.

    Google Scholar 

  4. G. E. Blelloch, J. C. Hardwick, J. Sipelstein, M. Zagha, and S. Chatterjee. Implementation of a portable nested data-parallel language. J. Parallel and Distributed Computing, 21(1):4–14, Apr. 1994.

    Article  Google Scholar 

  5. D. Cann. Retire Fortran? A debate rekindled. Comm. ACM, 35(8), Aug. 1992.

    Google Scholar 

  6. J. Darlington, A. Field, P. Harrison, P. Kelly, D. Sharp, Q. Wu, and R. L. While. Parallel programming using skeleton functions. In A. Bode, M. Reeve, and G. Wolf, editors, Parallel Architectures and Languages Europe (PARLE ’93), LNCS 694, pages 146–160. Springer-Verlag, 1993.

    Chapter  Google Scholar 

  7. P. Feautrier. Automatic parallelization in the polytope model. In G.-R. Perrin and A. Darte, editors, The Data Parallel Programming Model, LNCS 1132, pages 79–103. Springer-Verlag, 1996.

    Chapter  Google Scholar 

  8. M. Feng and C. E. Leiserson. Efficient detection of determinacy races in Cilk programs. In 9th ACM Symp. on Parallel Algorithms and Architectures (SPAA ’97), pages 1–11. ACM Press, 1997.

    Google Scholar 

  9. M. Frigo, C. E. Leiserson, and K. H. Randall. The implementation of the Cilk-5 multithreaded language. ACM SIGPLAN Notices, 33(5):213–228, May 1998. Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI′98).

    Article  Google Scholar 

  10. A. Geist et al. PVM: Parallel Virtual Machine. MIT Press, 1994.

    MATH  Google Scholar 

  11. S. Gorlatch. Abstraction and performance in the design of parallel programs. Technical Report MIP-9802, Fakultät für Mathematik und Informatik, Universität Passau, Jan. 1998. Habilitation thesis.

    Google Scholar 

  12. S. Gorlatch, C. Wedler, and C. Lengauer. Optimization rules for programming with collective operations. In Proc. 13th Int. Parallel Processing Symp. & 10th Symp. on Parallel and Distributed Processing (IPPS/SPDP ’99), pages 492–499. IEEE Computer Society Press, 1999.

    Google Scholar 

  13. C. A. Herrmann and C. Lengauer. Parallelization of divide-and-conquer by translation to nested loops. J. Functional Programming, 9(3):279–310, May 1999.

    Article  MATH  Google Scholar 

  14. C. A. Herrmann, C. Lengauer, R. Günz, J. Laitenberger, and C. Schaller. A compiler for HDC. Technical Report MIP-9907, Fakultät für Mathematik und Informatik, Universität Passau, May 1999.

    Google Scholar 

  15. C. A. R. Hoare. Communicating sequential processes. Comm. ACM, 21(8):666–677, Aug. 1978.

    Article  MathSciNet  MATH  Google Scholar 

  16. C. A. R. Hoare. Communicating Sequential Processes. Series in Computer Science. Prentice-Hall Int., 1985.

    MATH  Google Scholar 

  17. INMOS Ltd. occam Programming Manual. Series in Computer Science. Prentice-Hall Int., 1984.

    Google Scholar 

  18. C. H. Koelbel, D. B. Loveman, R. S. Schreiber, G. L. Steele, Jr., and M. E. Zosel. The High Performance Fortran Handbook. Scientific and Engineering Computation. MIT Press, 1994.

    Google Scholar 

  19. L. Lamport. TLA—temporal logic of actions. ACM Trans, on Programming Languages and Systems, 16(3):872–923, May 1994.

    Article  Google Scholar 

  20. C. Lengauer. Loop parallelization in the polytope model. In E. Best, editor, CONCUR ’93, LNCS 715, pages 398–416. Springer-Verlag, 1993.

    Chapter  Google Scholar 

  21. G. M. Levin and D. Gries. A proof technique for communicating sequential processes. Acta Informatica, 15(3):281–302, 1981.

    Article  MathSciNet  MATH  Google Scholar 

  22. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1992.

    Book  Google Scholar 

  23. W. F. McColl. Scalable computing. In J. van Leeuwen, editor, Computer Science Today, LNCS 1000, pages 46–61. Springer-Verlag, 1995.

    Chapter  Google Scholar 

  24. R. Milner. Communication and Concurrency. Series in Computer Science. Prentice-Hall Int., 1989.

    MATH  Google Scholar 

  25. Z. G. Mou. Divacon: A parallel language for scientific computing based on divide-and-conquer. In Proc. 3rd Symp. Frontiers of Massively Parallel Computation, pages 451–461. IEEE Computer Society Press, Oct. 1990.

    Chapter  Google Scholar 

  26. Z. G. Mou and P. Hudak. An algebraic model for divide-and-conquer algorithms and its parallelism. J. Supercomputing, 2(3):257–278, 1988.

    Article  Google Scholar 

  27. S. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6(4):319–340, 1976.

    Article  MathSciNet  MATH  Google Scholar 

  28. S. S. Owicki and D. Gries. Verifying properties of parallel programs. Comm. ACM, 19(5):279–285, May 1976.

    Article  MathSciNet  MATH  Google Scholar 

  29. P. S. Pacheco. Parallel Programming with MPI. Morgan Kaufmann, 1997.

    MATH  Google Scholar 

  30. W. Reisig. A Primer in Petri Net Design. Springer Compass International. Springer-Verlag, 1992.

    Book  MATH  Google Scholar 

  31. R. Schreiber. High Performance Fortran, Version 2. Parallel Processing Letters, 7(4):437–449, 1997.

    Article  MathSciNet  Google Scholar 

  32. D. B. Skillicorn, J. M. D. Hill, and W. F. McColl. Questions and answers about BSP. Scientific Programming, 6(3):249–274, 1997.

    Google Scholar 

  33. P. W. Trinder, K. Hammond, H.-W. Loidl, and S. L. Peyton Jones. Algorithm + strategy = parallelism. J. Functional Programming, 8(l):23–60, Jan. 1998.

    Article  MATH  Google Scholar 

  34. C. Wedler and C. Lengauer. On linear list recursion in parallel. Acta Informatica, 35(10):875–909, 1998.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer Science+Business Media Dordrecht

About this chapter

Cite this chapter

Lengauer, C. (2000). A Personal, Historical Perspective of Parallel Programming for High Performance. In: Hommel, G. (eds) Communication-Based Systems. Springer, Dordrecht. https://doi.org/10.1007/978-94-015-9608-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-94-015-9608-4_9

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-90-481-5399-2

  • Online ISBN: 978-94-015-9608-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics