Gadi Taubenfeld

Distributed Computing Pearls


Скачать книгу

rel="nofollow" href="#ulink_6e42b86d-1a3c-54de-9b96-957863d2020b">1.5 Why is Synchronization Difficult?

       1.6 Algorithms and Programs

       1.7 Concurrent and Distributed Algorithms

       1.8 Impossibility Results

       1.9 Chapter Notes

       2 One Loaf of Bread, Please

       2.1 The Too Much Bread Problem

       2.2 Applications

       2.3 First Attempt

       2.4 Second Attempt

       2.5 Third Attempt

       2.6 Fourth Attempt: A Correct Solution

       2.7 Communicating by Reading and Writing of Notes

       2.8 Chapter Notes

       2.9 Self Review

       3 A Tale of Two Lovers

       3.1 The Two Lovers Problem

       3.2 Applications

       3.3 A Surprising Impossibility Result

       3.4 Further Explanations

       3.5 Chapter Notes

       3.6 Self Review

       4 A Night at the Movies

       4.1 The Movie Agreement Problem

       4.2 Applications

       4.3 A Surprising Impossibility Result

       4.4 A More General Result

       4.5 An Algorithm

       4.6 Further Explanations

       4.7 How Many Rounds are Needed?

       4.8 Chapter Notes

       4.9 Self Review

       5 The Fall of the Byzantine Empire

       5.1 The Byzantine Generals Problem

       5.2 Applications

       5.3 A Surprising Result

       5.4 An Algorithm

       5.5 Further Explanations

       5.6 Chapter Notes

       5.7 Self Review

       6 Sightseeing in Paris

       6.1 The Choice Coordination Problem

       6.2 Applications

       6.3 A Randomized Algorithm

       6.4 Further Explanations

       6.5 A Simple Deterministic Algorithm

       6.6 Perfectionism, It Seems, Does Not Pay!

       6.7 Chapter Notes

       6.8 Self Review

       7 Food for Thought

       7.1 The Dining Philosophers Problem

       7.2 Applications

       7.3 Deadlock Prevention: The Total Order Technique

       7.4 Hold and Wait Strategy: The LR Algorithm

       7.5 Hold and Wait Strategy: The LLR Algorithm

       7.6 Wait and Release Strategy: The Wait/Release Algorithm

       7.7 Wait and Release Strategy: A Randomized Algorithm

       7.8 Chapter Notes

       7.9 Self Review

       8 All for One and One for All

       8.1 The See-Saw Puzzle

       8.2 Applications

       8.3 The Kids’ First Plan

       8.4 The Kids’ Second Plan

       8.5 The Kids’ Final Plan

       8.6 Further Explanations

       8.7 Chapter Notes

       8.8 Self Review

       9 The World is a Playground

       9.1 The Green-or-Blue Game

       9.2 Applications

       9.3 Two Observations

       9.4 The Kids’ Plan

       9.5 Further Explanations

       9.6 An Alternative Plan

       9.7 The Queen’s New Challenge

       9.8 A Surprising Impossibility Result

       9.9 The Queen’s Final Challenge

       9.10 General Impossibility Results

       9.11 Chapter Notes

       9.12 Self Review

       10 Getting the Service You Deserve

       10.1 The Two Tellers Problem

       10.2 Applications

       10.3 First Attempt: A Solution Which Cannot Tolerate a Single Fault

       10.4 Second Attempt: A Correct Solution

       10.5 How Many Notes are Needed?

       10.6 Chapter Notes