IEEE DISTRIBUTED SYSTEMS ONLINE 1541-4922 © 2005 Published by the IEEE Computer Society Vol. 6, No. 3; March 2005 Editor: Marcin Paprzycki, http://www.cs.okstate.edu/%7Emarcin/
Mastering Distributed Computing Haoyang Che, Institute of Software, the Chinese Academy of Sciences
Distributed Computing: Fundamentals, Simulations, and Advanced Topics, 2nd ed. By Hagit Attiya and Jennifer Welch 432 pages US$89.95 John Wiley and Sons, 2004 ISBN: 0-471-45324-2 In recent years, diversified distributed computing paradigms have grown rapidly, including cluster, peer-to-peer, Grid, Web Services, Service-Oriented Architecture, and many others. Distributed Computing: Fundamentals, Simulations, and Advanced Topics thoroughly introduces distributed computing's mathematical foundations and covers the basic theory's main elements. Exploring the principles behind different theoretical models, the authors take readers through these notoriously difficult subjects and ably demystify puzzling buzzwords that other authors use without specifically explaining.
Structure and content Hagit Attiya and Jennifer Welch wrote the first edition of this title for McGraw-Hill. This second edition adds material on: failure detectors and applications for solving consensus in asynchronous systems, fast mutual exclusion, practical clock synchronization, and the processor lower bound for simulating shared memory with message passing. The authors have corrected some errors and improved the presentation. The three-part book presents up-to-date results in a precise, detailed, and accessible manner. IEEE Distributed Systems Online March 2005
1
Part 1 uses six chapters to introduce the basic communication and timing models, along with other major themes, in the context of several canonical problems. It emphasizes different models' similarities and inherent discrepancies. Part 2's seven chapters show how to provide powerful simulations that aid in developing correct distributed algorithms. These simulations include message broadcasts, shared objects with strong semantics, synchrony, less destructive faults, and fault-tolerant clocks. Part 3 comprises the last four chapters, which cover advanced and timely research topics. Attiya and Welch explore in more detail some issues they raised earlier, present results that use more difficult mathematical analyses, and give a taste of other areas in the field.
Evaluation With its teaching style, the book can serve as a comprehensive textbook for graduate and undergraduate students with basic mathematical backgrounds. Technical staff whose major subject area is distributed computing will profit from reading the book as well. In short, I highly recommend adding the book to your arsenal if you're preparing to study or research distributed computing. The medium-sized book is well organized and fully distills the essence of theoretical paradigms to distributed systems. Using many accompanying figures and examples, the authors strike a good balance between details and basic principles. However, I found a few minor errors and imperfections in the source code sampler and proofs, and the authors omitted some important topics. Even so, they successfully provide a coherent view of common themes and basic techniques.
Conclusion All in all, the book takes you behind the scenes and makes complex distributed computing issues easy to understand. However, it will give you abstract knowledge, not practical skills. If you want to learn about practical distributed programming in a certain language, you should look elsewhere. Qusay Mahmoud's Distributed Programming With Java (Manning, 1999) or Parallel and Distributed Programming Using C++ by Cameron Hughes and Tracey Hughes (Addison-Wesley, 2003) might be more appropriate for you.
Haoyang Che is a PhD student at the Institute of Software, the Chinese Academy of Sciences. He also works with the Sinosoft Group. Contact him at
[email protected]. Cite this article: Haoyang Che, "Mastering Distributed Computing," IEEE Distributed Systems Online, vol. 6, no. 3, 2005. IEEE Distributed Systems Online March 2005
2