CS505: Distributed Systems
Spring 2011.

Ananth Grama, ayg@cs.purdue.edu, 494 6964
MWF 10:30 - 11:20 PM

Office Hours:
W, 3:00 - 4:30, and by appointment.

TAs: Jayaram K R

Course Announcements:

Important announcements relating to the course will be made here. Please look at this area of the web page periodically. Announcements will include (but are not limited to) release of assignments, erratas, and grades.

Assignment 1: Building an Overlay and Solving Leader Election.

Recommended Text for Part I of the Course: Distributed Algorithms, Nancy Lynch, Morgan Kaufmann.

Slides for Prof. Lynch's Book.

Grading Policy

40% classwork (assignments + project), 60% exams (35%final + 25% midterm)

Course Contents:

Part 1:

Distributed Algorithms

(Recommended Text: Distributed Algorithms, Nancy Lynch)
  • Synchronous vs Asynchronous Distributed System Models
  • Algorithms for Leader Election
  • Spanning Trees
  • Consensus
  • k-Set Agreement
  • Time, Clocks and Ordering
  • Stable Properties
  • Distributed Termination
  • Deadlock Detection
  • Mutual Exclusion and Atomicity
  • Wait-Free Computations
Part 2:

Building Systems

(Recommended Text: Distributed Systems: Concepts and Design, Couloris et al.)
  • Distributed Objects
  • File Systems
  • Name Services
  • P2P Systems
  • Time and Global States
  • Coordination
  • Transactions and Concurrency Control
  • Replication
  • Web Services