Approximate Schedule for Distributed Systems Vijay K. Garg Week 1 (20th and 21st Aug) ----- Topics: Introduction Programming Language Primitives Happened Before Model Vector Clock Algorithms Resource Allocation Ref: Textbook: C6-8 Lect 1:Introduction Lect 2:Prog. language primitives, discussion of assignment Lect 3: Model of computation, Logical clocks Lect 4: Vector clocks, Other Clocks Lect 5: Timestamp based Mutex Lect 6: Dining Philosopher, Quorum based Week 2 (17th and 18 Sept) ----- Due: Term project proposal, HW1 Topics: Global Snapshot Algorithms Observing Global Conditions Channel Predicates Termination Detection Controlling Global Computation Ref: Textbook C9-11 Lect 7: Review, Quiz 1 Lect 8: Global State Lect 9: Observing global predicates Lect 10: Termination detection Lect 11: Conjunctive predicates Lect 12: Locally stable predicates Week 3 (15th and 16th October) ----- Due: HW2, Term project interim report (1 page) Topics: Message Ordering Leader Election Synchronizers Ref: Textbook C12-14 Lec 13: Exam 1 Lec 14: Causal Ordering Lec 15: Synchronous & Total order Lec 16: Election in a ring Lec 17: Spanning Tree Lec 18: Synchronizers Week 4 (12th and 13th November) ----- Due: HW3, Topics: Consensus Failure Detection Transactions Lec 19: FLP result Lec 20: Consensus with crash and BGA Lec 21: Knowledge Lec 22: Failure detectors Lec 23: Consensus using failure detectors Lec 24: Commit protocols Ref: Textbook 15-16 Week 5 (2nd and 3rd December) ------ Due: HW 4, Term Paper (15 pages) Recovery, Self-Stabilization Protection Exam 2 Class Presentations Ref: Textbook 17-18 Lec 25: Exam 2 Lec 26: Recovery Lec 27: Self-stabilization Lec 28: Class Presentation I Lec 28: Class Presentation II Lec 30: Class Presentation III