Skip to main content

A control-parallel programming model implemented on SIMD hardware

  • Conference paper
  • First Online:
Book cover Languages and Compilers for Parallel Computing (LCPC 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 757))

Abstract

Although “data parallelism” has been shown to be an effective and portable way to express some types of parallel algorithms, there are many other problems for which data parallelism seems awkward and inefficient. For example, recursive decompositions and operations on irregular grids are most readily expressed using control parallelism. The problem is that control parallelism has always been associated with MIMD (Multiple Instruction stream, Multiple Data stream) hardware. In this paper, we describe how to make a MIMD programming model execute efficiently on a SIMD (Single Instruction stream, Multiple Data stream) computer.

The efficient execution of control-parallel code on a SIMD machine involves a careful blend of compiler technology and design and semi-automatic construction of the support routines (i.e., the MIMD emulator). This paper discusses how the techniques were applied to give the appearance of a 16;384-processor shared memory barrier MIMD using the hardware of a SIMD MasPar MP-1.

This work was supported in part by the Office of Naval Research (ONR) under grant number Nooo14-91-J-4013 and by the National Science Foundation (NSF) under award number 9015696-CDA.

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. T. Blank, The MasPar MP-1 Architecture, 35th IEEE Computer Society International Conference (COMPCON), February 1990, pp. 20–24.

    Google Scholar 

  2. C.J. Brownhill and A. Nicolau, Percolation Scheduling for Non-VLIW Machines, Technical Report 90-02, University of California at Irvine, Irvine, California, January 1990.

    Google Scholar 

  3. T.B. Berg and H.J. Siegel, Instruction Execution Trade-Offs for SIMD vs. MIMD vs. Mixed Mode Parallelism, 5th International Parallel Processing Symposium, April 1991, pp. 301–308.

    Google Scholar 

  4. Cray Research Incorporated, The CRAY Y-MP C90 Supercomputer System, Eagan, Minnesota, 1991.

    Google Scholar 

  5. H.G. Dietz, Common Subexpression Induction, 1992 International Conference on Parallel Processing, Saint Charles, Illinois, August 1992, vol. 2, pp. 174–182.

    Google Scholar 

  6. H.G. Dietz, M.T. O'Keefe, and A. Zaafrani, An Introduction to Static Scheduling for MIMD Architectures, Advances in Languages and Compilers for Parallel Processing, edited by A. Nicolau, D. Gelertner, T. Gross, and D. Padua, The MIT Press, Cambridge, Massachusetts, 1991, pp. 425–444.

    Google Scholar 

  7. H.G. Dietz, M.T. O'Keefe, and A. Zaafrani, Static Scheduling for Barrier MIMD Architectures, The Journal of Supercomputing, vol. 5, pp. 263–289, 1992.

    Google Scholar 

  8. H.G. Dietz, T. Schwederski, M. T. O'Keefe, and A. Zaafrani, Static Synchronization Beyond VLIW, Supercomputing 1989, November 1989, pp. 416–425.

    Google Scholar 

  9. W.D. Hillis, The Connection Machine, Scientific American, June 1987, pp. 108–115.

    Google Scholar 

  10. A.D. Klappholz, An Improved Design for a Stochastically Conflict-Free Memory/Interconnection System, 14th Asilomar Conference on Circuits, Systems, and Computers, November 1980.

    Google Scholar 

  11. M. S. Littman and C. D. Metcalf, An Exploration of Asynchronous Data-Parallelism, Technical Report, Yale University, July 1990.

    Google Scholar 

  12. MasPar Computer Corporation, MasPar Programming Language (ANSI C compatible MPL) Reference Manual, Software Version 2.2, Document Number 9302-0001, Sunnyvale, California, November 1991.

    Google Scholar 

  13. M. Nilsson and H. Tanaka, MIMD Execution by SIMD Computers, Journal of Information Processing, Information Processing Society of Japan, vol. 13, no. 1, 1990, pp. 58–61.

    Google Scholar 

  14. T.J. Parr, H.G. Dietz, and W.E. Cohen, PCCTS Reference Manual (version 1.00), ACM SIGPLAN Notices, Feb. 1992, pp. 88–165.

    Google Scholar 

  15. M.J. Phillip, Unification of Synchronous and Asynchronous Models for Parallel Programming Languages, Master's Thesis, School of Electrical Engineering, Purdue University, West Lafayette, Indiana, June 1989.

    Google Scholar 

  16. H.J. Siegel, W.G. Nation, and M.D. Allemang, The Organization of the PASM Reconfigurable Parallel Processing System, Ohio State Parallel Computing Workshop, Computer and Information Science Department, Ohio State University, Ohio, March 1990, pp. 1–12.

    Google Scholar 

  17. H.S. Stone, Database Applications of the Fetch-And-Add Instruction, IEEE Transactions on Computers, July 1984, pp. 604–612.

    Google Scholar 

  18. S. Thakkar, P. Gifford, and G. Fielland, Balance: A Shared Memory Multiprocessor System, International Conference on Supercomputing, May 1987, pp. 93–101.

    Google Scholar 

  19. Thinking Machines Corporation, Connection Machine Model CM-2 Technical Summary, version 6.0, Cambridge, Massachusetts, November 1990.

    Google Scholar 

  20. P.A. Wilsey, D.A. Hensgen, C.E. Slusher, N.B. Abu-Ghazaleh, and D.Y. Hollinden, Exploiting SIMD Computers for Mutant Program Execution, Technical Report No. TR 133-11-91, Department of Electrical and Computer Engineering, University of Cincinnati, Cincinnati, Ohio, November 1991.

    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

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dietz, H., Cohen, W. (1993). A control-parallel programming model implemented on SIMD hardware. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1992. Lecture Notes in Computer Science, vol 757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57502-2_55

Download citation

  • DOI: https://doi.org/10.1007/3-540-57502-2_55

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57502-3

  • Online ISBN: 978-3-540-48201-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics