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 Ian Parberry - Prentice Hall
The rapid growth of parallel complexity theory has led to a proliferation of parallel machine models. This book presents a unified theory of parallel computation based on a network model. It is the first such synthesis in book form.
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.
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 Mikito Takada - mixu.net
This text provides a more accessible introduction to distributed systems. The book brings together the ideas behind many of the more recent distributed systems - such as Amazon's Dynamo, Google's BigTable and MapReduce, Apache's Hadoop and so on.