TENTATIVE CLASS SCHEDULE I. Theoretical Foundations Introduction (Sc1) Wave algorithms (T6.1,6.2) Network Simulation, first project assingment Traversal algorithms (T6.3) Synchronizing physical clocks (S6.2) Logical clocks (5.1-5.5) Global State recording (5.6,5.7) II. Synchronization and Agreement P1 Termination detection (5.8, T8) Distributed mutual exclusion: permission-based algorithms (6.1-6.8) Feb 16 H1 Distributed mutual exclusion: token-based algorithms (6.10-6.13) Feb 18 Exam 1 Distributed deadlock detection (7.1-7.6) Distributed deadlock detection, cont. (7.7) Agreement (8.1-8.3) Agreement, cont. (8.3,8.4) Election (T7) III. Resource Management P2 Remote procedure calls (4.7) Distributed file systems (9.1-9.4) DFS examples: NFS, Andrew Distributed Shared memory (10) Mar 23 H2 Distributed Shared memory, cont. Mar 25 Exam 2 Load distribution (11.1-11.10) Process migration (11.12) IV. Security Security (15.1-15.7) Security system implementations: Kerberos, Secure Shell (15.8,15.9) V. Clusters, High Availability, Scalability P3 Clusters (P2) Scalability H3 High Availability, Disaster Recovery (P12) FINAL EXAM: 12:45-3:00pm on Friday, May 14 in MSB 276 VI. Other Topics (covered if time allows) --- Fault-Tolerance --- Concurrency Control --- Multiprocessor Operating Systems ----------------- Chapters from textbooks other than Singhal P -- Gregory F. Pfister "In Search of Clusters" S -- Pradeep K. Singha "Distributed Operating Systems: Concepts and Design" Sc -- Fred B. Schneider "On Concurrent Programming" T -- Gerard Tel "Introduction to Distributed Algorithms"