Skip to content Skip to navigation

Distributed Systems


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.).


    *  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.

Liviu Iftode
Richard Martin
Thu Nguyen
Course Type: 

Check the University Schedule of Classes to see if this course is open.

Request a Special Permission Number here if the class is full.