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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
T. Blank, The MasPar MP-1 Architecture, 35th IEEE Computer Society International Conference (COMPCON), February 1990, pp. 20–24.
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.
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.
Cray Research Incorporated, The CRAY Y-MP C90 Supercomputer System, Eagan, Minnesota, 1991.
H.G. Dietz, Common Subexpression Induction, 1992 International Conference on Parallel Processing, Saint Charles, Illinois, August 1992, vol. 2, pp. 174–182.
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.
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.
H.G. Dietz, T. Schwederski, M. T. O'Keefe, and A. Zaafrani, Static Synchronization Beyond VLIW, Supercomputing 1989, November 1989, pp. 416–425.
W.D. Hillis, The Connection Machine, Scientific American, June 1987, pp. 108–115.
A.D. Klappholz, An Improved Design for a Stochastically Conflict-Free Memory/Interconnection System, 14th Asilomar Conference on Circuits, Systems, and Computers, November 1980.
M. S. Littman and C. D. Metcalf, An Exploration of Asynchronous Data-Parallelism, Technical Report, Yale University, July 1990.
MasPar Computer Corporation, MasPar Programming Language (ANSI C compatible MPL) Reference Manual, Software Version 2.2, Document Number 9302-0001, Sunnyvale, California, November 1991.
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.
T.J. Parr, H.G. Dietz, and W.E. Cohen, PCCTS Reference Manual (version 1.00), ACM SIGPLAN Notices, Feb. 1992, pp. 88–165.
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.
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.
H.S. Stone, Database Applications of the Fetch-And-Add Instruction, IEEE Transactions on Computers, July 1984, pp. 604–612.
S. Thakkar, P. Gifford, and G. Fielland, Balance: A Shared Memory Multiprocessor System, International Conference on Supercomputing, May 1987, pp. 93–101.
Thinking Machines Corporation, Connection Machine Model CM-2 Technical Summary, version 6.0, Cambridge, Massachusetts, November 1990.
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.
Author information
Authors and Affiliations
Editor information
Rights 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