Abstract
Mixed-mode parallel processing systems are capable of executing in either SIMD (synchronous) or MIMD (asynchronous) mode of parallelism. The ability to switch between the two modes at instruction-level granularity with very little overhead allows the parallelism mode to vary for each portion of an algorithm. To fully exploit the capability of intermixing both SIMD and MIMD operations within a single program, one must determine the optimum mapping of an algorithm to the mixed-mode architecture. The phase optimization technique, where the programmer makes an implicit assumption that by combining the best version of each phase the optimal implementation of the entire program will be achieved, generally works in a serial computer environment. The application of this approach to the selection of a mode of parallelism for each phase is investigated by presenting a detailed study of a practical image-processing application, the Edge-Guided Thresholding algorithm, and its mapping to a mixed-mode parallel architecture. The six functional phases of the algorithm, as well as their temporal juxtaposition, are analyzed along with experimental performance measurements obtained from the PASM parallel processing prototype, a mixed-mode system. The results discussed here demonstrate a situation in which the advantages of a mixed-mode approach are limited.
Original language | English |
---|---|
Pages (from-to) | 154-169 |
Number of pages | 16 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 13 |
Issue number | 2 |
DOIs | |
Publication status | Published - 1991 Oct |
Bibliographical note
Funding Information:* This research was supported by the Naval Ocean System Center under the High Performance Computing Block, ONT, by the Office of Naval Research under Grant NO00 14-90-J-1937, and by the National Science Foundation under Grant CDA-90 15696. + Current address: Sequent Computer Systems, Inc., 15450 SW Koll Parkway, Beaverton, OR 97006-6063.
All Science Journal Classification (ASJC) codes
- Software
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence