How to Write Parallel Programs: A First Course

Front Cover
MIT Press, 1990 - Computers - 232 pages
In the not-too-distant future every programmer, software engineer, and computer scientist will need to understand parallelism, a powerful and proven way to run programs fast. The authors of this straightforward tutorial explain why this is so and provide the instruction that will transform ordinary programmers into parallel programmers. How to Write Parallel Programsfocuses on programming techniques for the largest class of parallel machines - general purpose asynchronous or MIMD machines. It outlines the basic parallel algorithm classes and the three basic programming paradigms, takes up the implementation techniques for these paradigms, and presents a series of case studies explaining code and discussing its measured performance. Because parallel programming requires both a computing language and a coordination language, the authors use C and Linda (a language they developed) as a combination that can be simply and efficiently implemented on a wide range of machines. The techniques discussed, however, can be applied in any comparable language environment. Nicholas Carriero is Associate Research Scientist and David Gelernter is Associate Professor in the Department of Computer Science at Yale University. Contents: Introduction. The Three Basic Models of Parallelism. Programming Techniques for the Three Basic Models. A Simple Problem, in Detail. Case Studies. From Parallelism to Coordination. Conclusions. Appendix: Linda User's Manual.

From inside the book

Contents

3
41
3
50
4
76
Copyright

12 other sections not shown

Other editions - View all

Common terms and phrases

Bibliographic information