A reader interested in parallel computing should look carefully at each new book in the field, especially when it focuses on a parallel computer that is in use. Readers who choose this book will share my disappointment.
The book is largely the story of one computer, the ICL DAP, and has the flavor of a history book and not that of a research monograph. It is a compilation of 20 published papers about the ICL DAP:
DAP--A Distributed Array Processor
Efficient High Speed Computing with the Distributed Array Processor
The Distributed Array Processor (DAP)
Signal Processing on a Processor Array
The AMT DAP 500
Software and Algorithms for the Distributed Array Processors
Non-numerical Methods on Parallel Computers
The Effective Use of SIMD Processor Arrays
Very High Performance Pseudo-random Number Generation on DAP
A Very High Speed Monte Carlo Simulation on DAP
Molecular Dynamics and Monte Carlo Simulations in Solid-state and Elementary Particle Physics
Speech Recognition on a Distributed Array Processor
Real Time Applications of DAP
Seismic Migration Using the ICL Distributed Array Processor
Gate Array Routing on the AMT DAP Processor Array
Adapting a Navier-Stokes Code to the ICL-DAP
Structure-from-motion Algorithms for Computer Vision on an SIMD Architecture
Recognition of Hand-written Characters Using the DAP
The DAP as a Filestore Search Engine
High Performance Linear Algebra on the AMT DAP 510
Therefore, it may interest people who study the evolution of an idea (parallel processing), its implementation as a parallel computer (an array of simple processors) working in a SIMD manner, and the applications run on it. The information about hardware, software, and applications is scattered throughout the book. For example, three chapters (1 through 3) include descriptions of the processing element, and none of them is complete from a design point of view. It is regrettable that such subjects as the programming model of the PE, including the full description of APAL (the assembler), DAP FORTRAN, and the library used by applications are missing.
Consider, for example, chapter 6, “Software and Algorithms for the DAP.” In the introduction, its author says that “this paper discusses DAP FORTRAN,” but only two differences from ordinary FORTRAN are presented: the ability to process complete arrays as single items and the use of conditional operations in the case of DAP array processors. Is this all? Finally, some sketchy programming examples are given.
Someone who considers the titles of the chapters, most of them referring to applications, would be confused by the scant information found inside. This book may be an introductory text for students interested in parallel computing who are at the beginning of their studies.