CS349D: Cloud Computing Technology

Instructors: Christos Kozyrakis and Matei Zaharia
TA: Qian Li
Autumn 2018, Mon/Wed 10:30 AM - 12:20 PM, room 200-030
3 units
Piazza: Class Homepage, Signup Link

Attention for students interested in this class: Please enroll in this class on Axess and take a few minutes to complete this survey. And please use this link to declare topic preferences you will lead.

The largest change in the computer industry over the past five years has arguably been the emergence of cloud computing: organizations are increasingly moving their workloads to managed public clouds and using new, global-scale services that were simply not possible in private datacenters. However, both building and using cloud systems remains a black art with many difficult research challenges. This research seminar will cover industry and academic work on cloud computing and survey key technical issues. Students will read and discuss a paper per class meeting and do a quarter-long project in groups of 2-3.

Grading: The main evaluation will be around a project that students propose and execute during the course. Apart from that, each student is expected to present one of the papers and to participate in class. The grading rubric will be 70% project, 15% paper presentation and 15% participation.


Class Format: You will need to fill out a Google form with answers to a few summary questions before each class starts. The form will be emailed to students each week. During class, one or two students will spend 10-15 minutes presenting the day's paper, and will then lead the subsequent discussion. Another student will take notes on the presentation and discussion.

Class Presentations/Notes Google Folder: If you are assigned to take notes for a class, please take the notes in a Google Doc and add them to this folder once you are done. If you are presenting, please put Google Slides for your presentation in this folder. Request write permissions to the folders by clicking on the "CS 349D-Aut1819-Notes/Presentations" dropdown, then the "Share" item, then the "Advanced" button in the lower right corner.

DateTopicReadingsClass Notes
9/24 Introduction A View of Cloud Computing
9/26 Storage Dynamo: Amazon's Highly Available Key-value Store
10/1 CAP Theorem CAP Twelve Years Later: How the "Rules" Have Changed
10/3 Economics Guest Lecture: TBD
10/8 Databases Guest Lecture: Sailesh Krishnamurthy (Amazon)
Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases
Background: Database Recovery Slides from UC Berkeley
10/10 Analytics Systems Spark SQL: Relational Data Processing in Spark
10/15 Streaming Systems The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing
10/17 Resource Managers Large-scale cluster management at Google with Borg
Skim: Borg, Omega, and Kubernetes
10/22 Resource Allocation Resource Central: Understanding and Predicting Workloads for Improved Resource Management in Large Cloud Platforms
10/24 Serverless SAND: Towards High-Performance Serverless Computing, and
Occupy the Cloud: Distributed Computing for the 99%
10/29 Monitoring and Debugging Performance Analysis of Cloud Applications
10/31 Programming Models Erlang - A survey of the language and its industrial applications
Skim: Go Concurrency, Reactive Programming
11/5 ML Platforms Michelangelo and FBLearner Flow
Optional: TFX
11/7 ML Serving TBD
11/12 Hardware A Configurable Cloud-Scale DNN Processor for Real-Time AI
Optional: Azure Accelerated Networking: SmartNICs in the Public Cloud
11/14 Security Ryoan: A Distributed Sandbox for Untrusted Computation on Secret Data
11/19 Thanksgiving
11/21 Thanksgiving
11/26 Privacy Privacy Integrated Queries
Optional: Apple Differential Privacy Overview, Details
11/28 SRE Guest Lecture: Ben Sloss (Google)
12/3 Edge Computing The Emergence of Edge Computing
12/5 Project Presentations

Paper Presentations

Each student will be assigned a paper to present during the class. You should prepare a 10-15 minute presentation on the paper. In your presentation, cover each of the following:


Students will propose and run a quarter-long project, ideally in groups of 2-3. It is fine to use your existing research project if it is relevant to the course and the instructor approves. You will present the project at the end of the course and write a 10-12 page report. See here for a list of project ideas.

Project timeline:

See here for instructions for instructions on each phase of the project.

Adapted from a template by Andreas Viklund.