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