Week 1
- Introduction and Administrivia
- Introduction to Distributed Systems, Representing Work, Making Work Portable and the Challenges of Files and Communication
- Project #1: Process Migration -- Assigned (Thursday)
Week 2
- Networking in a day: Physical, Link, Network and Transport Layers
- Higher-level abstractions: RPC and RMI
Week 3
- Concurrency Control Review, Intro to Distributed Concurrency Control
- Distributed Concurrency Control Continued, Coordinator Election
- Project #1: Process Migration -- Due (Thursday)
Week 4
- Time in distributed systems: Physical and Logical
- 2PC/Multicast, Distributed Transactions, ACID, BASE, CAP
- Project #2: RPC/RMI -- Assigned (Tuesday)
Week 5
- Consistency and Replication: Consistency Models
- Consistency and Replication: Quorums and Management, Best-Effort Management
Week 6
- Fault Tolerance: Agreement (Two Armies, Generals)
- Fault Tolerance: Logging
Week 7
- Fault Tolerance: Checkpointing
- Fault Tolerance: A Systemic Look
- Project #2: RPC/RMI -- Due (Thursday)
Week 8
- Review/Slack
- Midterm Exam
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
- Cryptography, Security Protocols, and Secure System Design
Week 14
- Anonymous routing and Tor, Distributed Hashing
- Thanksgiving -- No class
Week 15
- Virtualization
- Wrap-up
- Project #4: MPI vs Hadoop -- Due (Thursday)
Final Exams
|