Distributed Systems

Course: CSL860
Semester II, 2012-13
Credits: 4 (3-0-2)



Instructor: Dr. Smruti R. Sarangi

Lectures
: Tue, Wed. 5-6:15. IIA-201

Course Description: This course will give an introduction to some advanced aspects of distributed systems.

Course Load: 1 Mid-term, 1 End-term, Minor 1(Programming Assignment 1), Minor 2(Programming Assignment 2),
                         Programming Assignment 3

Teaching Assistants: Gayathri Ananthanarayanan, Pooja Aggarwal

Lectures and Slides:

Date
Lecture
Paper
2nd Jan
Course Overview
(slides adapted from Prof. Martin Van Steen's
  original slides with consent)

8th Jan
Introduction
(slides adapted from Prof. Martin Van Steen's
 original slides with consent)

9th Jan
Epidemic Based Algorithms
Epidemic Algorithms for Replicated Database Maintenance
15th Jan
Gossip Based Algorithms

Napster and Gnutella
A Gossip-Style Failure Detection Service

Napster and Gnutella: A Comparison of Two Popular Peer
to Peer Protocols

16th Jan
Pastry
Pastry: Scalable, decentralized object location and
routing for large-scale peer-to-peer systems

22nd Jan
Pastry

23rd Jan
Chord
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

29th Jan
Synchronization: Physical Clocks

6th Feb
Logical Clocks
Maekawa's Algorithm
12th Feb
Mutual Exclusion

13th Feb
Leader Election

19th Feb
Minimum Spanning Trees, Chandy Lamport Algorithm

20th Feb
Chandy-Lamport Algorithm, Consistency

26th Feb
Consistency and Replication

12th Mar
Mid term

13th Mar
Mid term Solutions, Reliability
The Byzantine Generals Problem
Impossibility of Distributed Consensus with One Faulty Process
19th Mar
Paxos
The Part-Time Parliament
Paxos Made Simple
20th Mar
Fault Tolerance

2nd Apr
Google Percolator
Large Scale Incremental Processing Using Distributed Transactions and Notifications
3rd
Apr
Amazon Dynamo
Dynamo: Amazon’s Highly Available Key-value Store
5th Apr
Extra Class : MST Homework

9th Apr
AFS vs NFS
Slides used at IIT Delhi with
permission of David A. Eckhardt. The original
course web page can be found here.

10th Apr
Coda
Coda: A Highly Available File System for a
Distributed Workstation Environment

16th Apr
Corona
A High Performance Publish-Subscribe System for
the World Wide Web
17th Apr
Condor
Distributed Computing in Practice:
The Condor Experience

23rd Apr
DryadLINQ
DryadLINQ: A System for General-Purpose Distributed
Data-Parallel Computing Using a High-Level Language
30th Apr
Facebook
(slides by Tim Calloway, presented and distributed with consent)
Finding a Needle in a Haystack: Facebook's Photo Storage
1st May
Voldemort
(slides by Alex Feinberg, presented and distibuted with consent)
Project Voldemort -- Distributed Key-Value Storage