|
Topics (spanning 2-4 lectures each) |
Tutorials |
Class videos |
Lecture notes, assignments (posted on Gradescope), and other readings |
T1
|
Introduction
[Sep 1] Class overview; introduction to cloud computing; introduction to distributed systems;
Writing a simple distributed client-server program
|
Sockets:
[java] , [python]
Message queues
RPC/RMI: [java: tutorial, code] [python: tutorial, code] [C: tutorial, code] |
|
TS Ch.1
Sockets slides |
T2
|
Distributed time and coordination
Clock synchronization; Lamport clocks; vector clocks; totally-ordered multicast
Mutual exclusion, leader election, consistent snapshots
|
Intro. to AWS EC2 |
|
TS Ch. 6 (2e, 3e)
HW1
PA1: Time synchronization protocol
Distributed snapshot(optional reading) |
T3
|
Consistency and replication
Consistency models and data replication; replicated data stores
Amazon Dynamo case study (consistent hashing, version vectors, sloppy quorums, hinted handoffs, gossip, merkle trees, etc.)
|
Case study systems: Amazon DynamoDB, Apache Cassandra (Facebook)
|
|
TS Ch. 7 (2e, 3e)
HW2
Dynamo SOSP'07 paper (required reading)
PA2: Distributed key-value service |
T4
|
Fault tolerance and consensus
Fault and network models; distributed commit protocols; byzantine agreement
| |
|
HW3
TS Ch. 8 (2e, 3e) |
|
In-class midterm |
|
no lecture |
|
T5
|
Consensus (cont'd), replicated state machines, primary backup, byzantine fault tolerance
| |
|
Consensus and RSMs
Paxos Made Simple
The original Paxos paper "in Greek" (optional reading) |
T6
|
Case study systems (cont'd) |
Case study systems: Yahoo! ZooKeeper (Yahoo), Chubby (Google), Spanner (Google) |
|
Required reading papers:
PA3: Consensus and RSMs
HW4
Optional reading papers:
- (OSDI'04) Chubby lock service (one of the earliest production deployment experience reports of Paxos)
|
T7 |
Datacenter network architectures: virtualization, Clos topologies, optical |
|
|
Datacenter networking notes
Required reading papers:
|
T8 |
Public cloud platforms: Amazon EC2, Google AppEngine, Microsoft Azure | |
|
PA4: Public cloud environments
|
|
Take-home final (TBD) |
|
|
|
|
Additional topics subject to time availability |
|
|
|
|
Security and privacy issues in public clouds | |
|
|
|
Software-defined networking | |
|
|