ENEE647 (Section 0101) Design of Distributed Computer Systems by P. Petrov

Spring 2006


Class Information

Instructor: Peter Petrov, AVW 1421, ppetrov at ece dot umd dot edu
Class hours: MW 11:00am - 12:15pm, CCC 1100
Office hours: MW 12:30pm - 1:30pm, AVW 1421
Required text: "Distributed Systems, Principles and Paradigms", by Andrew S. Tanenbaum and Maarten van Steen

Course Syllabus

Midterm-1 Practice Problems
Midterm-2 Practice Problems
Final Exam Practice Problems
Lecture Notes

Introduction
Hardware and Software concepts
Layered Protocols and Remote Procedure Calls (RPC)
Distributed Objects and Remote Method Invocation (RMI)
Message-Oriented Middleware and Streams
Virtual Memory and Address Spaces
Single Address Space Systems
Multithreading in Clients and Servers
Code Migration
Name Spaces, Name Resolution, Directory Service
Locating Mobile Entities
Distributed Garbage Collection
Clock Synchronization; Logical Clocks
Election Algorithms; Distributed Mutual Exclusion
Distributed Transactions
Replication; Data-Centric Consistency Models
Client-Centric Consistency Models; Distribution Protocols
Consistency Protocols
Cache Coherence Protocols
Fault Tolerance; Process Resilience; Reliable Client-Server Communication
Reliable Group Communication; Distributed Commit
Recovery in Distributed Systems
Security in Distributed Systems; Cryptographic primitives; Authentication
Message Integrity and Confidentiality; Access Control
Security Management; Kerberos Protocol

Reading Assignments

"Virtual Memory: Issues of Implementation", by B. Jacob and T. Mudge [pdf]
"A Look at Several Memory Management Units, TLB-Refil Mechanisms, and Page Table Organizations", by B. Jacob and T. Mudge [pdf]
"How to Use a 64-Bit Virtual Address Space", by J. Chase et al. [ps]
"Lightweight Shared Objects in a 64-Bit Operating System", by J. Chase et al. [ps]