Course Details
16:198:545 - Distributed Systems
- Course Number: 16:198:545
- Course Type: Graduate
- Semester 1: Spring
- Credits: 3
- Description:
This course will cover the basic mechanisms for building distributed systems (e.g., RPC, synchronization, transactions, etc.), a number of relevant subsystems of distributed operating systems (e.g., distributed file systems, distributed shared-memory systems, etc.), and issues in wide-area distributed systems (e.g., security, wide-area clustering, etc.).
- M.S. Course Category: Systems/Networks
- Category: B (M.S.), B (Ph.D.)
- Prerequisite Information:
16:198:519
- Course Links: 16:198:519 - Operating System Theory
- Topics:
* Introduction
* Distributed Mechanisms: user-level messaging (e.g., active message, VMMC, Fast Messages), MPI and higher-level communication protocols, RPC, distributed synchronization, and transactions.
* Distributed Algorithms: distributed consensus, leader election, membership, distributed clocks.
* Distributed Processor Scheduling: scheduling mixed parallel/sequential workloads, dynamic load sharing/balancing, and process/thread migration.
* Distributed File Systems: distributed naming, cooperative caching, stateful vs. stateless servers, file replication and migration for load balancing, and case studies.
* Distributed Shared-Memory Systems: memory coherency and consistency models, mechanisms for software DSM systems, and case studies.
* Fault-Tolerance: roll-back recovery (checkpointing), coordinated and uncoordinated checkpointing, and logging.
* Real-Time Distributed Systems: real-time scheduling (rate monotonic, deadline monotonic, and earliest deadline first) and real-time communication.
* Wide-area Systems: system support for Internet services and wide-area clustering.
* Security: threats and vulnerabilities, trusted computing base, authentication, mandatory access control, auditing, security policies, and intrusion detection. - Expected Work: A midterm examination, a final examination, and a course project, which is the cullmination of a series of assignments.