CS349D: Cloud Computing Technology

Instructors: Christos Kozyrakis and Matei Zaharia
TA: James Thomas
Autumn 2017, Mon/Wed 10:30 AM - 12:20 PM, room 380-380W (Sloan Math Center)
3 units
Office hours: Christos Mondays 9.15am - 10.15am at Gates 350
Piazza: here

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 Notes/Presentations" dropdown, then the "Share" item, then the "Advanced" button in the lower right corner.

DateTopicReadingsClass Notes
9/25 Introduction A View of Cloud Computing Slides
9/27 Cloud Economics Deconstructing Amazon EC2 Spot Instance Pricing Slides Notes
10/2 Cloud Operations/Economics at Amazon Guest: Marvin Theimer
Slides Notes
10/4 Storage Dynamo: Amazon's Highly Available Key-value Store Slides Notes
10/9 Databases Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases
Background: Database Recovery Slides from UC Berkeley
Slides Notes
10/11 Serverless Occupy the Cloud: Distributed Computing for the 99% Slides Notes
10/16 Analytics Systems Spark SQL: Relational Data Processing in Spark Slides Notes
10/18 Streaming Systems The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing Slides Notes
10/23 Security Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds Slides Notes
10/25 Privacy Privacy Integrated Queries Slides Notes
10/30 Debugging/monitoring Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems Slides Notes
11/1 Resource Allocation CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics Slides Notes
11/6 Using ML for Systems Quasar: Resource-Efficient and QoS-Aware Cluster Management Slides Notes
11/8 Serving Systems Unicorn: A System for Searching the Social Graph Slides Notes
11/13 Operations/SRE Guest: Aaron Davidson
Slides Notes
11/15 Programming Models Orleans: Distributed Virtual Actors for Programmability and Scalability Slides Notes
11/20 Thanksgiving
11/22 Thanksgiving
11/27 ML as a Service Guest: Rajen Sheth
11/29 Hardware Acceleration A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services Slides Notes
12/4 CAP Theorem CAP Twelve Years Later: How the "Rules" Have Changed
12/6 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.