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