Week 1
- Administrivia
- Scarcity, Quality and Consequences, Work and Its Abstraction
Week 2
- Network: Wires through IP
- Networking: UDP, TCP and above
- Tuesday: Lab #1 Assigned (Distributed Password Cracking)
Week 3
- Communication: Sockets, RPC, RMI
- Work and its environment: Processes, Tasks, and Threads
Week 4
- Concurrency: Origins and Consequences (Races and Deadlocks)
- Shared Memory Concurrency control (atomic operations, mutexes,
condition variables, semaphores)
- Thursday: Homework #1 Assigned
Week 5
- Time in distributed systems: Physical and Logical
- Distributed Concurrency control
- Wednesday: Lab #1 Due
- Thursday: Homework #1 Due
Week 6
- Distributed File Systems (DFS): NFS, AFS, Coda
- Distributed File Systems with non-Posix-like semantics (Lustre, HDFS, MogileFS, etc)
Tuesday: Lab #2 Assigned
Week 7
- Transactions, Distributed Transactions, ACID, BASE, CAP
- Distributed transaction processing
- Tuesday: Homework #2 Assigned
- Wednesday: Lab #2 Checkpoint
Week 8
- Impossibility of Agreement
- Midterm exam
- Tuesday: Homework #2 Due
Spring Break
Week 9
- Replication: Quorums, Ghosts, etc
- Optimistic replication: Epidemic, version-vectors
Week 10
- Local fault management: From ECCs to RAID
- Distributed Fault Management: Logging, checkpointing, optimistic
- Wednesday: Lab #2 Due
- Thursday: Homework #3 Assigned
Week 11
- DISC, Clouds, Map-Reduce, Hadoop
- Hadoop Idioms, HDFS details
- Tuesday: Lab #3 Out
- Thursday: Homework #3 Due
Week 12
- Processor allocation and Process Migration
- Condor, OpenPBS
- Tuesday: Lab #3 Checkpoint
Week 13
- Cryptography
- Network and Distributed Security
- Tuesday: Lab #3 Checkpoint
- Thursday: Homework #4 Assigned
Week 14
- Anonymous routing and Tor, Distributed Hahsing
- Peer-to-Peer
- Tuesday: Lab #3 Checkpoint
- Thursday: Homework #4 Due
Week 15
- Limits of Distributed Systems (DSM, "General Purpose Distributed Operating System"), m*x/m vs x, etc)
- Course wrap-up, Final Exam review
- Wednesday: Lab #3 Due
Final Exams
|