CS 425: Syllabus and Readings
Topics:
Introduction
Course outline and purpose
Model of a distributed system: asynchronous message-passing model
Readings: Section 2.1 of Attiya-Welch
Properties of distributed algorithms
Time and message complexity
Safety and liveness properties
Time in an asynchronous system
Basic algorithms
Broadcast and convergecast algorithms
Spanning trees of various kinds
Readings: Section 2.2-2.5 of Attiya-Welch
Leader election
Leader election in rings
Asynchronous leader election with identities
Synchronous leader election by abusing the synchronous model
Readings: Section 3.1-3.4 of Attiya-Welch
Logical clocks and causality
Logical clocks and vector clocks
Snapshots and synchronization
Readings: Section 6.1-6.2 of Attiya-Welch
Distributed databases
(Guest lectures by Nick Bowen, IBM.)
Transaction concepts
Distributed two-phase commit
Designing reliable systems
(Guest lectures by Nick Bowen, IBM.)
Tightly-coupled cluster systems
Reliable communication, availability
Peer to peer networks
Napster, Gnutella, Freenet
Resource discovery in distributed systems
Distributed hash tables
Structured overlay networks
Chord, Pastry, Tapestry, CAN
Skip graphs
Applications using structured overlays
Unstructured overlay networks
Resilient overlay networks
End-system multicast
NICE
Internet traffic
Internet service providers and peering
Inter-AS traffic patterns
Traffic engineering
Broadcast and multicast
Broadcast services
Causally-ordered reliable broadcast
Group multicast and applications
Readings: Section 8.1-8.4 of Attiya-Welch
Routing
Routing protocols in wired networks
Routing in wireless and sensor networks
Internet routing
Internet routing convergence
Policy routing
Network proximity and positioning
Advanced topics
Distributed graph algorithms
Paxos consensus
Impossibility results
Shared memory
Mutual exclusion: tournament algorithm, bakery algorithm
Complexity measures for shared-memory algorithms
Readings: Section 4.1-4.4 of Attiya-Welch
Distributed shared memory
Linearizability
Sequential consistency
Readings: Chapter 9 of Attiya-Welch