Distributed Algorithms: An Intuitive Approach (MIT Press)

Distributed Algorithms: An Intuitive Approach (MIT Press)

Wan Fokkink

Language: English

Pages: 248

ISBN: 0262026775

Format: PDF / Kindle (mobi) / ePub


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.

Computation and Storage in the Cloud: Understanding the Trade-Offs

Applied Computer Science

Classical And Quantum Computing With C++ And Java Simulations

Haptics: Generating and Perceiving Tangible Sensations: International Conference, EuroHaptics 2010, Amsterdam, July 2010, Proceedings Part 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. . . . . . . . . . . . . . . . 17.3 Tournament barrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4 Dissemination barrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 161 162 165 168 18 Self-Stabilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1 Dijkstra’s token ring for mutual exclusion . . . . . . . . . . . . . . . . . . . . . . 18.2 Arora-Gouda spanning

accessible objects, starting from the root objects; the accessible objects are marked. In the second phase, all unmarked objects are reclaimed. An advantage of this approach, compared to reference counting, is that it detects all garbage, including cyclic garbage. A disadvantage is that it tends to require freezing the basic execution. In spite of this drawback, tracing has become much more widely used than reference counting, since it has become the method of choice for garbage collection within

the process increases, and a fragment at a level contains at least 2 processes (see exercise 9.6). Each time a process experiences a join, it receives an initiate message, and may send the following four messages: one test that triggers an accept message, a report, and a changeroot or connect. Including the accept, these are five messages every time a process experiences a join, adding up Exercises 85 to at most 5N log2 N messages in total. Thus we have covered all messages in the algorithm.

messages are garbled, duplicated or lost. Channels need not be FIFO, meaning that messages can overtake each other. In a directed network, messages can travel only in one direction through a channel, while in an undirected network, messages can travel either way. Undirected channels are required for distributed algorithms that use an acknowledgment scheme. Acyclic networks will always be undirected, since otherwise the network would not be strongly connected. A network topology is called complete

incites the other processes to reply with the required information. Notable examples are termination detection, routing, and election of a leader in the network. This procedure is formalized in the notion of a wave algorithm, in which each computation, called a wave, satisfies the following three properties: • It is finite. • It contains one or more decide events. • For each decide event a and process p, b ≺ a for some event b at p. The idea behind wave algorithms is that each computation gives

Download sample

Download