Publisher's Synopsis
Developments in parallelism in recent years have made it possible to build multi-processor architectures that enable efficiency and speed. This book provides an introduction to this technology, explaining the fundamentals of parallelism in a logical and readable way. It explains the basic concepts of parallelism and illustrates these by means of simple examples. Progressing from theory to implementation, the text develops the algorithms of vector processors, shared-memory parallel machines and distributed-memory machines emphasising the link between architectures, models and algorithms. In addition, the book addresses a number of issues that are of practical importance to people developing parallel programs, including coverage of LINPACK and BLAS, vectorization, task placement and scheduling.