CPSC662 -- Distributed Computing Systems (Spring 2007)


Time: Location:
MWF: 12:40pm - 1:30pm 105B ZACH
Instructor: Teaching Assistant:
Riccardo Bettati
509C Harvey R. Bright Bldg
845-5469
(none)
e-mail: bettati@cs.tamu.edu 
Office hours: TBA

Slides  | Tests | Homeworks | Resources | SeminarAssignments | Projects


News/Announcements:



The Menu

This course will consist of two parts: a Lecture part, followed by a seminar part.

Part I: Lectures

The Lecture part, we will study some of the most important concepts in the design of distributed operating systems. Throughout this portion, we will try to relate the material covered to the support of large-scale computing on the Internet. We will tentatively discuss the following issues:

  • Introduction  
    Characterization of Distributed Systems 
    Research and design issues 
  • Interprocess Communication  
    Issues in message passing 
    Client-server communication 
  • Synchronization  
    Event ordering / synchronization 
    Centralized vs. distributed schemes 
  • Group Communication  
    Ordered, reliable, and casual multicast 
    Group membership 
    Atomic group multicast 
    Virtual synchrony 
    Case study: ISIS 
  • Service Replication / Reliable Services  
  • Distributed Shared Memory  
    Shared memory
    Consistency models
    Design issues
    Case studies: Ivy/Munin/Treadmarks
  • Distributed File Services  
    Model 
    Case study: NFS 
    Case study: AFS 
    Case study: CODA 
    Modern Systems: OceanStore 

As you see, most of the material served in the lectures is pretty basic. The idea is to provide a solid basis. We will complement this with a very strong hands-on component.

Part II: Presentations (Seminar)

For this part, each of you will be reading a number of papers and give a 20-minute critical presentation, with the objective to summarize the papers, evaluate their contributions, and relate the papers to each others.


Textbook

Reference Books

Below is a list of reference books. These books are thought to complement the textbook. Perusing them may help you better understand some issues discussed in class. More reference material will be added as we go along.


Assessment Method

The course will consist of a considerable number (at least three) of challenging programming projects, and two exams (the first exam will be on March 7, a second exam on Tuesday, April May 1). Perhaps we will have a small number of homeworks.

The weight will be tentatively distributed as no less than 45% for projects and at most 30% for tests. The presentation will weigh no more than 10%, and roughly 10% will be reserved for class participation.(If we will have homeworks, the weights will be adjusted accordingly to account for the homeworks.)

Ideally, grades will be assigned along the following lines:


Prerequisites

The official prerequisites are CPSC-410 or CPSC-463. I recommend you have a good idea of both.
I reserve the right to enforce the prerequisites, maybe even in form of a quiz at the beginning of the semester !


Projects

In this course we will not limit ourselves to talking about distributed computing systems, but will get our hands quite dirty. (Not as much as I would like, unfortunately.)

The projects have shown to be very demanding. If you do not know how to program at a sophisticated level, this is a good time to rethink your plans of taking this course! Experience with previous times this course was given has shown that you will not be able to learn the programming part as you go.

More information about projects will be posted soon.

The projects will be done in groups of two students each. This means that it is a good idea to start looking for a partner soon.

Things may change, so please check back later!


Late-Submission Policy


Academic Integrity

It goes without saying that the highest level of academic integrity is expected for students in this class. While discussions among students on the analysis of problems and on the development of general solution approaches is welcome (encouraged, in fact,) the realization has to be of the individual student or of the individual project team. Spelled out, this means:

Whoever violates these rules can expect to fail this course. For information about the TAMU Honor Council Rules and Procedures check out the Aggie Honor System Office.

Last But Not Least

Feel free to make comments, suggestions, and such things.


Riccardo Bettati

Last modified: Jan 19, 2007