CS 670

Course Title: Distributed Operating Systems Theory (MWF 10:00-10:50pm, RMB 323 (CMRS Building))

Credits: 3

Instructor: Mukesh Singhal, Professor and Endowed Chair.

Telephone: 257-3062.

E-mail: singhal@cs.uky.edu.

Office: Room 234 Hardymon Bldg.

Office Hours: 9-10am MWF (or by appointment).

Course Description

This course covers advanced distributed operating system algorithms and theory. Topics such as distributed mutual exclusion, distributed event ordering, distributed deadlock detection/avoidance, agreement protocols, consistent global snapshot collection, stable predicate detection, failure recovery, fault-tolerant consensus, leader election, process groups and group communication. Case studies of distributed operating systems such as LOCUS, Grapevine, V System, ISIS, Amoeba, Sprite, and Mach will be used as illustrations of the above algorithms.
Prereqs: CS 570 or consent of instructor.

Needed Skills

CS 670 is intended to be an advanced graduate-level course in distributed systems. Students should have had a graduate course in operating systems, (equivalent to CS 570) covering distributed operating systems, multiprocessor operating systems, database operating systems and security issues in distributed system.

Learning Outcomes

Students will learn about distributed systems design and implementation. They will be exposed to various areas of research in distributed systems and mobile computing systems. They will learn about designing and implementing fault tolerant distributed systems. A student completing this course successfully will be able to pursue independent research in distributed systems.

Week by Week Course Outline

Weeks Topics
1 Introduction
2 Synchronization, distributed mutual exclusion
3 Deadlock Detection/Avoidance
4-5 Consistent global snapshot collection
6 Predicate detection
7-8 Failure recovery in distributed systems
9 Fault-tolerant consensus
10-11 Authentication Protocols
12 Leader election algorithms, Agreement Protocols
13 Process Groups and group communication
14-15 Experimental distributed operating systems

Examinations

There will be one in-class, midterm examination during the semester and a two-hour final examination. The date of the mid-term is March 9, 2007 (Fryday!).

Grading

A student's grade will be determined by a weighted average of homework assignments, mid-term examination, and the final examination.

Homework: 30%
Midterm: 30%
Final Examination: 40%

Letter Grades: A > 95, B > 90 , C > 80, D > 70.

Textbooks

Mukesh Singhal and Niranjan G. Shivaratri
Advanced Concepts in Operating Systems
McGraw Hill, 1994

Papers from the literature