Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Data-parallel programming on MIMD computers
Hatcher P., Quinn M., MIT Press, Cambridge, MA, 1992. Type: Book (9780262082051)
Date Reviewed: Sep 1 1993

The target audiences for this book are people interested in high-level parallel programming languages, Dataparallel C programming, or the compilation of such languages for parallel computers. As with many books that try to hit too many targets, this book could be a disappointment, particularly for the first two audiences. Only about 14 pages focus on programming languages in general. The book serves somewhat better as a Dataparallel C reference. The programming model discussed is based on virtual processors, global name space, and synchronous execution of a single instruction stream. These and other programming details are explained clearly and illustrated with numerous examples.

The book is divided into eight chapters:

  • Introduction

  • Dataparallel C Programming Language Description

  • Design of a Multicomputer Dataparallel C Compiler

  • Design of a Multiprocessor Dataparallel C Compiler

  • Writing Efficient Programs

  • Benchmarking the Compilers

  • Case Studies

  • Conclusions

It also includes three appendices containing performance data for different machines, a bibliography, and an index. The index is sparse. For example, even though virtual topology is important to the model presented, and several significant discussions of virtual topologies are included in the book, only one is cited in the index.

This book serves best as an introduction to compiling data parallel programs for multiprocessors and multicomputers. On both types of architecture, supporting virtual processors and dealing with asynchronicity are prime concerns. Also, on multicomputers, support must be provided to overcome the lack of a global name space, and on multiprocessors the number of barrier synchronizations must be minimized to provide reasonable performance. Overall, the discussions of compilation for both types of architecture are readable and understandable. In particular, the authors are good at dealing with one issue at a time and providing examples that illustrate their points. The chapters on compilation provide introductory insight into some of the issues involved in designing and implementing a working, albeit experimental, parallel compiler for the compilation of data parallel programs for multiprocessors and multicomputers. The authors point out what style of programming should be used to obtain good performance on the various target architectures and why. They say that, “given the current state of the compilers, you must assume a large amount of responsibility for the efficient execution of the compiled programs.…There will always be a need for the programmer to learn a programming style that helps the compiler generate good code.”

Reviewer:  L. M. Liebrock Review #: CR116109
Bookmark and Share
 
Parallel Programming (D.1.3 ... )
 
 
Dataparallel C (D.3.2 ... )
 
 
Multiple-Instruction-Stream, Multiple-Data-Stream Processors (MIMD) (C.1.2 ... )
 
 
Single-Instruction-Stream, Multiple-Data-Stream Processors (SIMD) (C.1.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Parallel Programming": Date
How to write parallel programs: a first course
Carriero N. (ed), Gelernter D. (ed), MIT Press, Cambridge, MA, 1990. Type: Book (9780262031714)
Jul 1 1992
Parallel computer systems
Koskela R., Simmons M., ACM Press, New York, NY, 1990. Type: Book (9780201509373)
May 1 1992
Parallel functional languages and compilers
Szymanski B. (ed), ACM Press, New York, NY, 1991. Type: Book (9780201522433)
Sep 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy