CS85: Distributed Systems
Spring 2006

TR 2:40-3:55, 246 Sci. Center
Swarthmore College

Professor: Tia Newhall
Email:
Office: 249 Sci. Center
Phone: 690-5637
Office hours: W: 2:30-3:30, R: 4-5

Contents

Course Description
Grading
Text and Reading List
Class Schedule
Links

Course Description

This course covers a broad range of topics related to distributed and cluster computing. Distributed systems and cluster systems are made up of a set of PCs or workstations connected by a network, that run special software that allows for transparent sharing of the distributed computing resources and data. Clusters are becoming the dominate platform for parallel computing.

After the first lecture of introductory material, class will be run seminar-style; each week students will read research papers related to distributed or cluster computing that we will discuss in class. Students will take turns leading class discussions on one or more papers. We will read papers that cover the theory as well as the implementation of systems to support distributed and cluster computing.

There will be one or more short parallel programming assignments early in the semester. In addition, students will work on a semester-long project related to cluster or distributed computing. The department's new gigabit cluster as well as the CS lab machines are available for course projects.

Previous course work in Operating Systems, Networking, Databases, or Architecture is helpful, but not necessary for taking this course.


Grading


Text and Reading List

There is no textbook for this class. Instead, we will read papers from the following reading list:

A reading list of technical papers (to be assigned weekly to the class schedule below)


Class Schedule

This schedule is tentative, it will be updated as we go.
Link to Edventure

WEEK TOPIC READING ASSIGNMENT
1 (1/16) Introduction to Distributed Systems, Clusters Thurs HW 0
2 (1/23) Distributed Communication Tues
Thurs
HW 1
3 (1/30) Message Passing and RPC Tues
Thurs
-
4 (2/6) Time, event ordering, Agreement Tues
Thurs
HW 2
5 (2/13) Distributed State, Naming
Paper Presentation (Tues): George
Paper Presentation (Thurs): Dan
Tues
Thurs
-
6 (2/20) Distributed Shared Memory, Load Balancing
Paper Presentation (Tues): Mustafa
Tues
Thurs
-
7 (2/27) Scheduling Tues Project Proposal Due Tuesday in class
- SPRING BREAK - -
8 (3/13) Fault Tolerance
Paper Presentation (Tues): Alan
Paper Presentation (Thurs): Ken
Tues
Thurs
-
9 (3/20) Authentication and Security Tues
Thurs
Thursday: project progress report 1
10 (3/27) Clusters, Metacomputing
Paper Presentation (Tues): Michael
Tues
Thurs
-
11 (4/3) Peer-to-Peer Systems, Distributed File Systems
Paper Presentation (Tues): Javier
Tues
Thurs
-
12 (4/10) Distributed File Systems Tues Thursday: project progress report 2
13 (4/17) Misc
Paper Presentation (Tues): Alex
Tues
Thurs
-
14 (4/24) Project Presentations - Course Project Presentations in class
Finals Final Projects - Final Project Report (and demo) due before noon, May 12


Links

Distributed Systems and Cluster links

Reading, Writing, Presentation Advice

Parallel Programming Links

Unix Help