The topics that will be covered on the final exam will include:
- Protocols, framing, parsing, layering
- Sockets programming, IP, DNS
- HTTP and web
- Storage
- RPCs
- Time and causality
- Two-phase commit and the RAFT protocol (including leader election and log recovery after leader failure)
- Consensus, replicated state machines
- Locking, concurrency control, locking, recovery
- Performance at scale
- CDNs
- P2P networks, Chord, DHTs
- Overlay networks
- Datacenters
- Research papers
- Polaris
- VMware
- RAFT
- UCSD Fat-tree paper