Schedule

Lecture: Monday/Wednesday 6:30 – 8:15pm, PHO210

Staff

Instructor

  • Yigong Hu
    Address: PHO335
    Email: yigongh AT bu DOT edu
    Office Hours: Monday/Wednesday: 4:00 - 5:00PM (or by appointment), PHO335

TA

  • Wenbo Qian
    Email: qwb AT bu DOT edu
    Office Hours: TBD

Grader

TBD

For any questions, please post on Piazza first. If your question is private, please email the instructor and CC the TAs and graders.

Outline

In today’s digital age, cloud computing has fundamentally transformed how we work, communicate, and interact. By leveraging distributed systems, it provides flexible and scalable solutions that cater to various computing demands, from storing vast amounts of data to running complex applications.

This course explores system perspectives of cloud computing, including key concepts and principles in the design and development of cloud systems. It primarily emphasizes the perspective of system providers rather than users. The lectures cover distributed system concepts such as distributed communication models, synchronization, consistency, and fault tolerance, as well as an introduction to influential cloud infrastructure and frameworks. Students gain practical experience through the study of algorithms and a semester-long project building distributed applications.

Building on these fundamentals, the course examines the challenges of operating cloud systems at scale: storage systems, data-parallel computation, resource management, virtualization, datacenter architectures, performance tracing, cloud failures, and the infrastructure behind large-scale machine learning and LLM-based services. Lectures are combined with guided discussion of classic and contemporary research papers and case studies of real-world systems.

A central component of the course is a semester-long project, completed by teams of 4-6 students. Each team works closely with a mentor, typically an industry engineer, researcher, or senior graduate student, on a realistic cloud or systems problem. Projects emphasize hands-on system building, experimentation, and evaluation, and often target real cloud platforms such as commercial public clouds or research clouds. Teams present regular milestone demos and finish the semester with a final presentation, delivered partly live and partly as a recorded video.

By the end of the course, students will:

  • Understand the architecture and operation of cloud systems at the infrastructure (IaaS) and platform levels.
  • Gain practical experience with distributed systems concepts such as consistency, fault tolerance, and scalability.
  • Learn how cloud systems are monitored, debugged, and operated in the presence of failures and performance anomalies.
  • Produce a substantial system artifact that reflects real-world cloud engineering or research challenges.

There is no final exam. Evaluation is based on project milestones, final project outcomes, and engagement with assigned readings and discussions.

Textbook

There is no textbook. Each week, we will cover on average two research papers and one practitioner paper or other instructional material. You will be expected to read and review a subset of these papers (see Grading below) and to actively participate in in-class discussion. These readings may require you to seek out and read additional background material to ensure full comprehension; do not underestimate the time required.

In addition, the course project represents a significant time commitment. You are expected to make steady progress throughout the semester, as a substantial portion of the project grade is based on in-class progress reports and demos.

Grading

Final grade will be based on the following weights:

Component Weight Graded as
Project 50% Team
Presentation 10% Individual
Individual contribution 10% Individual
Paper quizzes 30% Individual

The first three components together make up the 70% project grade. Their breakdown — demo weights, the progress and slides rubrics, and how peer and mentor evaluations work — is on the grading policy page.

All project deliverables (design proposal, demo slides, design documents, demo videos, code, and the final report) live in your team’s GitHub repository, and we grade the version in the repository at each deadline.

Paper quizzes: 30%

  • There will be 18 in-class quizzes based on the assigned readings — one in every lecture except the first two (09/02 and 09/09).
  • Only your highest-scoring quizzes count: 14 for MS students, 12 for undergraduates.
  • The remaining quizzes are your buffer for illness, travel, and other absences — 4 for MS students, 6 for undergraduates. Because that buffer is built in, there are no make-up quizzes.

In-class questions: bonus points

  • There will be random, short in-class questions during lectures.
  • A correct answer receives 0.5 bonus points; a good or insightful answer receives 1 bonus point.
  • If no one volunteers, I may call on a student at random. There is no penalty for being called on while absent.
  • Bonus points are capped at 3 points toward your final grade.

Late work

Late submissions are not accepted. The design proposal, design documents, demo materials, and the final report must be in the correct branch by their stated deadlines.

Grading scale

The following thresholds provide a nominal grading scale:

Score Grade
≥ 93 A
≥ 88 A–
≥ 83 B+
≥ 78 B
≥ 68 B–
≥ 58 C
< 58 D

Based on the overall difficulty of the course and the distribution of course performance, I may lower these thresholds at the end of the semester. I will never raise them.

Please do not spend the semester worrying about your grade. In past offerings of this course, roughly half the class finished with an A or A–. If you engage with the readings and make steady progress on your project, you will be fine.