Approximate Schedule for Distributed Systems Vijay K. Garg Week 1 (14th and 15th Jan) ----- 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 (11th and 12th Feb) ----- 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: Global State Lect 8: Class Presentation I: Map Reduce, GFS, Bigtable Lect 9: Observing global predicates Lect 10: Termination detection Lect 11: Class Presentation II: Chain Clocks, Scalable Snapshots, Distributed Trigger Counting Lect 12: Conjunctive predicates Week 3 (11th and 12th March) ----- Due: HW2, Term project interim report (1 page) Topics: Message Ordering Leader Election Synchronizers Ref: Textbook C12-14 Lec 13: Causal Ordering Lec 14: Exam 1 Lec 15: Synchronous & Total order Lec 16: Election in a ring, Spanning Tree Lec 17: Class Presentation III:GHS, P2P System Pastry, P2P System Chord, Lec 18: Synchronizers Week 4 (15th and 16th April) ----- Due: HW3, Topics: Consensus Failure Detection Self-Stabilization Lec 19: FLP result, Consensus with crash and BGA Lec 20: Class Presentation IV: Paxos, Practical Byzantine Fault-Tolerance, Beyond Replication Lec 21: Knowledge Lec 22: Failure detectors Lec 23: Self-stabilization Lec 24: Guest Lecture by TA: Fusion based Fault-tolerance, Ref: Textbook C15-16 Week 5 (13th and 14th May) ------ Due: HW 4, Term Paper (15 pages) Recovery, Transactions Protection Exam 2 Project Presentations Ref: Textbook 17-18 Lec 25: Commit protocols Lec 26: Project Presentation I Lec 27: Recovery Lec 28: Exam 2 Lec 29: Project Presentation II Lec 30: Project Presentation III