Skip to content

Design and Analysis of Distributed Algorithms

Best in textbook rentals since 2012!

ISBN-10: 0471719978

ISBN-13: 9780471719977

Edition: 2007

Authors: Nicola Santoro

List price: $211.95
Shipping box This item qualifies for FREE shipping.
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

This graduate textbook and professional reference for designers and researchers focuses on the design and analysis of distributed algorithms and protocols. Concentrating on teaching problem solving, Design and Analysis of Distributed Algorithms includes essential new material such as Synchronous Computations (necessary for "energy-aware" computing), Structural Knowledge and Communication Complexity, and numerous exercises and solutions immediately programmable.
Customers also bought

Book details

List price: $211.95
Copyright year: 2007
Publisher: John Wiley & Sons, Incorporated
Publication date: 10/27/2006
Binding: Hardcover
Pages: 608
Size: 6.46" wide x 9.51" long x 1.35" tall
Weight: 2.134
Language: English

Preface
Distributed Computing Environments
Entities
Communication
Axioms and Restrictions
Axioms
Restrictions
Cost and Complexity
Amount of Communication Activities
Time
An Example: Broadcasting
States and Events
Time and Events
States and Configurations
Problems and Solutions (*
Knowledge
Levels of Knowledge
Types of Knowledge
Technical Considerations
Messages
Protocol
Communication Mechanism
Summary of Definitions
Bibliographical Notes
Exercises, Problems, and Answers
Exercises and Problems
Answers to Exercises
Basic Problems And Protocols
Broadcast
The Problem
Cost of Broadcasting
Broadcasting in Special Networks
Wake-Up
Generic Wake-Up
Wake-Up in Special Networks
Traversal
Depth-First Traversal
Hacking (*
Traversal in Special Networks
Considerations on Traversal
Practical Implications: Use a Subnet
Constructing a Spanning Tree
SPT Construction with a Single Initiator: Shout
Other SPT Constructions with Single Initiator
Considerations on the Constructed Tree
Application: Better Traversal
Spanning-Tree Construction with Multiple Initiators
Impossibility Result
SPT with Initial Distinct Values
Computations in Trees
Saturation: A Basic Technique
Minimum Finding
Distributed Function Evaluation
Finding Eccentricities
Center Finding
Other Computations
Computing in Rooted Trees
Summary
Summary of Problems
Summary of Techniques
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Election
Introduction
Impossibility Result
Additional Restrictions
Solution Strategies
Election in Trees
Election in Rings
All the Way
As Far As It Can
Controlled Distance
Electoral Stages
Stages with Feedback
Alternating Steps
Unidirectional Protocols
Limits to Improvements (*
Summary and Lessons
Election in Mesh Networks
Meshes
Tori
Election in Cube Networks
Oriented Hypercubes
Unoriented Hypercubes
Election in Complete Networks
Stages and Territory
Surprising Limitation
Harvesting the Communication Power
Election in Chordal Rings (*
Chordal Rings
Lower Bounds
Universal Election Protocols
Mega-Merger
Analysis of Mega-Merger
YO-YO
Lower Bounds and Equivalences
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Message Routing and Shortest Paths
Introduction
Shortest Path Routing
Gossiping the Network Maps
Iterative Construction of Routing Tables
Constructing Shortest-Path Spanning Tree
Constructing All-Pairs Shortest Paths
Min-Hop Routing
Suboptimal Solutions: Routing Trees
Coping with Changes
Adaptive Routing
Fault-Tolerant Tables
On Correctness and Guarantees
Routing in Static Systems: Compact Tables
The Size of Routing Tables
Interval Routing
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Distributed Set Operations
Introduction
Distributed Selection
Order Statistics
Selection in a Small Data Set
Simple Case: Selection Among Two Sites
General Selection Strategy: RankSelect
Reducing the Worst Case: ReduceSelect
Sorting a Distributed Set
Distributed Sorting
Special Case: Sorting on a Ordered Line
Removing the Topological Constraints: Complete Graph
Basic Limitations
Efficient Sorting: SelectSort
Unrestricted Sorting
Distributed Sets Operations
Operations on Distributed Sets
Local Structure
Local Evaluation (*
Global Evaluation
Operational Costs
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Synchronous Computations
Synchronous Distributed Computing
Fully Synchronous Systems
Clocks and Unit of Time
Communication Delays and Size of Messages
On the Unique Nature of Synchronous Computations
The Cost of Synchronous Protocols
Communicators, Pipeline, and Transformers
Two-Party Communication
Pipeline
Transformers
Min-Finding and Election: Waiting and Guessing
Waiting
Guessing
Double Wait: Integrating Waiting and Guessing
Synchronization Problems: Reset, Unison, and Firing Squad
Reset /Wake-up
Unison
Firing Squad
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Computing in Presence of Faults
Introduction
Faults and Failures
Modelling Faults
Topological Factors
Fault Tolerance, Agreement, and Common Knowledge
The Crushing Impact of Failures
Node Failures: Single-Fault Disaster
Consequences of the Single Fault Disaster
Localized Entity Failures: Using Synchrony
Synchronous Consensus with Crash Failures
Synchronous Consensus with Byzantine Failures
Limit to Number of Byzantine Entities for Agreement
From Boolean to General Byzantine Agreement
Byzantine Agreement in Arbitrary Graphs
Localized Entity Failures: Using Randomization
Random Actions and Coin Flips
Randomized Asynchronous Consensus: Crash Failures
Concluding Remarks
Localized Entity Failures: Using Fault Detection
Failure Detectors and Their Properties
The Weakest Failure Detector
Localized Entity Failures: Pre-Execution Failures
Partial Reliability
Example: Election in Complete Network
Localized Link Failures
A Tale of Two Synchronous Generals
Computing With Faulty Links
Concluding Remarks
Considerations on Localized Entity Failures
Ubiquitous Faults
Communication Faults and Agreement
Limits to Number of Ubiquitous Faults for Majority
Unanimity in Spite of Ubiquitous Faults
Tightness
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Detecting Stable Properties
Introduction
Deadlock Detection
Deadlock
Detecting Deadlock: Wait-for Graph
Single-Request Systems
Multiple-Requests Systems
Dynamic Wait-for Graphs
Other Requests Systems
Global Termination Detection
A Simple Solution: Repeated Termination Queries
Improved Protocols: Shrink
Concluding Remarks
Global Stable Property Detection
General Strategy
Time Cuts and Consistent Snapshots
Computing A Consistent Snapshot
Summary: Putting All Together
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Continuous Computations
Introduction
Keeping Virtual Time
Virtual Time and Causal Order
Causal Order: Counter Clocks
Complete Causal Order: Vector Clocks
Concluding Remarks
Distributed Mutual Exclusion
The Problem
A Simple And Efficient Solution
Traversing the Network
Managing a Distributed Queue
Decentralized Permissions
Mutual Exclusion in Complete Graphs: Quorum
Concluding Remarks
Deadlock: System Detection and Resolution
System Detection and Resolution
Detection and Resolution in Single-Request Systems
Detection and Resolution in Multiple-Requests Systems
Bibliographical Notes
Exercises, Problems, and Answers
Exercises
Problems
Answers to Exercises
Index