Introduction to Distributed Systems, Fall 2008
Instructor:
-
Prof. Amr El Abbadi
Office: Room 3115, Harold Frank Hall
Office Hours: TR 11:00 a.m. - 12:00 noon
E-mail: firstname AT cs.ucsb.edu
Lecture Time/Place: MW - 9:00am to 10:50am (Phelps 1401)
Teaching Assistant
-
Sudipto Das
Office - Rm 3158 (DSL) , Harold Frank Hall (Engr I)
Office hours: TR 3:00 - 4:30 at Rm 3158 (DSL), Harold Frank Hall (Engr I)
Email: firstname AT cs.ucsb.edu
Updates
Please check this section regularly for Updates
- Grades for Quiz 3, Project 1, and Project 2 posted along with overall class average and median.
- Demo Schedule available online.
- Added a nice presentation related to Paxos in the Resources section.
- Grades for Quiz 2 and Paper Critique 1 posted.
- Project 2 posted. See details below. Due: 12/04
- New Submission Date for Project 1: 11/17.
- Project 1 specifications updated and a set of FAQs posted.
- Quiz 2 on 11/5.
- Project 1 posted. See details below.
- List of Papers for Critique 1 has been posted.
- Grades for Quiz 1 posted.
- Quiz 1 on 10/15.
- Course outline posted.
Course Outline
An Overview of the Course can be found here
- Week 1: Introduction and Basics, Time and Global States, Bigtable
- Week 2: Logical and Physical Clocks, Clock Synchronization, Mutual Exclusion, Ricart and Agarawala Algorithm, Maekawa's Algorithm
- Week 3: Replicated Log and Dictionary.Quiz 1.
- Week 4: Distributed Snapshots.
- Week 5: Distributed Aggregation.
- Week 6: Broadcast.Quiz 2
- Week 7: Distributed Consensus and Commit
Suggested Reading
This list is sorted in reverse chronological order of presentation in class.
- (Shrikath et al.), Simulating authenticated broadcasts to derive simple fault-tolerant algorithms
- (Fischer, Lynch, Paterson), Impossibility of Distributed Consensus with One Faulty Process
- (Chandra et al.), Paxos made live: an engineering perspective
- (Lamport), Paxos made simple
- (Lamport), The part-time parliament
- (Birman et al.), Reliable communication in the presence of failures
- (Kaashoek et al.), An efficient reliable broadcast protocol
- (Hadzilacos and Toueg), A modular approach to fault-tolerant broadcasts and related problems. Relevant Portions.
- (Fagin et al.), Optimal aggregation algorithms for middleware
- (Cao and Wang), Efficient top-K query calculation in distributed networks
- (Chandy and Lamport), Distributed snapshots: determining global states of distributed systems
- (Wuu and Bernstein), Efficient solutions to the replicated log and dictionary problems
- (Ricart and Agarawala), An optimal algorithm for mutual exclusion in computer networks
- (Mamoru Maekawa), A N algorithm for mutual exclusion in decentralized systems
- (Kerry Raymond), A tree-based algorithm for distributed mutual exclusion
- (Friedemann Mattern), Virtual Time and Global States of Distributed Systems
- (Leslie Lamport), Time, clocks, and the ordering of events in a distributed system
- (Chang et al.), Bigtable: A Distributed Storage System for Structured Data
Lecture Notes
- October 06. The correct update rules are in red boxes. Please check both algorithms.
Project
Demo Schedule available online.
Project 1: Distributed Calendar using Distributed Log, Two (2) persons per group. Due: 11/17.
- New Submission Date for Project 1: 11/17.
- A detailed specification has been posted. Any further modifications will be posted here.
- Workload for the calendar.
- Due to the large size of the class, there won't be a separate demo for Project 1 after the project due date on 11/12. We will hold a common demo for both the projects together sometime in dead week (so please do not break your code after the deadline, and the code for this project should be ready for demo during the final demo). What is due in class on 11/12 are the following (a 2--3 page printed and typeset report specifying):
- Implementation details of the project -- Which language you used for implementation, libraries used, how is the log and the view of the calendar maintained, how is your log structured, what is your UI, and any relevant details.
- You are supposed to design a conflict resolution protocol of your own. Provide details of your conflict resolution protocol, who are the nodes involved in conflict resolution, how is the conflict resolved, and what are the messages that are exchanged.
- Experimental Details of the Bandwidth consumed. The Workload specification for the project has details of what you need to report. Please note that we are asking for experimental results, not theoritical results, and the the reported results should be repeatable at the time of demo.
Project 2: Distributed Calendar on Distributed Log using Paxos, Two (2) persons per group. Due: 12/04.
- A detailed specification has been posted. Any further modifications will be posted here.
- Use Workload 1 as described in the project specifications. Replace conflicting operations with NOP.
FAQs
As assigments are given out, I'll try and compile a list of FAQs.
Resources
Any course related resources will be posted here.
- A nice presentation explaining Paxos algorithm courtesy Prof. Idit Keidar.