CS97 Senior Conference on Distributed Computing, Spring 2000

1:15-4:00 M, Sproul 300

Professor: Tia Newhall

Office: 36 Sproul (3rd floor)
Phone: 690-5637
Office hours: Wednesdays 2:00-4:00, Thursdays 2:45-4:30




3/12/00: 1/31/00: 1/24/00: 1/19/00:

Course Description

This course is designed as a survey of issues related to distributed computing. We will focus on two main areas: system support for distributed computing and programming models for distributed computing. We will read both classic and current papers on the topics.


There is no text for this course. Instead, a set of papers is available on-line:
Reading List.

In addition, I have many text books on distributed systems, which you may borrow, and there is a list of additional papers related to the topics we will discuss that is available here: Additional References .

It is expected that you read the weeks papers prior to class and come prepared to discuss the paper(s) in class. For the first few weeks of class, I will present some overview material and we will discuss readings in class. For the remainder of the semester we will have at least one paper presentation by a student each week, and possibly discuss another paper as a group.

Reading Groups

You will form a group with 2 or 3 other students. The purpose of this group is two fold: first, you will meet to discuss the ideas in the week's reading prior to class; and second, your group will make up your practice talk audience for your paper presentation. Prior to each class meeting, your reading group should meet for an hour or so to discuss the main ideas in each paper, and to help each other answer questions about ideas and details in the paper. Prior to your class presentation, you should give a practice talk to your group. As a practice talk audience member, your job is to help your group member polish his/her talk.


73% course project
(includes project proposal, mid-term progress report, final written project report and demo, and in-class final oral presentation, each of which will count as a portion of the 73% of your project grade)
more information.
2% small programming assignment
10% discussion presentation
15% class participation

Paper Presentation

Each student will present a paper (or several related papers) to the class. Presentations will be approximately 1 hour long including questions and comments from the audience. Your presentation will be an organized talk using slides (I suggest using PowerPoint). Each presenter must meet with me at least twice prior to his/her talk: first, meet with me at least by the Tuesday before your talk with an outline of your talk, then meet with me the Thursday or Friday before your talk with a draft of your talk slides in hand. Look over my and other's oral presentation advice to get a better idea of how to organize your talk.

Class Participation

This course is designed as a paper reading and discussion course. I expect that you will read the week's paper(s) prior to class and come prepared to discuss the paper in class. During paper presentations by other students, you should come prepared with questions and comments you have about the paper and ask the speaker questions about the paper he/she is presenting.

Programming Assignment

One or two small programming assignments will be given early in the semester. They are designed to give you some practice writing and running distributed programs using one or more of the programming paradigms that we will discuss in class.


The main part of your grade will be based on a semester long project. I strongly encourage you to work in groups of 2 or 3 students. More details:
Final Project.

In the second or third week of class I will hand out a list of some project ideas. Also, you are welcome to come up with your own project idea. Your project should have something to do with distributed computing, and there should be a general question that you are trying to answer through this project. For example, if you are interested in distributed algorithms for solving the TSP problem, then one question you may try to answer is how well do the algorithms scale with respect to problem size and degree of parallelism (compare performance measures as the problem size increases and as the number of machines increases, and perform tests to explain your results).


Reading List

(*): paper presentation
week 1 (1/17) Introduction None Tia None None
week 2 (1/24) Distributed Systems Overview None None [1] and [2] Tia
week 3 (1/31) Message Passing Libraries (*)
Communication Protocols
[5] and [6] Charlie [4] JoDe & Laura
week 4 (2/7) Event Ordering (*)
Distributed Communication
[7] and [8] Brandon [9] Jon & Seth
week 5 (2/14) Naming Issues (*)
Fault Tolerance
[10] and [11] JoDe [12] Dila
Friday (2/18) Project Proposals Due by 5pm *** *** *** ***
week 6 (2/21) Clusters (*)
RPC (*)
[13] and [14]
[15] and [16]
None Brandon
Friday (2/25) Programming Assignment due by 5pm *** *** *** ***
week 7 (2/28) Distributed File Systems
More Distr. File Systems (*)
[19] and [20] Seth [17] and [18] Lorrin
3/1 SPRING BREAK *** *** *** ***
week 8 (3/13) Distributed Shared Memory(*)
Distributed Data/Objects
[21] and [22] Paul [23] Charlie
week 9 (3/20) Mid-semester Project Reports *** Oral Presentation by each group *** ***
week 10 (3/27) Security: Encryption (*)
Security: Authentication (*)
[24] Chuck & Josh
week 11 (4/3) Meta-computing (*)
Meta-comp. security(*)
[27] and [28] Josh *** Chaos
week 12 (4/10) Web Caching (*)
[31] and [32]
[29] and [30]
*** Paul
week 13 (4/17) Final Project Presentations *** (1) Paul
(2) Chaos, Josh
*** JoDe and Laura
week 14 (4/24) Final Project Presentations *** (1) JoDe, Laura, Dila
(2) Brandon
(3) Lorrin, Chuck
(4) Charlie, Seth, Jon
*** Tia
week 15 (5/5) Final Project Reports Due by 5pm
Friday May 5th
*** *** *** ***

Reading Groups

  1. JoDe Hendrick, Laura Brown, Paul Dickson, Brandon Rutter
  2. Dila Cil, Charlie Ellis, Lorrin Nelson, Jon Martinez
  3. Josh Lewis, Chuck Groom, Chaos Golubitsky, Seth Olshfski

Reading, Writing, Oral Presentation Advice

Guidlines & tips for preparing your paper presentation
How to read a research paper

An Evaluation of the Ninth SOSP Submissions or How (and How Not) to Write a Good Systems Paper by Roy Levin and David D. Redell
Jim Marshall's project report advice
Jim Marshall's oral presentation advice
Mark Hill's oral presentation advice
Ian Parberry's "How to Present a Paper in Theoretical Computer Science"
"You and Your Research", Hamming