Note that the schedule is tentative, please constantly check for changes.

Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8
8/31 9/7 9/14 9/21 9/28 10/5 10/12
8/26 9/2 9/9 9/16 9/23 9/30 10/7 10/14
Week 9 Week 10 Week 11 Week 12 Week 13 Week 14 Week 15 Week 16
10/19 10/26 11/2 11/9 11/16 11/23 11/30 12/7
10/21 10/28 11/4 11/11 11/18 11/25 12/2

Introduction

Wed 8/26
Course Overview

Mon 8/31
Introduction to Cloud


Fundamentals in Distributed and Cloud Systems

Wed 9/2
Distributed System Foundation

Deadline for Lab0: 9/4

Mon 9/7
Example: MapReduce

Wed 9/9
RPC

Mon 9/14
Transaction

Wed 9/16
Transaction (Contd.)

Mon 9/21
Time and Coordination

Wed 9/23
Agreement

Deadline for Lab1: 9/27

Mon 9/28
Two-phase Commit

Wed 9/30

Guest talk: TBD

Mon 10/5

Fall Reading Days (No Class)

Wed 10/7

Hacker Day (No Class)

Mon 10/12
Consensus

Wed 10/14
Consensus (Contd.)

Deadline for Lab2a: 10/18

Mon 10/19
Midterm Review

Wed 10/21

Midterm exam: selectively covers topics included in "Introduction" and "Fundamentals in Distributed and Cloud Systems".

Mon 10/26
Isolation and Consistency

Wed 10/28

Guest talk: Compile-Time Techniques for Network Traffic Analysis

Bio: Thea Rossman is a third-year PhD student at Stanford University advised by Zakir Durumeric. She builds systems to help operators, researchers, and end-users understand, in order to strengthen, modern networks. Before starting her PhD, she worked on hypervisor networking at VMWare.

Abstract:

Networks carry enormous volumes of traffic that operators and researchers analyze in real time to detect security threats, monitor quality-of-service, and debug failures. Today, traffic analysis systems face a tradeoff between high performance across many concurrent workloads and the flexibility to express complex analysis questions. This talk looks at how techniques from compilers can help us avoid this tradeoff. I’ll introduce Iris, which composes arbitrary user-defined filters, data types, and callback functions into a single, optimized analysis pipeline capable of running hundreds of concurrent workloads at 100Gbps+ on one server. Iris does this by exposing modular traffic abstractions to user code, then automatically analyzing function signatures to find and merge shared logic.

More generally, Iris suggests two directions for further work in networked systems: (1) building expressive analysis interfaces around general-purpose languages, so users inherit the tooling and libraries of an existing ecosystem, and (2) breaking complex abstractions into modular components that can be automatically analyzed, merged, and optimized at compile time.


Real-world Cloud

Mon 11/2
Case study: Google File System

Prepare: Read GFS paper
Optional: How to Read an Engineering Research Paper

Wed 11/4
Case study: ZooKeeper
Prepare: Read ZooKeeper paper

Mon 11/9
Lab Day I: Play with ZooKeeper

Wed 11/11
Lab Day I (contd.) + Cloud Infrastructure in Industry

Deadline for Lab2b: 11/11

Mon 11/16
Lab Day II: Hack ZooKeeper


Special Topics in Cloud Computing

Wed 11/18
LLM Serving (as a Distributed System)

Mon 11/23

Hacker Day (No Class)

Wed 11/25

Thanksgiving recess (No Class)

Mon 11/30
Reliability and AIOps

Deadline for Lab2c: 12/2

Wed 12/2
Final Review

Mon 12/7

Final exam: selectively covers topics included in "Fundamentals in Distributed and Cloud Systems", "Real-world Cloud", and "Special Topics in Cloud Computing".