CS 425 Course Information


General Information

Lectures:
MWF 11:30-12:20

Instructor:
Arvind Krishnamurthy , 302 Watson, 432-6493, arvind@cs.yale.edu
Guest lectures by Nicholas S. Bowen, IBM

Teaching Assistant:
David Goldenberg. Office hours: WTh 2-4pm.

Course home page:   http://lambda.cs.yale.edu/cs425


Overview

This course covers the fundamentals of distributed system design and implementation.

Models of asynchronous distributed computing systems. Fundamental concepts of concurrency and synchronization, communication, reliability, topological and geometric constraints, time and space complexity, and distributed algorithms.

The course will also cover recent research in peer-to-peer systems (and distributed hash tables), overlay networks, routing algorithms, and wide-area Internet behavior.


Textbooks

The following books are optional readings:
  • Distributed Computing: Fundamentals, Simulations and Advanced Topics by Hagit Attiya and Jennifer Welch, henceforth referred to as Attiya and Welch.  The book is unfortunately out of print.
  • Distributed Algorithms by Nancy A. Lynch. Published by Morgan Kaufmann in 1997.
  • Distributed Systems:  Concepts and Design (third edition) by Colouris, Dollimore, and Kindberg.  Published by Addison-Wesley in 2001.


  • Computers

    You will be using the Intel Linux PCs in the Zoo computing lab. These machines are named as follows:

           aphid        bumblebee    cardinal    chameleon  cicada       
    cobra cricket frog gator giraffe
    grizzly hare hippo hornet jaguar
    koala ladybug leopard lion macaw
    monkey newt peacock perch python
    rattlesnake rhino scorpion swan termite
    tick tiger tucan turtle viper
    zebra

    The server of these PCs is called artemis. To access these PCs, you can either directly login from their consoles in the Zoo, or just remotely login from other machines across the campus.

    If you plan to take the course for credit, you should get an account on these machines in the first week. Please also visit the following web site to create a cs425 class directory:

           http://www.yale.edu/zooaccts/zooacct.html
    

    Do not allow anyone else to use your accounts for any purpose . They are for your use alone, and you are responsible for any misuse. Your passwords control access to your accounts and should be kept secret.

    In addition, we will also have access to the Planetlab system for your course projects .


    Grading

    Your grade will be calculated as follows: These weights are subject to minor variation.

    Exams are scheduled in advance; unless prior arrangements are made, a grade of zero will be recorded for missed exams.


    Collaboration Policy

    Programming, like composition, is an individual creative process. Individuals must reach their own understanding of the problem and discover a path to its solution. During this time, discussions with friends are encouraged. However, when the time comes to write the code that solves the problem, such discussions are no longer appropriate -- the program must be your own work (although you may ask teaching assistants or lab assistants for help in debugging).


    Assignments

    See the Assignments page (under development) for more information.


    Keeping In Touch

    The best way to contact the instructor and the TA is by electronic mail. All the course-related information will be kept on the web (URL: http://lambda.cs.yale.edu/cs425 ). If you are working on character-based terminals, you can use lynx .