Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems)
Shows students, programmers, system designers and researchers how to design, implement, and analyze distributed algorithms. Familiarizes readers with the most important problems, algorithms, and impossibility results in the area.Provides the basic mathematical tools for designing new algorithms and proving new impossibility results. Teaches how to reason carefully about distributed algorithms--to model them formally, devise precise specifications for their required behavior, prove their correctness, and evaluate their performance with realistic measures.Features:* The most significant algorithms and impossibility results in the area, all in a simple automata-theoretic setting.* The algorithms are proved correct, and their complexity analyzed according to precisely-defined complexity measures.* The problems covered include resource allocation, communication, consensus among distributed processors, data consistency, deadlock detection, leader election, global snapshots, and many others.The material is organized according to the system model -- first, according to the timing model, and then, by the interprocess communication mechanism. The material on system models is isolated into separate chapters for easy reference. --Book DescriptionThis is the finest texbook it has been my pleasure to review, and I strongly recommend it to both the specialist and the merely interested reader.  The real contribution comes from the presentation of so many algorithms in a common and usable style.  It does for distributed algorithms what Knuth Volume I did for sequential ones. --Julian Padget (Mathematical Reviews, January 1997)