Acknowledgments |
|
xiii | |
|
|
1 | (2) |
|
1.1 Unsolvability Results and Lower Bounds |
|
|
1 | (1) |
|
1.2 Why Study Impossibility Results? |
|
|
1 | (1) |
|
1.3 Structure of the Book |
|
|
2 | (1) |
|
|
3 | (14) |
|
2.1 A Time Tradeoff Between READ and WRITE in the Implementation of a Register |
|
|
5 | (1) |
|
2.2 A Space Lower Bound for First-Come First-Served Mutual Exclusion |
|
|
6 | (1) |
|
2.3 A Lower Bound on the Step Complexity of Approximate Agreement |
|
|
7 | (2) |
|
2.4 Chain Arguments for Consensus |
|
|
9 | (4) |
|
|
13 | (4) |
|
|
17 | (10) |
|
|
17 | (2) |
|
3.2 Time Lower Bounds for Implementing a Multi-Writer Register |
|
|
19 | (3) |
|
3.3 Clock Synchronization without Drift |
|
|
22 | (3) |
|
|
25 | (1) |
|
3.5 Clock Synchronization with Drift |
|
|
25 | (2) |
|
|
27 | (6) |
|
4.1 Impossibility of Consensus with Arbitrary Process Failures |
|
|
27 | (2) |
|
4.2 Clock Synchronization with Arbitrary Process Failures |
|
|
29 | (4) |
|
5 Information Theory Arguments |
|
|
33 | (10) |
|
5.1 Lower Bounds using Single-Writer Registers |
|
|
33 | (2) |
|
5.2 The Round Complexity of OR |
|
|
35 | (1) |
|
5.3 The Round Complexity of Approximate Agreement |
|
|
36 | (2) |
|
5.4 Lower Bounds using More Powerful Objects |
|
|
38 | (2) |
|
5.5 The Round Complexity of Collect |
|
|
40 | (1) |
|
5.6 A Step Complexity Tradeoff for Synchronous Snapshots |
|
|
41 | (2) |
|
|
43 | (22) |
|
6.1 A Space Lower Bound for Mutual Exclusion |
|
|
44 | (3) |
|
6.2 The Space Complexity of Timestamps |
|
|
47 | (5) |
|
6.3 Space and Step Complexity Lower Bounds for the Implementation of a Counter using Swap Objects |
|
|
52 | (3) |
|
6.4 A Lower Bound on Step Complexity for Space-Optimal Implementations of a Multi-Writer Snapshot |
|
|
55 | (7) |
|
6.5 A Lower Bound on the Number of Stalls Incurred by a Counter Implemented using Arbitrary Read-Modify-Write Primitives |
|
|
62 | (3) |
|
|
65 | (32) |
|
7.1 The Unsolvability of Consensus using m-assignment |
|
|
66 | (2) |
|
7.2 The Round Complexity of Consensus |
|
|
68 | (1) |
|
7.3 The Unsolvability of Consensus in Asynchronous Message Passing Systems |
|
|
69 | (1) |
|
7.4 The Space Complexity of Consensus |
|
|
70 | (11) |
|
7.4.1 Anonymous Processes |
|
|
71 | (4) |
|
|
75 | (6) |
|
7.5 A Lower Bound on Expected Work for Randomized Consensus |
|
|
81 | (16) |
|
|
84 | (1) |
|
7.5.2 Nullvalent Executions |
|
|
85 | (5) |
|
7.5.3 Bivalent Executions |
|
|
90 | (6) |
|
7.5.4 Putting the Pieces Together |
|
|
96 | (1) |
|
8 Combinatorial Arguments |
|
|
97 | (26) |
|
8.1 Unsolvability of Set Consensus |
|
|
97 | (6) |
|
8.2 A Lower Bound on UPDATE Time for a Single-Writer Snapshot |
|
|
103 | (5) |
|
8.3 A Lower Bound on the Solo Step Complexity of Weak Test&Set using Turin's Theorem |
|
|
108 | (2) |
|
8.4 Anonymous Conflict Detectors |
|
|
110 | (3) |
|
|
113 | (2) |
|
8.6 Expected Step Complexity of Randomized Implementations of a Max Register |
|
|
115 | (8) |
|
9 Reductions and Simulations |
|
|
123 | (12) |
|
9.1 Simulations with Different Numbers of Processes |
|
|
125 | (2) |
|
|
127 | (4) |
|
9.3 Round-by-Round Simulations |
|
|
131 | (2) |
|
9.4 Uncomputability of Consensus Number |
|
|
133 | (2) |
Bibliography |
|
135 | (6) |
Authors' Biographies |
|
141 | |