Muutke küpsiste eelistusi

Distributed Algorithms: An Intuitive Approach [Kõva köide]

(Vrije Universiteit Amsterdam)
  • Formaat: Hardback, 248 pages, kõrgus x laius x paksus: 229x203x17 mm, kaal: 617 g
  • Sari: The MIT Press
  • Ilmumisaeg: 06-Dec-2013
  • Kirjastus: MIT Press
  • ISBN-10: 0262026775
  • ISBN-13: 9780262026772
  • Kõva köide
  • Hind: 64,00 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Hardback, 248 pages, kõrgus x laius x paksus: 229x203x17 mm, kaal: 617 g
  • Sari: The MIT Press
  • Ilmumisaeg: 06-Dec-2013
  • Kirjastus: MIT Press
  • ISBN-10: 0262026775
  • ISBN-13: 9780262026772

This book offers students and researchers a guide to distributed algorithms thatemphasizes examples and exercises rather than the intricacies of mathematical models. It avoidsmathematical argumentation, often a stumbling block for students, teaching algorithmic thoughtrather than proofs and logic. This approach allows the student to learn a large number of algorithmswithin a relatively short span of time. Algorithms are explained through brief, informaldescriptions, illuminating examples, and practical exercises. The examples and exercises allowreaders to understand algorithms intuitively and from different perspectives. Proof sketches,arguing the correctness of an algorithm or explaining the idea behind fundamental results, are alsoincluded. An appendix offers pseudocode descriptions of manyalgorithms.

Distributed algorithms are performed by a collection of computers thatsend messages to each other or by multiple software threads that use the same shared memory. Thealgorithms presented in the book are for the most part "classics," selected because theyshed light on the algorithmic design of distributed systems or on key issues in distributedcomputing and concurrent programming.

Distributed Algorithmscan be used in courses for upper-level undergraduates or graduate students in computer science, oras a reference for researchers in the field.

Preface ix
1 Introduction
1(6)
I Message Passing
2 Preliminaries
7(6)
3 Snapshots
13(6)
3.1 Chandy-Lamport algorithm
14(1)
3.2 Lai-Yang algorithm
15(4)
4 Waves
19(8)
4.1 Traversal algorithms
19(4)
4.2 Tree algorithm
23(1)
4.3 Echo algorithm
24(3)
5 Deadlock Detection
27(10)
5.1 Wait-for graphs
27(2)
5.2 Bracha-Toueg algorithm
29(8)
6 Termination Detection
37(10)
6.1 Dijkstra-Scholten algorithm
38(1)
6.2 Weight-throwing algorithm
39(1)
6.3 Rana's algorithm
40(2)
6.4 Safra's algorithm
42(5)
7 Garbage Collection
47(6)
7.1 Reference counting
47(3)
7.2 Garbage collection implies termination detection
50(1)
7.3 Tracing
51(2)
8 Routing
53(20)
8.1 Chandy-Misra algorithm
53(2)
8.2 Merlin-Segall algorithm
55(3)
8.3 Toueg's algorithm
58(3)
8.4 Frederickson's algorithm
61(4)
8.5 Packet switching
65(2)
8.6 Routing on the Internet
67(6)
9 Election
73(14)
9.1 Election in rings
73(4)
9.2 Tree election algorithm
77(2)
9.3 Echo algorithm with extinction
79(1)
9.4 Minimum spanning trees
80(7)
10 Anonymous Networks
87(14)
10.1 Impossibility of election in anonymous rings
87(1)
10.2 Probabilistic algorithms
88(1)
10.3 Itai-Rodeh election algorithm for rings
89(2)
10.4 Echo algorithm with extinction for anonymous networks
91(2)
10.5 Computing the size of an anonymous ring is impossible
93(1)
10.6 Itai-Rodeh ring size algorithm
94(2)
10.7 Election in IEEE 1394
96(5)
11 Synchronous Networks
101(10)
11.1 A simple synchronizer
101(1)
11.2 Awerbuch's synchronizer
102(3)
11.3 Bounded delay networks with local clocks
105(1)
11.4 Election in anonymous rings with bounded expected delay
106(5)
12 Crash Failures
111(10)
12.1 Impossibility of 1-crash consensus
112(1)
12.2 Bracha-Toueg crash consensus algorithm
113(2)
12.3 Failure detectors
115(1)
12.4 Consensus with a weakly accurate failure detector
116(1)
12.5 Chandra-Toueg algorithm
116(5)
13 Byzantine Failures
121(14)
13.1 Bracha-Toueg Byzantine consensus algorithm
121(4)
13.2 Mahaney-Schneider synchronizer
125(2)
13.3 Lamport-Shostak-Pease broadcast algorithm
127(3)
13.4 Lamport-Shostak-Pease authentication algorithm
130(5)
14 Mutual Exclusion
135(10)
14.1 Ricart-Agrawala algorithm
135(2)
14.2 Raymond's algorithm
137(3)
14.3 Agrawal-El Abbadi algorithm
140(5)
II Shared Memory
15 Preliminaries
145(2)
16 Mutual Exclusion II
147(14)
16.1 Peterson's algorithm
147(3)
16.2 Bakery algorithm
150(2)
16.3 N registers are required
152(1)
16.4 Fischer's algorithm
152(1)
16.5 Test-and-test-and-set lock
153(2)
16.6 Queue locks
155(6)
17 Barriers
161(10)
17.1 Sense-reversing barrier
161(1)
17.2 Combining tree barrier
162(3)
17.3 Tournament barrier
165(3)
17.4 Dissemination barrier
168(3)
18 Self-Stabilization
171(10)
18.1 Dijkstra's token ring for mutual exclusion
171(4)
18.2 Arora-Gouda spanning tree algorithm
175(2)
18.3 Afek-Kutten-Yung spanning tree algorithm
177(4)
19 Online Scheduling
181(12)
19.1 Jobs
181(1)
19.2 Schedulers
182(6)
19.3 Resource access control
188(5)
Pseudocode Descriptions 193(28)
References 221(4)
Index 225