Week 1
- Introduction and Administrivia
- Introduction to Distributed Systems, Representing Work, Making Work Portable and the Challenges of Files and Communication
- Networking in a day: Physical, Link, Network and Transport Layers
- Project #1: Process Migration -- Assigned (Thursday)
Week 2
- Higher-level abstractions: RPC and RMI
- Concurrency Control w/Fast Shared Memory (Review)
- Time in distributed systems: Physical and Logical
Week 3
- Distributed Concurrency Control Continued, Coordinator Election
- 2PC/Multicast, Distributed Transactions, ACID, BASE, CAP
- Consistency and Replication: Consistency Models
- Project #1: Process Migration -- Due (Tuesday)
- Project #2: RPC/RMI -- Assigned (Thursday)
Week 4
- Consistency and Replication: Quorums and Management, Best-Effort Management
- Fault Tolerance: Agreement (Two Armies, Generals), Logging and Checkpointing Intro
- Fault Tolerance: Logging and Checkpointing, Techniques in Detail
Week 5
- Fault Tolerance: A Systemic Look
- Programming models: Map-Reduce for "Big Data", Model, System Design
Week 6
- Programming models: Map-Reduce for "Big Data", Algorithms
- Midterm Exam
- Project #2: RPC/RMI -- Due (Thursday)
- Project #3: Distributed Computing Framework -- Assigned (Thursday)
Week 7
- Map Reduce for "Not-So Big Data"
- Processor allocation and Process Migration, Condor, OpenPBS/Torquw
Week 8
- Programming models: MPI and OpenMP
- Distributed File Systems (DFS): NFS, AFS, Coda
Week 9
- 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 (Thursday)
Week 10
- Security: Threats, Policies, and Models
- Cryptography, Security Protocols, and Secure System Design
- Project #4: MPI and OpenMP -- Assigned (Monday)
Week 11
- Anonymous routing and Tor, Distributed Hashing
- Virtualization
- Project #4: MPI vs Hadoop -- Due (Friday)
Week 12
Final Exams
|