Message Area
CS 442
Distributed Systems & Algorithms
Tentative.\n\n# Gray, Distributed Computing Economics, Microsoft TR, 2003.\n# State : The Role of Distributed State John Ousterhout \n# O. Babaoglu and K. Marzullo Consistent Global States of Distributed Systems \n# K. M. Chandy and L. Lamport Distributed Snapshots: Determining Global States of Distributed Systems\n# T. Chandra and S. Toueg Unreliable Failure Detectors for Reliable Distributed Systems\n# A Survey of Rollback-Recovery Protocols in Message-Passing Systems.\n# L. Lamport: Paxos Made Simple\n# F.B. Schneider Implementing fault-tolerant services using the state machine approach:\n# Bernstein, Goodman and Hadzilakos Distributed Recovery \n# M. Castro and B. Liskov Practical Byzantine Fault Tolerance and Proactive Recovery \n# R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E.L. Wong Zyzzyva: Speculative Byzantine Fault Tolerance\n# CAP paper: you can't have all three\n# Distributed file systems bayou, coda,\n# Chord, Oceanstore\n# MapReduce: Simplified Data Processing on Large Clusters \n# Dynamo paper\n# Speculator : Speculative execution in a distributed file system \n# Black-Box : Performance Debugging for Distributed Systems of Black Boxes \n# Linda in context
[[Syllabus]] [[Course Material]] [[Reading List]] [[Assignments]] [[Announcements]]
The reference textbook for the course is available as a pdf download:\n[[Paolo Sivilotti, Introduction to Distributed Systems, 2005|CS442/book.pdf]]\n----\n[[Introduction|CS442/intro.pdf]]\nRead Chapter 1 from the book.\n[[additional reference for week 1|CS442/logicHandout.pdf]]\n[[Cheatsheet for propositional logic|CS442/cheatsheetPropositionalLogic.pdf]]\n----\nRead Chapter 2,3 from the book.\n[[Coffee bean problem|CS442/can.pdf]]\n[[handout for program correctness|CS442/correctness.pdf]] (courtesy of Anish Arora)\n----\nRead Chapter 9, 10 from the book.\n[[Notes on global snapshot from Anish Arora|CS442/snapshot.pdf]]\n----\n[[Notes on leader election and fault-tolerance from Anish Arora|CS442/ft.pdf]]\n----\n[[Paxos presentation|CS442/consensus-murat.pdf]]\n----\n[[Notes on faults and fault-tolerance|CS442/faults-spec.pdf]]\n----\n[[Stabilizing tree protocol|CS442/stabtree.pdf]]\n---\n[[Reading list]]
Class location: EB 103\nT 15:40-16:40\nF 13:40-15:40\noffice hours: F 15:40-17:15 at EA 223\nInstructor: [[Dr. Murat Demirbaş | index.html]]\n----\nThis course covers the fundamental concepts for the design and analysis of distributed systems and algorithms, including reasoning about distributed programs, handling the lack of global time and global state, achieving distributed consensus in the presence of faults and asynchrony, and designing fault-tolerance for distributed systems. The course also reviews state-of-the-art distributed systems, particularly cloud computing systems.\n\nThe reference textbook for the course (Paolo Sivilotti, Introduction to Distributed Systems, 2005) is available as a pdf download at [[Course Material]].\n\nWe will use Piazza for discussion and posting course content.\n\n!!Topics\n# Introduction\n# Safety/progress properties and proving program properties\n# Time: logical clocks, State: distributed snapshots\n# Mutual exclusion, Dining philosophers, Failure detectors\n# Consensus, Paxos\n# Fault-tolerance, Byzantine agreement, Self-stabilization\n# Programming support for distributed systems\n# Distributed filesystems\n# Cloud computing, Google infrastructure, map-reduce\n# Peer-to-peer systems, Sensor/mobile ad-hoc networks\n\n!! Grading (Tentative)\n* %40 Assignments (No late assignments!) + Quizzes\n* %25 Midterm (closed book)\n* %35 Final (closed book, final will be inclusive of the midterm content)\n
[[Assignment1 | CS442/hw1.pdf]] is due on Feb 24, Friday.
If you are not on Piazza yet, email me to be added ASAP.\n\n[[Assignment1 | CS442/hw1.pdf]] is due on Feb 21, Tuesday. \n\nWelcome to CS 442. Please read the syllabus.\n---\nHere are the OldAnnouncements.\n