Week 1
- Introduction and Administrivia
- Systems, Distributed Systems, and Some OS Bits, Limitations (DSM, n*1/m vs m) of Distributed Systems, Promise of Distributed Systems
- Project #1: Process Migration -- Assigned (Thursday)
Week 2
- Network: Wires through IP
- Networking: UDP, TCP and above
Week 3
- Communication: Sockets, RPC, RMI
- Scheduling, Concurrency, and Shared Memory
- Project #1: Process Migration -- Due (Thursday)
Week 4
- Shared Memory Concurrency control (Atomic operations, mutexes,
condition variables, semaphores, producer-consumer, reader-writer)
- Time in distributed systems: Physical and Logical
- Project #2: RPC/RMI -- Assigned (Tuesday)
Week 5
- Distributed Mutual Exclusion, Election
- 2PC, Multicast, Distributed Transactions, ACID, BASE, CAP
Week 6
- Consistency and Replication: Consistency Models
- Consistency and Replication: Quorums and Management, Best-Effort Management
Week 7
- Fault Tolerance: Agreement (Two Armies, Generals)
- Fault Tolerance: Logging
- Project #2: RPC/RMI -- Due (Thursday)
Week 8
- Fault Tolerance: Checkpointing
- Midterm Exam
Mid-Semester Break
Week 9
- Programming models: Map-Reduce, Model, System Design
- Programming models: Map-Reduce, Algorithms
- Project #3: Distributed Computing Framework -- Assigned (Tuesday)
Week 10
- Programming models: MPI and OpenMP
- Programming models: Condor, OpenPBS
Week 11
- Processor Allocation and Process Migration
- Distributed File Systems (DFS): NFS, AFS, Coda
Week 12
- Distributed File Systems with non-Posix-like semantics (Lustre, HDFS, MogileFS, HDFS, etc)
- Distributed File Systems with non-Posix-like semantics, cont.
- Project #3: Distributed Computing Framework -- Due (Tuesday)
- Project #4: MPI and OpenMP -- Assigned (Thursday)
Week 13
- Security: Threats, Policies, and Models
- Carnival -- No class
Week 14
- Cryptography, Security Protocols, and Secure System Design
- Anonymous routing and Tor, Distributed Hashing
Week 15
- Virtualization
- Wrap-up
- Project #4: MPI vs Hadoop -- Due (Thursday)
Final Exams
|