CS5441 -- Distributed Systems (Spring 2004)


Time: Location:
TR 09:35am - 10:50am  126 Fisher 
Instructor: Teaching Assistant:
Byung Kyu Choi
836 Dow
487-3472
TBD

e-mail: bkchoi@mtu.edu  e-mail:
Office hours: TR 11am-12pm, or by appointment Office hours: TBD


Schedule  | Slides  | Tests | Homework | Resources | Projects | Instructor Schedule

Announcement
  • May 05: Final grades are here.
  • Apr 24: Project 3 proposals are available at the Project page.
  • Apr 02: Final exam scheduled: Mon May 03, 126 Fisher at 5:15pm.
  • Mar 29: Project 3 has been released. Due Apr 23.
  • Mar 23: Exam 2 will be on Thu Apr 01 in class.
  • Mar 10: Resources page activated.
  • Mar 01: Project 2 has been released. Due Mar 30. Start early.
  • Feb 15: Homework Assignment 1 released, check out Homework page, Due Feb 19 in class.
  • Feb 13: Exam 1 will be on Wed Feb 25 6:00pm at 231 Fisher.
  • Jan 30: Project 1 has been released. Due Mar 9. Start early.
  • Jan 30: No class for Tue Feb 3 (Out of town)
  • Jan 26: Check out the Instructor Schedule before making an appointment.
  • Jan 22: Class CANCELLED for TODAY (Thu Jan 22) due to poor weather conditions (snow day).
  • Jan 05: This page is under construction, will be fixed by Mon Jan 12th.

    The Menu

    In this course, we will study some of the most important concepts in the design of distributed systems. Throughout the course, 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. Things may change as we go along, so please check back later frequently!
    • Introduction  
      Characterization of Distributed Systems 
      Network OSs vs. distributed OSs 
      Research and design issues 
    • Interprocess Communication  
      Issues in message passing 
      Client-server communication 
    • Remote Procedure Call  
      Design issues for RPCs 
      Case study: Sun RPC 
    • Distributed Object-Oriented Technology  
      Communication between distributed objects 
      Case study: Java RMI 
      Case study: CORBA 
    • Distributed Naming Services  
      Names, addresses, routes, capabilities 
      Naming facilities, name distribution, name resolution 
      Migration 
    • 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 
    • Supporting Internet Applications of the Future Issues
      Active networks, Liquid software, ...
      Peer-to-Peer, ...
    • Other Cool Stuff...

    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.


    Required Textbook
    The purchase of this book is recommended.

    Assessment Method

    The course will consist of a considerable number of challenging programming projects and three exams.

    Ideally, grades will be assigned along the following lines:

    Grade A AB B BC C CD D F
    Scale 90-100% 85-89% 80-84% 75-79% 70-74% 65-69% 60-64% 0-59%


    Grading Weights

    HW Assigments Project 1 Project 2 Project 3 Exam 1 Exam 2 Final
    100 100 100 250 150 150 150


    Prerequisites

    CS4441, Ask Cathy Forman about this.


    Projects

    In this course we will not limit ourselves to talking about distributed computing systems, but will get our hands quite dirty.

    The projects will be very demanding. 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 must expect to fail this course.