This book offers students and researchers a guide to distributed algorithms that emphasizes examples and exercises rather than the intricacies of mathematical models. It avoids mathematical argumentation, often a stumbling block for students, teaching algorithmic thought rather than proofs and logic. This approach allows the student to learn a large number of algorithms within a relatively short span of time. Algorithms are explained through brief, informal descriptions, illuminating examples, and practical exercises. The examples and exercises allow readers to understand algorithms intuitively and from different perspectives. Proof sketches, arguing the correctness of an algorithm or explaining the idea behind fundamental results, are also included. An appendix offers pseudocode descriptions of many algorithms. Distributed algorithms are performed by a collection of computers that send messages to each other or by multiple software threads that use the same shared memory. The algorithms presented in the book are for the most part "classics," selected because they shed light on the algorithmic design of distributed systems or on key issues in distributed computing and concurrent programming. Distributed Algorithms can be used in courses for upper-level undergraduates or graduate students in computer science, or as a reference for researchers in the field.
Cited By
- Liu Y and Stoller S Assurance of Distributed Algorithms and Systems: Runtime Checking of Safety and Liveness Runtime Verification, (47-66)
- Liu Y Logical Clocks Are Not Fair Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems, (21-27)
- Wang F, Sim H, Harr C and Oral S Diving into petascale production file systems through large scale profiling and analysis Proceedings of the 2nd Joint International Workshop on Parallel Data Storage & Data Intensive Scalable Computing Systems, (37-42)
- Lengál O, Lin A, Majumdar R and Rümmer P Fair Termination for Parameterized Probabilistic Concurrent Systems Proceedings, Part I, of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 10205, (499-517)
- Chen Y, Hong C, Lin A and Rümmer P Learning to prove safety over parameterised concurrent systems Proceedings of the 17th Conference on Formal Methods in Computer-Aided Design, (76-83)
- Singh J, Khilar P and Mohapatra D (2017). Dynamic slicing of distributed Aspect-Oriented Programs, Computer Standards & Interfaces, 52:C, (71-84), Online publication date: 1-May-2017.
- Singh J, Panda S, Khilar P and Mohapatra D (2016). A Graph-Based Dynamic Slicing of Distributed Aspect-Oriented Software, ACM SIGSOFT Software Engineering Notes, 41:2, (1-8), Online publication date: 11-May-2016.
- Ghassemi F and Fokkink W (2016). Model checking mobile ad hoc networks, Formal Methods in System Design, 49:3, (159-189), Online publication date: 1-Dec-2016.
Index Terms
- Distributed Algorithms: An Intuitive Approach
Recommendations
Review of Introduction to Distributed Algorithms
This book presents a view of several important topics in the modern field of distributed algorithms. The book is intended to provide useful background and reference information for professional engineers dealing with distributed systems, and for ...