Issue No.11 - November (2008 vol.9)
Published by the IEEE Computer Society
Shrisha Rao , International Institute of Information Technology, Bangalore
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MDSO.2008.30
A review of <em>Distributed Systems: An Algorithmic Approach</em>, by Sukumar Ghosh
Distributed Systems: An Algorithmic Approach
Chapman & Hall, 2006
Up until a decade ago, few distributed computing tutorials or textbook resources were available. Even though the field was extensively researched and of obvious importance to practitioners and theoreticians, newcomers were obliged to pore over original research papers to learn the subject. Instructors teaching at the advanced undergraduate or beginning graduate levels, when students form their ability to comprehend the research literature directly, were similarly hampered. Happily, the situation has improved considerably in recent years, in large part due to works by Hagit Attiya and Jennifer Welch, 1 Vijay K. Garg, 2 and Shlomi Dolev, 3 among others.
Distributed Systems: An Algorithmic Approach is an important addition to the distributed computing literature. The book offers a broad overview of important distributed computing topics, and, where relevant, a touch of networking topics as well.
The book's first two chapters cover topics, such as what distributed systems are, that instructors might regard as preliminary. Chapters 3 to 6 describe the basics of distributed computing models—for example, message-passing versus shared memory and distributed algorithms' syntax and semantics—and include some discussion of program correctness and the notion of logical clocks in a distributed system. Chapters 7 to 11 cover mutual exclusion at a slightly deeper level than a standard operating systems course, as well as distributed snapshot and global-state aggregation, graph algorithms, and leader elections.
Chapters 12 through 17 are the book's best feature. These chapters deal with fault-tolerance fundamentals early on, but also present it as an important element in the topics discussed—consensus, distributed transactions, multicast, data management, and self-stabilization The chapters present the content that will be of the most interest to readers, especially practitioners who would like to see applications of the concepts presented. The final chapters deal with related topics such as discrete-event simulation, sensor networks, and peer-to-peer networks, mostly inspired by practical concerns. Instructors who cover this material will find it necessary to reference supplemental materials to add depth.
Shrisha Rao is a professor at the International Institute of Information Technology, Bangalore. Contact Shrisha at firstname.lastname@example.org.