Schedule
Week 1: Introduction and protocols
- Mon Apr 2: Networking, cloud computing, and course overview
- Wed Apr 4: Introduction to protocols, layering, framing and parsing
- Slides
- Reading due: Donahoo and Calvert, Chapters 1 and 5
- Fri Apr 6: In-class project: Framing and parsing
Week 2: Basic network programming (client-side)
- Mon Apr 9: IP addressing, naming, and DNS
- Wed Apr 11: Client-side programming
- Fri Apr 13: Server-side programming
Week 3: Basic network programming (server-side)
- Mon Apr 16: HTTP and the Web
- Wed Apr 18: Options, signals, timeouts, and concurrency
- Reading due: Donahoo and Calvert, Chapters 6 and 7
- Slides
- Fri Apr 20: Research Paper
Week 4: Storage and remote procedure calls (RPCs)
- Mon Apr 23: Networked storage
- Wed Apr 25: RPCs
- Fri Apr 27: RPCs (con’t)
Week 5: RPCs and time
- Mon Apr 30: In-class project: gRPC
- Wed May 2: Time synchronization, Cristian’s algorithm, Berkeley algorithm, NTP
- Slides
- Project 1 due, 5pm
- Reading: Sec 6.2
- Fri May 4: Lamport clocks, totally ordered multicast, vector clocks, and causation
Week 6: Reasoning about time and causality, Two-phase commit, and consensus
- Mon May 7: Primary-backup replication, “split brain” operation
- Wed May 9: VMWare replication
- Fri May 11: Two-phase commit; Introduction to consensus
Week 7: Consensus and distributed transactions
- Mon May 14: Introduction to consensus
- Wed May 16: Replicated state machines and concurrency control
- Fri May 18: Transactions, isolation, locking, and recovery
Week 8: Distributing data
- Mon May 21: Performance at scale
- Wed May 23: Raft review; Quantifying performance at scale
- Fri May 25: Peer-to-peer networks and DHTs
- Slides
- Reading: T & VS, Sec. 2.3 (Decentralized architectures) and Sec. 5.2 (Distributed hash tables)
Week 9: Overlay, peer-to-peer, and secure networks
- Mon May 28: Memorial Day (no class)
- Wed May 30: Content distribution networks (CDNs)
- Fri Jun 1: Overlay networks
Week 10: “Scaling out data”
- Mon Jun 4: Datacenters
- Reading due: Barroso, Clidaras, and Hölzle, Chapters 1-5
- Slides
- Wed Jun 6: Datacenters (con’t)
- Fri Jun 8: Datacenters (con’t); review
Final exam:
- Thu Jun 14: Final exam (Location TBD)