Approximate Schedule for Distributed Systems Vijay K. Garg
- Topics:
- Introduction
- Programming Language Primitives
- Happened Before Model
- Vector Clock Algorithms
- Resource Allocation
- Lect 1:Introduction, Prog. language primitives
- Lect 2: Model of computation, Logical clocks
- Lect 3: Vector clocks
- Lect 4: Timestamp based Mutex
- Lec 5: Dining Philosopher
- Lect 6: Quorum based Mutex
Due: Term project proposal, HW1
- Topics:
- Global Snapshot Algorithms
- Observing Global Conditions
- Channel Predicates
- Termination Detection
- Controlling Global Computation
- Lect 7: Test 1 (40 min), Global State
- Lect 8: Class Presentation I: Map Reduce, GFS
- Lect 9: Observing global predicates
- Lect 10: Termination detection
- Lect 11: Class Presentation II: Chain Clocks, Dynamo
- Lect 12: Conjunctive predicates
Due: HW2, Term project interim report (1 page)
- Topics:
- Message Ordering
- Leader Election
- Synchronizers
- Lec 13: Test 2 (40 min), Order of Messages
- Lec 14: Class Presentation III: Distributed Trigger Counting, Minimum Spanning Tree
- Lec 15: Leader Election
- Lec 16: Spanning Tree
- Lec 17: Class Presentation IV:P2P System Chord , Publish-Subscribe Systems
- Lec 18: Synchronizers
Due: HW3
- Topics:
- Consensus
- Failure Detection
- Self-Stabilization
- Lec 19: FLP result,
- Lec 20 Consensus with crash and BGA
- Lec 21: Class Presentation V: Paxos, Practical Byzantine Fault Tolerance
- Lec 22: Knowledge, Failure detectors
- Lec 23: Guest Lecture: TBD
- Lec 24: Self-stabilization
Due: HW 4, Term Paper (8 pages)
- Recovery,
- Fault-tolerance based on Fusion,
- Approximate Agreement
- Test 3 (75 minutes)
- Project Presentations
- Lec 25: Commit protocols
- Lec 26: Project Presentation I
- Lec 27: Recovery
- Lec 28: Test 3
- Lec 29: Project Presentation II
- Lec 30: Project Presentation III
The easiest way to view these notes is to plug any raw .ipynb file into an ipython notebook viewer, such as this one.
Follow the instructions to set up your own ipython notebook.
I will also make corrections if you send me an email or comment on this project.