Skip to main content

Programming SIMPLE for parallel portability

  • II. Experimentation with Parallel Programming
  • 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))

Abstract

The Phase Abstractions formulation of Livermore's SIMPLE computation is described in detail. This new program is of interest for three reasons. First, it enables the Phase Abstractions approach to be easily compared with the many other programming styles illustrated by SIMPLE in the past. Secondly, this program has recently been reported to execute on five diverse MIMD computers, in all cases achieving speedups in excess of 50% of linear. Thirdly, the Phase Abstractions permit easy revisions of the program that enable performance experimentation. Specifically, “array blocks” are compared to “column strips” as a means of array decomposition. Results comparing the two approaches are presented for the Sequent Symmetry, BBN Butterfly, Intel iPSC/2 and NCUBE/7. The results confirm the intuition that blocks are superior.

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. G. Alverson. Abstractions for Effectively Portable Shared Memory Parallel Programs. PhD thesis, University of Washington, Department of Computer Science and Engineering, 1990.

    Google Scholar 

  2. G. Alverson, W. Griswold, D. Notkin, and L. Snyder. A flexible communication abstraction for nonshared memory parallel computing. In Proceedings of Supercomputing '90, November 1990.

    Google Scholar 

  3. G. Alverson, W. Griswold, D. Notkin, and L. Snyder. Scalable abstractions for parallel programming. In Proceedings of the Fifth Distributed Memory Computing Conference, 1990. Charleston, South Carolina.

    Google Scholar 

  4. T. S. Axelrod, P. F. Dubois, and P. G. Eltgroth. A simulator for MIMD performance prediction — application to the S-1 MkIIa multiprocessor. In Proceedings of the International Conference on Parallel Processing, pages 350–358, 1983.

    Google Scholar 

  5. F. Berman, M. Goodrich, C. Koelbel, W. R. III, and K. Showell. Prep-P: A mapping preprocessor for CHiP computers. In Proceedings of the International Conference on Parallel Processing, pages 731–733, August 1985.

    Google Scholar 

  6. W. Crowley, C. P. Hendrickson, and T. I. Luby. The Simple code. Technical Report UCID-17715, Lawrence Livermore Laboratory, 1978.

    Google Scholar 

  7. D. E. Culler and Arvind. Resource requirements of dataflow programs. In Proceedings of the International Symposium on Computer Architecture, pages 141–150, 1988.

    Google Scholar 

  8. K. Ekanadham and Arvind. SIMPLE: Part I, an exercise in future scientific programming. Technical Report CSG Technical Report 273, MIT, 1987.

    Google Scholar 

  9. D. Gannon and J. Panetta. SIMPLE on the CHiP. Technical Report 469, Computer Science Department, Purdue University, 1984.

    Google Scholar 

  10. D. Gannon and J. Panetta. Restructuring Simple for the CHiP architecture. In Parallel Computing, pages 3:305-326, 1986.

    Google Scholar 

  11. K. Gates. Simple: An exercise in programming in Poker. Technical report, Applied Mathematics Department, University of Washington, 1989.

    Google Scholar 

  12. R. E. Hiromoto, O. M. Lubeck, and J. Moore. Experiences with the Denelcor HEP. In Parallel Computing, pages 1:197-206, 1984.

    Google Scholar 

  13. T. J. Holman. Processor Element Architecture for Non-Shared Memory Parallel Computers. PhD thesis, University of Washington, Department of Computer Science, 1988.

    Google Scholar 

  14. Intel Corporation. iPSC/2 User's Guide. October 1989.

    Google Scholar 

  15. J. Lee. Extending the SIMPLE program in Poker. Technical Report 89-11-07, Department of Computer Science and Engineering, University of Washington, 1989.

    Google Scholar 

  16. C. Lin and L. Snyder. Portable parallel programming: Cross machine comparisons for SIMPLE. In Fifth SIAM Conference on Parallel Processing, 1991.

    Google Scholar 

  17. T. Lovett and S. Thakkar. The Symmetry multiprocessor system. In Proceedings of the International Conference on Parallel Processing, pages 303–310, 1988.

    Google Scholar 

  18. J. M. Meyers. Analysis of the SIMPLE code for dataflow computation. Technical Report MIT/LCS/TR-216, MIT, 1979.

    Google Scholar 

  19. NCUBE Corporation. NCUBE Product Report. 1986. Beaverton OR.

    Google Scholar 

  20. K. Pingali and A. Rogers. Compiler parallelization of SIMPLE for a distributed memory machine. Technical Report 90-1084, Cornell University, 1990.

    Google Scholar 

  21. J. Saltz, V. Naik, and D. Nicol. Reduction of the effects of the communication delays in scientific algorithms on message passing MIMD architectures. SIAM Journal of Statistical Computing, 8(1):s118–134. January 1987.

    Google Scholar 

  22. L. Snyder. Applications of the “Phase Abstractions” for portable and scalable parallel programming. In Proceedings of the ICASE Workshop on Programming Distributed Memory Machines.

    Google Scholar 

  23. D. Socha. An approach to compiling single-point iterative programs for distributed memory computers. In Proceedings of the Fifth Distributed Memory Computing Conference, 1990.

    Google Scholar 

  24. M. R. Thistle and B. J. Smith. A processor architecture for Horizon. In Proceedings of Supercomputing '88, pages 35–41, 1988.

    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

Lee, J., Lin, C., Snyder, L. (1992). Programming SIMPLE for parallel portability. 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/BFb0038659

Download citation

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

  • 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