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.
Preview
Unable to display preview. Download preview PDF.
References
G. Alverson. Abstractions for Effectively Portable Shared Memory Parallel Programs. PhD thesis, University of Washington, Department of Computer Science and Engineering, 1990.
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.
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.
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.
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.
W. Crowley, C. P. Hendrickson, and T. I. Luby. The Simple code. Technical Report UCID-17715, Lawrence Livermore Laboratory, 1978.
D. E. Culler and Arvind. Resource requirements of dataflow programs. In Proceedings of the International Symposium on Computer Architecture, pages 141–150, 1988.
K. Ekanadham and Arvind. SIMPLE: Part I, an exercise in future scientific programming. Technical Report CSG Technical Report 273, MIT, 1987.
D. Gannon and J. Panetta. SIMPLE on the CHiP. Technical Report 469, Computer Science Department, Purdue University, 1984.
D. Gannon and J. Panetta. Restructuring Simple for the CHiP architecture. In Parallel Computing, pages 3:305-326, 1986.
K. Gates. Simple: An exercise in programming in Poker. Technical report, Applied Mathematics Department, University of Washington, 1989.
R. E. Hiromoto, O. M. Lubeck, and J. Moore. Experiences with the Denelcor HEP. In Parallel Computing, pages 1:197-206, 1984.
T. J. Holman. Processor Element Architecture for Non-Shared Memory Parallel Computers. PhD thesis, University of Washington, Department of Computer Science, 1988.
Intel Corporation. iPSC/2 User's Guide. October 1989.
J. Lee. Extending the SIMPLE program in Poker. Technical Report 89-11-07, Department of Computer Science and Engineering, University of Washington, 1989.
C. Lin and L. Snyder. Portable parallel programming: Cross machine comparisons for SIMPLE. In Fifth SIAM Conference on Parallel Processing, 1991.
T. Lovett and S. Thakkar. The Symmetry multiprocessor system. In Proceedings of the International Conference on Parallel Processing, pages 303–310, 1988.
J. M. Meyers. Analysis of the SIMPLE code for dataflow computation. Technical Report MIT/LCS/TR-216, MIT, 1979.
NCUBE Corporation. NCUBE Product Report. 1986. Beaverton OR.
K. Pingali and A. Rogers. Compiler parallelization of SIMPLE for a distributed memory machine. Technical Report 90-1084, Cornell University, 1990.
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.
L. Snyder. Applications of the “Phase Abstractions” for portable and scalable parallel programming. In Proceedings of the ICASE Workshop on Programming Distributed Memory Machines.
D. Socha. An approach to compiling single-point iterative programs for distributed memory computers. In Proceedings of the Fifth Distributed Memory Computing Conference, 1990.
M. R. Thistle and B. J. Smith. A processor architecture for Horizon. In Proceedings of Supercomputing '88, pages 35–41, 1988.
Author information
Authors and Affiliations
Editor information
Rights 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