This presentation of research on parallel processing concentrates on parallel processing for a single application in computer graphics--ray tracing. Green presents ray tracing as a good application for parallel processing. The design and analysis of a multiprocessor system for ray tracing are presented.
Chapter 1 is a short introduction, and chapter 8 is a short summary of the book. Chapter 2 is a graphics overview, with an emphasis on ray tracing. A brief introduction to graphics in general is followed by a good review of ray tracing techniques.
Chapter 3 provides an overview of parallel processing, describing several parallel processing systems. The author discusses the application of different parallel processing systems to graphics.
Chapter 4 is entitled “Design of a Multiprocessor Solution for Ray Tracing.” The design presented is a compromise between an application-specific system and a general-purpose system. Image space subdivision was chosen over object space subdivision because of its flexibility.
The processor farm model requires that the object database be duplicated for each processor, greatly increasing the memory requirements. This model has been extended so that a distributed database is supported on a tree configuration of processors. An implementation is described in some detail. This system is called distributed environment for information sharing, or DEnIS.
Chapter 5 is concerned with task management. Load distribution is analyzed, and methods for static as well as dynamic task management are described. Algorithms for task management suitable for the DEnIS system are presented, along with a performance model.
Chapter 6 discusses dynamic data management for the DEnIS system, primarily caching techniques. The author analyzes caching techniques, considering data coherence, cache size, and memory partitioning. He also presents empirical results from the DEnIS system.
Chapter 7, “Static Data Management,” offers an alternative to the dynamic management schemes in chapter 6. Instead of dynamic memory data management, a “resident set,” or a subset of the object database, is assigned to each processor statically. This method is analyzed in detail, and empirical results of its implementation are presented. If the resident set is chosen appropriately, the reduction in overhead of static data assignment provides a significant increase in performance over the caching techniques of chapter 6.
The index, bibliography, and illustrations are sufficient. The book includes a glossary and a good description of symbols.
Overall, the reader is given an excellent look at the parallel processing system for ray tracing. The emphasis is on the design and implementation of the parallel processing system rather than on ray tracing.