Distributed Computing Through Combinatorial Topology
Maurice Herlihy, Sergio Rajsbaum
Format: PDF / Kindle (mobi) / ePub
Distributed Computing Through Combinatorial Topology describes techniques for analyzing distributed algorithms based on award winning combinatorial topology research. The authors present a solid theoretical foundation relevant to many real systems reliant on parallelism with unpredictable delays, such as multicore microprocessors, wireless networks, distributed systems, and Internet protocols.
Today, a new student or researcher must assemble a collection of scattered conference publications, which are typically terse and commonly use different notations and terminologies. This book provides a self-contained explanation of the mathematics to readers with computer science backgrounds, as well as explaining computer science concepts to readers with backgrounds in applied mathematics. The first section presents mathematical notions and models, including message passing and shared-memory systems, failures, and timing models. The next section presents core concepts in two chapters each: first, proving a simple result that lends itself to examples and pictures that will build up readers' intuition; then generalizing the concept to prove a more sophisticated result. The overall result weaves together and develops the basic concepts of the field, presenting them in a gradual and intuitively appealing way. The book's final section discusses advanced topics typically found in a graduate-level course for those who wish to explore further.
- Named a 2013 Notable Computer Book for Computing Methodologies by Computing Reviews
- Gathers knowledge otherwise spread across research and conference papers using consistent notations and a standard approach to facilitate understanding
- Presents unique insights applicable to multiple computing fields, including multicore microprocessors, wireless networks, distributed systems, and Internet protocols
- Synthesizes and distills material into a simple, unified presentation with examples, illustrations, and exercises
processes , and , with respective inputs , and , each perform an immediate snapshot. A partial set of the colorless configurations reachable in such executions appears in Figure 4.2. The initial colorless configuration is . Colorless configurations are shown as boxes, and process steps are shown as arrows. Arrows are labeled with the names of the participating processes, and black boxes indicate final colorless configurations. For example, if and take simultaneous immediate snapshots, they both
occurs when two disjoint sets of nonfaulty processes both complete their protocols without communicating.) Exercise 5.12 Show that a barycentric agreement protocol is impossible if a process stops forwarding messages when it chooses an output value. Exercise 5.13 Prove Theorem 5.5.5: There is no wait-free message-passing protocol for -set agreement. (Hint: Use Sperner’s Lemma.) Exercise 5.14 Explain how to transform the set of cores of an adversary into the set of survivor sets, and vice
this book. For each problem, we consider two kinds of analysis. First, we look at the conventional, operational analysis, in which we reason about the computation as it unfolds in time. Second, we look at the new, combinatorial approach to analysis, in which all possible executions are captured in one or more static, topological structures. For now, our exposition is informal and sketchy; the intention is to motivate essential ideas, still quite simple, that are described in detail later on.
weak symmetry breaking and set agreement is adapted from Gafni, Rajsbaum, and Herlihy . They proved that weak symmetry breaking cannot implement set agreement when the number of processes is odd. It was shown by Castañeda and Rajsbaum [31,33] that weak symmetry breaking can be solved wait-free, without the help of any tasks (e.g., in the multilayer model) if the number of processes is not a prime power. Thus, in this case too, weak symmetry breaking cannot implement set agreement, because it
second protocol, and each is assigned an output name in the range . Each process in the second group subtracts this name from , yielding an output name in the range . The ranges of names chosen by the two groups do not overlap. It follows that instead of deriving a lower bound for adaptive or non-adaptive -renaming, it is enough to derive a lower bound for weak symmetry breaking. Here is our strategy. If there is a wait-free layered immediate snapshot protocol for weak symmetry breaking, then we