University of Utah
Search
School of Computing

CS 7460 - Distributed Systems - Spring 2008

Monday-Wednesday 9:10-10:30AM, WEB 2470


Instructor: John Carter
3144 Merrill Engineering Building
Office phone: 801-585-5474
Home phone: 801-583-8410
Email: retrac@cs.utah.edu
Office hours: By appointment
 

Course Outline
CS 7460 is intended for graduate and advanced undergraduate students interested in exploring the state of the art in distributed systems. The class picks up where CS 5460 (Operating Systems) and CS 5480 (Networking) left off and to dives deeper into various topics related to distributed systems.

The topics that we cover will be driven by the interests of the class. Based on discussion during the first class meeting, topics that we will likely cover include (not necessarily in this order):

  • Basic distributed systems overview (client-server, peer-to-peer, clusters)
  • Interprocess communication (various flavors of RPC, distributed objects, group IPC, ...)
  • Distributed synchronization (including distributed transactions)
  • Distributed concurrency management (including replication and DSM)
  • Resource discovery, naming, and directory services
  • Scalable service design
  • Pervasive/ubiquitous systems
  • Fault tolerance and security
  • Example distributed systems: Distributed file systems, content distribution systems, name servers, ...


Course Schedule and Reading Material
The course schedule can be found here, including links to lecture notes and assigned readings. Print out a copy of each lecture's notes prior to attending class for maximum benefit!


Course Structure and Grading
Class meetings will be a mix of lectures and discussions of assigned readings from the literature. Class participation is very important. Grades will be based on a mix of homeworks (including paper evaluations), exams, projects, and in-class participation. The exact mix is in flux as the course is undergoing a significant update from previous offerings.


Homework:
The success of this class depends on a high degree of participation in the paper dicussions. Thus, the homeworks involve reading and criticizing research papers in advance of the class session in which they are discussed.

Presentation guidelines: Every student in the class will be responsible for presenting and leading a discussion of two research papers. Here is a set of guidelines on how to prepare and give your presentations.

Paper evaluation forms: Each discussion session will focus on one or two papers. By the start of class, for each papers to be discussed, you should prepare the first page of the paper evaluation form (postscript, PDF). Clearly, you may have changed your mind by the end of the class discussion; that's OK (and even expected). The second page of the evaluation form is used to evaluate the presentation and the quality of the discussion generated. If you have access to LaTeX, you may prefer to fill out your evaluation directly in a copy of the source for the evaluation form.

Homework grading: The homeworks will be graded as follows. Each homework will be graded with a check (OK) or a minus (not acceptable). Each minus will deduct 2 (out of a total of 20) homework points. Don't worry too much -- the grading will be very easy, particularly in the beginning of class. The homework for a paper is due at the start of class in which the paper is to be discussed, and late homeworks will not be accepted. If you are unable to attend the class session, you may e-mail me your evaluation for partial credit. The homework summaries should reflect your understanding of the paper.

It is not acceptable to turn in a summary if you have not made an honest effort to read the paper. But remember, this is a graduate class and grades shouldn't really matter (i.e., grades shouldn't be your primary or only motivator!). What matters is how much you learn about research in distributed systems and how much it excites you!


cs7460 textbook Textbook: Distributed Systems: Principles and Paradigms, Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2002

We will also read and discuss a significant number of papers from the research literature.


College of Engineering Academic Guidelines:
You can read about the College of Engineering's policies on appeals, withdrawing from courses, and repeating courses here (pdf format).