Acknowledgments |
|
xi | |
1 Introduction |
|
1 | (6) |
|
1.1 Motivation and Landscape |
|
|
1 | (2) |
|
1.2 Book Roadmap and Conventions |
|
|
3 | (4) |
|
|
3 | (2) |
|
|
5 | (2) |
2 Distributed Cooperation and Adversity |
|
7 | (14) |
|
2.1 Distributed Computing and Efficiency |
|
|
7 | (5) |
|
2.2 Cooperation Problem: Do-All Computing |
|
|
12 | (1) |
|
2.3 Computation and Adversarial Settings |
|
|
13 | (4) |
|
2.4 Fault Tolerance, Efficiency, and Lower Bounds |
|
|
17 | (2) |
|
|
19 | (2) |
3 Paradigms and Techniques |
|
21 | (20) |
|
3.1 Algorithmic Paradigms |
|
|
22 | (4) |
|
3.1.1 Global Allocation Paradigm |
|
|
22 | (1) |
|
3.1.2 Local Allocation Paradigm |
|
|
23 | (2) |
|
3.1.3 Hashed Allocation Paradigm |
|
|
25 | (1) |
|
3.2 Algorithmic Techniques in the Shared-Memory Model |
|
|
26 | (7) |
|
3.2.1 Basic Techniques for Implementing Allocation Paradigms |
|
|
26 | (5) |
|
3.2.2 Techniques for Improving Algorithm Efficiency |
|
|
31 | (2) |
|
3.3 Algorithmic Techniques in the Message-Passing Model |
|
|
33 | (5) |
|
3.3.1 Basic Techniques for Implementing Allocation Paradigms |
|
|
33 | (3) |
|
3.3.2 Techniques for Improving Algorithm Efficiency |
|
|
36 | (2) |
|
|
38 | (2) |
|
|
40 | (1) |
4 Shared-Memory Algorithms |
|
41 | (38) |
|
|
41 | (10) |
|
4.1.1 Description of Algorithm W |
|
|
42 | (5) |
|
4.1.2 Analysis of Algorithm W |
|
|
47 | (2) |
|
4.1.3 Improving Efficiency with Oversaturation |
|
|
49 | (2) |
|
|
51 | (5) |
|
4.2.1 Description of Algorithm X |
|
|
51 | (2) |
|
4.2.2 Analysis of Algorithm X |
|
|
53 | (3) |
|
|
56 | (4) |
|
4.3.1 A High-level View of the Algorithm. |
|
|
56 | (2) |
|
4.3.2 The Algorithm for p = 2k and n = mk |
|
|
58 | (2) |
|
|
60 | (4) |
|
4.4.1 Contention of Permutations |
|
|
60 | (1) |
|
4.4.2 Description of Algorithm AWT |
|
|
61 | (1) |
|
4.4.3 Analysis of algorithm AWT |
|
|
62 | (2) |
|
|
64 | (11) |
|
4.5.1 Description of Algorithm TLAW(q, t) |
|
|
65 | (6) |
|
4.5.2 Analysis of Algorithm TLAW(q, t) |
|
|
71 | (4) |
|
|
75 | (1) |
|
4.7 Bibliographical Notes |
|
|
76 | (3) |
5 Message-Passing Algorithms |
|
79 | (50) |
|
5.1 Solving Do-All through Shared-Memory |
|
|
80 | (8) |
|
5.1.1 Message-Passing Setting, Quorums, and Adversity |
|
|
80 | (2) |
|
5.1.2 Shared-Memory Emulation Service AM |
|
|
82 | (1) |
|
5.1.3 The Message-Passing Algorithm XMP |
|
|
83 | (2) |
|
|
85 | (3) |
|
|
88 | (8) |
|
5.2.1 Data Structures and Phases of Algorithm AN |
|
|
88 | (2) |
|
5.2.2 Details of Algorithm AN |
|
|
90 | (2) |
|
5.2.3 Analysis of Algorithm AN |
|
|
92 | (4) |
|
|
96 | (17) |
|
|
97 | (1) |
|
5.3.2 Combinatorial Tools |
|
|
98 | (1) |
|
5.3.3 The Gossip Algorithm |
|
|
99 | (6) |
|
5.3.4 The Do-All Algorithm |
|
|
105 | (8) |
|
5.4 Algorithms KSAW and KSPA |
|
|
113 | (12) |
|
5.4.1 Adversarial Model, Complexity and Lower Bounds |
|
|
113 | (3) |
|
5.4.2 Family of Deterministic Algorithms KSAW |
|
|
116 | (6) |
|
|
122 | (3) |
|
|
125 | (1) |
|
5.6 Bibliographical Notes |
|
|
126 | (3) |
6 The Do All Problem in Other Settings |
|
129 | (12) |
|
6.1 Do-All with Byzantine Processors |
|
|
129 | (3) |
|
6.2 Do-All with Broadcast Channels |
|
|
132 | (1) |
|
6.3 Do-All in Partitionable Networks |
|
|
133 | (3) |
|
6.4 Do-All in the Absence of Communication |
|
|
136 | (5) |
Bibliography |
|
141 | (8) |
Authors' Biographies |
|
149 | (2) |
Index |
|
151 | |