CS-739: Peer-to-peer Distributed Systems

University of Wisconsin, Madison
Department of Computer Sciences
Spring 2003

Basic Information

When: MWF at 1:00-2:15pm (will probably meet two out of three per week)
Where: 130 Psychology (note change) ( timetable entry )
Who: Professor Remzi Arpaci-Dusseau (remzi@cs)
Office Hours: TBA and by appointment


Old notes

Short Cuts

Reading list


Welcome to the distributed systems class! This semester we're going to focus the class around the emergence of peer-to-peer computing. We will cover new and exciting research in the field, as well as the old tried and true fundamentals of distributed systems. Is P2P here to stay, or is it the latest fad? Stay tuned and find out.

The class will require you to read papers and do a final project. You will also be expected to present a paper to the class once or twice, as well as participate in discussion. The basic idea is to read, discuss, and learn about the amazing explosion of P2P research that is going on as we speak. Then, once we all have a handle on current research, you will apply what you have learned and churn out a set of terrific final projects.


The schedule will be broken down into three major portions of the course. In the first, we will cover some recent technical papers from major conferences. The schedule for those papers is listed below. In the second, we will read short position papers from IPTPS, a workshop on P2P systems. In the third part of the course, we will go back and cover the fundamental technologies underlying distributed systems.
W 1/22: First day F 1/22: PAST
W 1/29: CFS F 1/31: Pond
W 2/5: Pangea F 2/7: Ivy
F 2/14: FARSITE M 2/17: Debate
W 2/19: DHTs F 2/21: No class
W 2/26 Secure Routing and NICE F 2/28 Emulab
W 3/5 Gnutella and Experience F 3/7 Active Disks
W 3/12 Death+Taxes and Scooped F 3/14 Complex Queries and Search
W 3/19 Spring Break F 3/21 Spring Break
W 3/26 Fair-share and Indirection F 3/28 Tarzan
W 4/2 Project Discussion F 4/4 Project Discussion
W 4/9 Cooperate and Gnutella F 4/11 Fundamentals
W 4/16 Clocks F 4/18 Distributed Snapshots
W 4/23 Snapshots F 4/25 Byzantine Generals
W 4/30 Replicated Distributed Programs F 5/2 Replication and Fault-Tolerance in the ISIS System
W 5/7 Atomic Actions F 5/9 Authenication


The current Reading List is available here. All of the readings are available on-line. Note that you shouldn't read too far ahead, as the list may change during the semester.

Read the assigned papers before class. Without doing so, discussion is a little more difficult.

If you want, form a discussion group. Discussion groups are useful in developing the ability to critically evaluate research, but are not mandatory in this course.


The final project is the main focus of the course. You are expected to perform work which could eventually be suitable for publication in a major operating systems conference. In general, people should work in groups of size one or two, although if there is a massive project suitable for three people, I may be willing to consider it. We will provide some suggestions for you to pick from, although you are encouraged to think of a project on your own, which we can help to refine. Project write-ups will be similar in format to a conference submission, and all will be entered into a class-wide mini-conference. The best papers will receive some kind of recognition. More details are forthcoming.

Here are links to some previous class projects in CS 736: Spring 2000 :: Fall 2000 :: Fall 2002


There will be no exams. Hurray!


Grading will be based upon your project (largely) and your in-class presentation (somewhat). Participation will also be factored into the final equation.

Mailing List

The mailing list is cs739-1list@cs.wisc.edu. I will use it for general postings. A log of email is available at this url.

Complaints, pithy comments, and general nuggets of wisdom should be sent to Remzi Arpaci-Dusseau.