Cloud Computing
Undergraduate and Graduate, Boston University, ECE, CS, 2022
The course aims to explore several fundamental topics of cloud computing, including IaaS (e.g., Open Stack), key big data platforms, and datacenter networking. The course combines group reading and discussion of influential publications in the field, lectures by the instructor, talks by invited speakers, and a large project. In particular, the students will be a part of an agile team, with extensive experience with GitHub, agile tools, and various technologies. The project will be done by teams of 3 to 5 students working with a mentor, depending on the project, an industry leader and/or engineer with a relevant project, or a senior graduate student or a postdoc working on a relevant research project. Projects may use the Mass Open Cloud or industry clouds (Amazon AWS, Microsoft Azure, Rackspace, etc.)
Annoucements
- Sprint demo video deck is alive!
- The first demo video will be due on Mon (10/10). Project demos will be presented on Mon/Wed lectures.
- Please fill out the account and user skill survey to help us assign you with a project. Note that, project descriptions require BU email logins.
- Please join our Piazza discussion channel via piazza.com/bu/fall2022/eccs528. The access code is
cloudcomputing
. - We have an active waitlist for this class. If you have a strong interest in joining this class, email the instructor, and we will try to enroll you with a higher priority.
Instructors
- Instructor: Prof. Alan (Zaoxing) Liu
- Office Hours: Tuesday 4-5PM.
- TA: Zeying Zhu, PhD Student
- Office Hours: Thursday 7-8PM.
- Many thanks to Prof. Orran Krieger for his materials from previous years.
Tentative Syllabus
Date | Topics | Readings | Notes |
---|---|---|---|
Week 1 | Course Overview (slide) | How to Read, You and Your Research | Project Template, Project Management Guidelines, Example Projects |
Week 2 | Overview of Cloud Computing (Mon,Wed) | The Datacenter as a Computer | Sign up for projects |
Week 3 | Overview of Virtualization (Mon,Wed) | Xen, Container-based OS virtualization | Project descriptions Due |
Week 4 | Agile Methods | Agile-1, Agile-1.1 Agile-2 | Invited lectures (Michael Daitzman) |
Week 5 | Distributed Systems (Mon) | Google File System, MapReduce | Lecture (Ata Turk) |
Week 6 | Datacenter Architectures | VL2, Aquila | Invited talk (Wei Bai) |
Week 7 | Storage Systems | Ceph, Flat Datacenter Storage | Lecture (Orran Krieger) |
Week 8 | Resource Management (Mon) | Borg, Mesos, Kubernetes | Invited talk |
Week 9 | Big Data Frameworks (Mon) | Spark, Hive | Sprint project demos |
Week 10 | Datacenter Networking | DCTCP, P4 | Invited talk |
Week 11 | Resource Disaggregation | InfiniSwap(slides), LegoOS | Sprint project demos |
Week 12 | Distributed Systems II (Thanksgiving) | Dynamo, Kafka | Sprint project demos |
Week 13 | Beyond the Cloud | Serverless, Sky Computing | Sprint project demos |
Week 14 | Final Presentations | ||
Week 15 | Final Project Review |
Prerequisites
This course assumes students have a strong programming background. You will have difficulty completing the projects if you don’t have signficant programming experience. Come talk to the instructors if you have any concerns.
For BU ECE students/grads: Undergrads must have taken EC327 or equivalent and preferably another software course, EC330 or EC440, before taking this course. Graduate students must have taken a rigorous programming class recently, such as EC504 or equivalent (or have major software design experience in industry).
For BU CS students/grads: This course assumes students have a strong programming background. Undergrads must have taken CS350 Operating Systems (preferably CS552 as well), CS 460 Database Systems (preferably CS562 as well), and CS 455 Computer Networks (preferably but not must) courses. Graduate students must have taken a rigorous programming class recently, (or have major software design experience).
Projects
In addition to paper readings, there will be a major project, starting from the course beginning, with a mentor, from industry, senior graduate student, or one of the instructors.
The project is due by the end of the exam week. The project presentations will be given in the form of a final poster and a demo. There will also be demos scheduled throughout the course to demonstrate regular progress.
Some example final demos:
Grading
- 70%: Project Team members typically receive the same project grades, but individual grades may be scaled based on feedback we solicit from your mentor and teammates.
- 10%: project description
- 30%: bi-weekly project demo and status (5 x 6%)
- 25%: final project result and report
- 5%: project quizzes (checking if you listened to your classmates’ presentations)
- 30%: Paper quizzes, Piazza discussion, and required project forms
Brief quizzes on reading assignments will be open during first 5 minutes of class.- PhD students: must complete all
- MS students: must complete 80% (Fall 2023: 3)
- Undergrad: must complete 50% (Fall 2023: 3)
There is no mid-term or final exam.
Evaluation of the project will involve evaluation of your demo, poster, bi-weekly status reports, code reviews, and mentor and project partner reviews.