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.
|Title of host publication
|Languages and Compilers for Parallel Computing - 5th International Workshop, Proceedings
|Utpal Banerjee, David Gelernter, Alex Nicolau, David Padua
|Number of pages
|Published - 1993
|IFIP WG 5.7 International Conference on Advances in Production Management Systems, APMS 2017 - Hamburg, Germany
Duration: Sep 3 2017 → Sep 7 2017
|Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
|IFIP WG 5.7 International Conference on Advances in Production Management Systems, APMS 2017
|9/3/17 → 9/7/17
Bibliographical noteFunding Information:
This work was supported in part by the Office of Naval Research (ONR) under grant number N00014-91-J-4013 and by the National Science Foundation (NSF) under award number 9015696-CDA.
© Springer-Verlag Berlin Heidelberg 1993.
ASJC Scopus subject areas
- Theoretical Computer Science
- Computer Science (all)