How to Write Parallel Programs: A First Course
by Nicholas Carriero, David Gelernter
Publisher: MIT Press 1992
Number of pages: 246
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.
Download or read it online for free here:
by Norm Matloff - University of California, Davis
This book is aimed more on the practical end of things, real code is featured throughout. The emphasis is on clarity of the techniques and languages used. It is assumed that the student is reasonably adept in programming and linear algebra.
by Dimitri P. Bertsekas, John Tsitsiklis - Athena Scientific
This is a comprehensive and theoretically sound treatment of parallel and distributed numerical methods. It focuses on algorithms that are naturally suited for massive parallelization, and it explores the issues associated with such algorithms.
by Robert Virding, Claes Wikstrom, Mike Williams - Prentice Hall PTR
A tutorial of Erlang, a concurrent, functional programming language. The emphasis of this book is on learning through example and a number of well known problems in designing and programming concurrent fault-tolerant real-time systems.
by Paul E. McKenney
The purpose of this book is to help you understand how to program shared-memory parallel machines. By describing the algorithms that have worked well in the past, we hope to help you avoid some of the pitfalls that have beset parallel projects.