A well written and presented book. As an aid in presenting concepts the authors use a 'design space approach' which is a diagrammatic method of presenting significant design aspects and choice of particular architectures.
The previous two reviewss ( Paradigms for Fast Parallel Approximability and Parallel Algorithms for Regular Architectures ) are on books on very specialised areas of parallel computation. This text is much more general looking at recent advances in computer architecture which are used in today's commercial computer systems, e.g. CISC architectures implemented using RISC cores, dynamic branch prediction, precoding, etc.
The first section is fundamentals starting from the von Neumann machine and going on to parallel processing reviewing functional parallelism (parallelism in the logic of the solution) and data parallelism (structures which allow parallel operations on elements such as vector and matrices) and introducing basic parallel techniques such as pipelining and replication. Further sections look at ILP (Instruction-Level Parallel) processors (pipelined, superscaler, etc.), Instruction-level Data-Parallel processors (SIMD architecture, vectorization, etc.) and MIMD architectures (e.g. looking at implementations and problems of distributed and shared memory architectures). To support the theoretical aspects case studies are presented on machines including the Power PC, PentiumPro, IBM RS/6000, Cray C90, Convex C4/XA, T9000 Transputer and Cray T3D.
A well written and presented book. As an aid in presenting concepts the authors use a 'design space approach' which is a diagrammatic method of presenting significant design aspects and choice of particular architectures, e.g. one has a diagram presenting the tasks to be carried out to achieve pipeline instruction processing and then diagrams showing alternative methods of implementation (e.g. single, double and multiple pipelines) in more and more detail. A useful review for research students (and others) starting work in the area of parallel computation and as a text to support a module on advanced computer architectures.