Skip to main content
Log in

A portable implementation of SIMPLE

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

This paper describes how the SIMPLE fluid dynamics benchmark is programmed using a new language that promotes portability. Beginning with the mathematics behind the SIMPLE simulation, we present in detail the process by which a portable Orca program is written. We provide evidence that our program is portable across the Intel iPSC/2, the nCUBE/7, the Sequent Symmetry, the BBN Butterfly, and a simulated Transputer-based nonshared memory machine. In addition, this paper illustrates that language constructs can be provided to ease the burden of programming with message passing.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. W. Crowly, C. P. Hendrickson, and T. I. Luby, The SIMPLE Code, Technical Report UCID-17715, Lawrence Livermore Laboratory (1978).

  2. K. Ekanadham and Arvind, SIMPLE: Part I, An Exercise in Future Scientific Programming, Technical Report CSG Technical Report 273, MIT (1987).

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

  4. D. Gannon and J. Panetta, Restructuring Simple for the CHiP Architecture,Parallel Computing,3:305–326 (1986).

    Google Scholar 

  5. J. M. Meyers, Analysis of the SIMPLE Code for Dataflow Computation, Technical Report MIT/LCS/TR-216, MIT (1979).

  6. T. S. Axelrod, P. F. Dubois, and P. G. Eltgroth, A Simulator for MIMD Performace Prediction—Application to the S-1 MkIIa Multiprocessor,Proc. of the Int'l. Conf. on Parallel Processing, pp. 350–358 (1983).

  7. D. E. Culler and Arvind, Resource Requirements of Dataflow Programs,Proc. of the Int'l. Symp. on Computer Architecture, pp. 141–150 (1988).

  8. R. E. Hiromoto, O. M. Lubeck, and J. Moore, Experiences with the Denelcor HEP,Parallel Computing,1:197–206 (1984).

    Google Scholar 

  9. T. J. Holman, Processor Element Architecture for Nonshared Memory Parallel Computers, PhD Thesis, University of Washington, Department of Computer Science (1988).

  10. K. Pingali and A. Rogers, Compiler Parallelization of SIMPLE for a Distributed Memory Machine, Technical Report 90-1084, Cornell University (1990).

  11. G. Alverson, W. Griswold, D. Notkin, and L. Snyder, A Flexible Communication Abstraction for Nonshared Memory Parallel Computing,Proc. of Supercomputing '90 (November 1990).

  12. W. Griswold, G. Harrison, D. Notkin, and L. Snyder, Scalable Abstractions for Parallel Programming,Proc. of the Fifth Distributed Memory Computing Conference, Charleston, South Carolina (1990).

  13. L. Snyder, Applications of the “Phase Abstractions” for Portable and Scalable Parallel Programming, inLanguages, Compilers, and Run-Time Enviroments for Distributed Memory Machines, Joel Saltz and Piyush Mehrotra, Eds., North Holland (1992).

  14. C. Lin and L. Snyder, A Comparison of Programming Models for Shared Memory Multiprocessors,Proc. of the Int'l. Conf. on Parallel Processing, Vol. II, pp. 163–180 (1990).

    Google Scholar 

  15. K. Gates, SIMPLE: An Exercise in Programming in Poker, Technical Report, Applied Mathematics Department, University of Washington (1989).

  16. D. Notkin, D. Socha, M. Bailey, B. Forstall, K. Gates, R. Greenlaw, W. Griswold, T. Holman, R. Korry, G. Lasswell, R. Mitchell, P. Nelson, and L. Snyder, Experiences with Poker,Proc. of the ACM SIGPLAN Symp. on Parallel Programming: Experience with Applications, Languages, and Systems (July 1988).

  17. M. Gerndt, Updating Distributed Variables in Local Computations,Concurrency—Practice and Experience,2(3):171–193 (September 1990).

    Google Scholar 

  18. S. Otto, MetaMP: A Higher Level Abstraction for Message-Passing Programming. Technical Report CS/E 91-003, Oregon Graduate Institute of Science and Technology (1991).

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

  20. P. Nelson, Parallel Programming Paradigms, PhD Thesis, University of Washington, Department of Computer Science (1987).

  21. J. Lee, C. Lin, and L. Snyder, Programming SIMPLE for Parallel Portability, inLanguages and Compilers for Parallel Computing, U. Banerjee, D. Gelernter, A. Nicolav, and D. Padua, Eds., Springer-Verlag (1992).

  22. D. Bailey, J. Cuny, and C. Loomis, ParaGraph: Graph Editor Support for Parallel Programming Environments, Technical Report 89-53, Department of Computer and Information Science, University of Massachusetts, Amherst (August 1989).

    Google Scholar 

  23. C. Lin and L. Snyder, Portable Parallel Programming: Cross Machine Comparisons for SIMPLE,Fifth SIAM Confernce on Parallel Processing (1991).

  24. T. Lovett and S. Thakkar, The Symmetry Multiprocessor System,Proc. of the Int'l. Conf. on Parallel Processing, pp. 303–310 (1988).

  25. G. Alverson, Abstractions for Effectively Portable Shared Memory Parallel Programs, PhD Thesis, University of Washington, Department of Computer Science and Engineering (1990).

  26. Intel Corporation,iPSC/2 User's Guide (October 1989).

  27. NCUBE Corporation,NCUBE Product Report, Beaverton, Oregon (1986).

  28. L. Snyder, Parallel Programming and the Poker Programming Enviroment,Computer, pp. 27–36 (July 1984).

  29. T. Dunigan, Hypercube Performance,Proc. of the 2nd Conf. on Hypercube Architectures, pp. 178–192 (1987).

  30. T. Dunigan, Performance of the Intel iPSC/860 and NCUBE 6400 Hypercubes, Technical Report ONRL/TM-11790, Oak Ridge National Laboratory (1991).

  31. R. Alverson, D. Callahan, D. Cummings, B. Koblenz, A. Porterfield, and B. Smith, The Tera Computer System,Int'l. Conf. on Supercomputing, pp. 1–6 (June 1990).

  32. A. Agarwal, D. Chaiken, G. D'Souza, K. Johnson, D. Kranz, J. Kubiatowicz, K. Kurihara, B.-H. Lim, G. Maa, D. Nussbaum, M. Parkin, and D. Yeung, The MIT Alewife machine: A Large Scale Distributed-Memory Multiprocessor,The Workshop on Multithreaded Computers at Supercomputing '91 (November 1991).

  33. 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):118–134 (January 1987).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lin, C., Snyder, L. A portable implementation of SIMPLE. Int J Parallel Prog 20, 363–401 (1991). https://doi.org/10.1007/BF01407813

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key Words

Navigation