CS 775/875 - Distributed Systems

PURPOSE:

This course deals with the design issues in distributed computing systems. As part of this course we shall discuss the motivation for building distributed systems, various algorithms and protocols proposed in literature for system operability, and look at some of the experimental distributed systems that have been built in the last few years. We will pay special attention to the fault-tolerant and performance aspects of these systems. The project component of this course will enable the students to get hands-on experience of implementing some of the distributed algorithms.

INTENDED AUDIENCE

This course is designed for students with familiarity in operating systems and data communications.

LAB FACILITIES We will use the neiwork of Sun Workstaitions in the Computer Science Department.

TEXTBOOK/READINGS

Distributed Systems, Second Edition, Edited by Sape Mullender, Addison-Wesley Publishing Company, 1993.

Distributed Algorithms and Protocols, Michael Raynal, John Wiley &Sons, 1988.

The texts will be supplemented with some technical papers and books.

TOPICS:


1.  Introduction to distributed systems
2.  Distributed system models
3.  Election and mutual exclusion algorithms
4.  Algorithms for detection and resolution of deadlock
5.  Consistent Global States
6.  Fault-tolerant broadcasts
7.  Non-blocking atomic commitment
8.  The primary-backup approach
9.  Interprocess communication
10. Reliable messages
11. Names
12. Transaction-processing techniques
13. Distributed file systems
14. Kernel support
15. Real time and dependability
16. Real time communications
17. Autonet - A case study
18. MARS and Delta-4 XPA: Case studies
19. Byzantine quarrels
20. Cryptography and secure channels

wahab@duke.ncsl.nist.gov
Tue Apr 23 10:50:19 EDT 1996