This spring semester I am teaching an exciting seminar class: “Planetary-Scale Systems.” I will start the seminar with a 4 lectures long crash course to get my students on the same page, but the bulk of the class will be paper presentations and discussions. The format is similar to the zoom reading group I am running.
The class meets twice a week, on Tuesdays and Thursdays. On day one, we will have a paper presentation, followed by a class discussion. On day two we take the discussion up a notch and dive deeper into 2-3 select topics/questions from day one. The time should also allow students to prepare for the in-depth discussion.
Speaking of preparing, all students should read the paper and ask questions before day one to help drive the discussion. Similar applies to the in-depth discussion, as each student is expected to contribute to the discussion.
Overall, we will cover 11 papers, roughly broken down into 3 groups. The papers are as follow:
Planetary Scale Storage
- Sharding the Shards: Managing Datastore Locality at Scale with Akkio
- Near-Optimal Latency Versus Cost Tradeoffs in Geo-Distributed Storage
- State-Machine Replication for Planet-Scale Systems
- Monarch: Google’s Planet-Scale In-Memory Time Series Database
- Canopus: A Scalable and Massively Parallel Consensus Protocol
Planetary-Scale Analytics & ML
- Low Latency Geo-distributed Data Analytics
- Wide-area analytics with multiple resources
- Gaia: Geo-Distributed Machine Learning Approaching LAN Speeds
Blockchain
- Bitcoin: A peer-to-peer electronic cash system – I include this one as a gentle and now-classical introduction into the blockchain.
- The Honey Badger of BFT Protocols
- HotStuff: BFT Consensus in the Lens of Blockchain