* Comprehensive introduction to the fundamental results in the mathematical foundations of distributed computing * Accompanied by supporting material, such as lecture notes and solutions for selected exercises * Each chapter ends with bibliographical notes and a set of exercises * Covers the fundamental models, issues and techniques, and features some of the more advanced topics "This is a second edition of a well-received graduate course textbook dealing with the important field of distributed computing." ( Computing Reviews.com , May 10, 2006) "...the authors take readers through these notoriously difficult subjects and ably demystify puzzling buzzwords…" ( IEEE Distributed Systems Online , March 2005) "The authors present the fundamental issues underlying the design of distributed systems…as well as fundamental algorithmic concepts and lower-bound techniques." ( IEEE Computer Magazine , October 2004) This text provides a well-written, thoroughly thought-out introduction to the theory of distributed computing. For the first time, the fundamentals of distributed computing will be accessible to nonspecialists. -Maurice Herlihy Computer Science Department, Brown University, on the first edition A Clear Path To Understanding Distributed Computing The explosive growth of distributed computing systems makes understanding them imperative. To make this notoriously difficult subject accessible, Distributed Computing: Fundamentals, Simulations, and Advanced Topics; Second Edition, provides a solid introduction to the mathematical foundations and theory of distributed computing, highlighting common themes and basic techniques. The authors present the fundamental issues underlying the design of distributed systems-communication, coordination, synchronization, and uncertainty-as well as fundamental algorithmic concepts and lower-bound techniques. The book's unifying approach emphasizes the similarities between different models and explains inherent discrepancies between them. Focusing on ideas rather than optimizations, the book discusses major models of distributed computing, including: Message passing and shared memory communication; synchronous and asynchronous timing models, failures, proofs of correctness, and lower bounds - Leader election, mutual exclusion, and consensus - Causality of events and clock synchronization - Simulations between models of distributed computing - Advanced topics including randomization, the wait-free hierarchy, asynchronous solvability, and failure detectors With new material on such subjects as fast mutual exclusion and queue locks, and improved coverage of existing material throughout, this Second Edition will serve as a comprehensive textbook for graduate and advanced undergraduate students, and as a key reference for researchers and practicing professionals. "This text provides a well-written, thoroughly thought-out introduction to the theory of distributed computing. For the first time, the fundamentals of distributed computing will be accessible to nonspecialists." Maurice Herlihy Computer Science Department, Brown University, on the first edition A Clear Path To Understanding Distributed Computing The explosive growth of distributed computing systems makes understanding them imperative. To make this notoriously difficult subject accessible, Distributed Computing: Fundamentals, Simulations, and Advanced Topics; Second Edition, provides a solid introduction to the mathematical foundations and theory of distributed computing, highlighting common themes and basic techniques. The authors present the fundamental issues underlying the design of distributed systems communication, coordination, synchronization, and uncertainty as well as fundamental algorithmic concepts and lower-bound techniques. The book s unifying approach emphasizes the similarities between different models and explains inherent discrepancies between them. Focusing on ideas rather than optimizations, the book discusses major models of distributed computing, including: Message passing and shared memory communication; synchronous and asynchronous timing models, failures, proofs of correctness, and lower bounds - Leader election, mutual exclusion, and consensus - Causality of events and clock synchronization - Simulations between models of distributed computing - Advanced topics including randomization, the wait-free hierarchy, asynchronous solvability, and failure detectors With new material on such subjects as fast mutual exclusion and queue locks, and improved coverage of existing material throughout, this Second Edition will serve as a comprehensive textbook for graduate and advanced undergraduate students, and as a key reference for researchers and practicing professionals. HAGIT ATTIYA received her PhD in Computer Science from Hebrew University, Jerusalem, Israel. Since 1990, she has taught in the Department of Computer Science at the Technion, Haifa–Israel’s leading technological university. She has