Find file
Fetching contributors…
Cannot retrieve contributors at this time
42 lines (37 sloc) 2.09 KB
% preface.tex
The purpose of this book is to help you understand how to program
shared-memory parallel machines without risking your sanity.\footnote{
Or, perhaps more accurately, without much greater risk to your
sanity than that incurred by non-parallel programming.
Which, come to think of it, might not be saying all that much.
Either way, Appendix~\ref{cha:app:Important Questions} discusses
some important questions whose answers are less intuitive in
parallel programs than in sequential program.}
By describing the algorithms and designs that have worked well in
the past, we hope to help you avoid at least some of the pitfalls
that have beset parallel projects.
But you should think of this book as a foundation on which to build,
rather than as a completed cathedral.
Your mission, if you choose to accept, is to help make further progress
in the exciting field of parallel programming, progress that should
in time render this book obsolete.
Parallel programming is not as hard as it is reputed, and it is hoped
that this book makes it even easier for you.
This book follows a watershed shift in the parallel-programming field,
from being primarily the domain of science, research, and grand-challenge
projects to being primarily an engineering discipline.
In presenting this engineering discipline, this book will examine
the specific development tasks peculiar to parallel programming,
and describe how they may be most effectively handled, and, in some
surprisingly common special cases, automated.
This book is written in the hope that presenting the engineering
discipline underlying successful
parallel-programming projects will free a new generation of parallel hackers
from the need to slowly and painstakingly reinvent old wheels, instead
focusing their energy and creativity on new frontiers.
Although the book is intended primarily for self-study, it is likely
to be more generally useful.
It is hoped that this book will be useful to you, and that the experience
of parallel programming will bring you as much fun, excitement, and
challenge as it has provided the authors over the years.