CRC Press Publishing Company, Boca Raton, FL, 1998, 496 pp.
ISBN 0-8493-3178-1, $74.95
The Distributed System Design is a superbly organized, comprehensive exposition of basic concepts, issues, and some possible solutions in the distributed systems design. Highly regarded author has meticulously selected the material from original sources of contemporary literature, new contributed papers by preeminent researchers in the field plus his own research results to provide state-of-the-art discussions on various important issues in distributed systems design. Graduate/senior undergraduate students in distributed systems design/advanced operating systems as well as computer professionals analyzing and designing distributed/open/parallel systems will find key insights into current trends and solutions of distributed systems likely to shape future directions of this important field.
From the beginning, the author motivates the study of this subject well by pointing out that the future requirements for computing speed, system reliability, and cost-effectiveness entail the development of alternative computers to replace the traditional von Neumann organization. As computing networks come into being, one of the latest dreams is now possible—distributed computing.
The twelve chapters of this book can be roughly divided into three parts. Part I (Chapters 1 to 3) introduces the necessary background material and foundations in the aspect of distributed system model, distributed programming languages and formal approaches to distributed systems design. The background material is comprehensive and the model that the author uses throughout the book is emphasized. This part gives the reader a perspective on past accomplishments and a global picture of the area.
Part II (Chapters 4 to 11) addresses various important issues in distributed systems design such as mutual exclusion, deadlock, interprocessor communication mechanisms, reliability issue, static and dynamic load distribution and distributed data management. Each chapter concentrates on software elements of design that emphasize performance, flexibility, fault tolerance, and scalability. Each issue is put forward clearly by descriptions and diagrams. Possible solutions are presented with algorithms and explicit examples. Ample references are provided for further exploration of the issues. This part is beneficial to students/researchers on their research projects in distributed systems.
Part III (Chapter 12) concentrates on the applications of distributed design in operating systems, file systems, shared memory systems, database systems and heterogeneous processing, which further demonstrate the significance of distributed systems. In addition, future research directions are listed that provide readers with the trend in this field.
The exercises after each chapter are original, challenging and pertaining to the content just covered. They have a nice mix of theory, analysis, and design, which not only help readers refresh their knowledge but also widen their view scope of this subject.
In summary, this book is a well-organized and thoroughly developed text with plenty of current issues and research results in distributed systems explained in supportive examples and illustrations. The major sections of the book are well ordered, as is each individual chapter. In a word, with a level of expertise simply unmatched in the field, Distributed System Design provides readers with a solid foundation to understand and further explore in this increasingly important area of technology.
Southwest Texas State University