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

Tentative Syllabus

DateTopicsReadingsNotes
Week 1Course Overview (slide)How to Read, You and Your ResearchProject Template, Project Management Guidelines, Example Projects
Week 2Overview of Cloud Computing (Mon,Wed)The Datacenter as a ComputerSign up for projects
Week 3Overview of Virtualization (Mon,Wed)Xen, Container-based OS virtualizationProject descriptions Due
Week 4Agile MethodsAgile-1, Agile-1.1 Agile-2Invited lectures (Michael Daitzman)
Week 5Distributed Systems (Mon)Google File System, MapReduceLecture (Ata Turk)
Week 6Datacenter ArchitecturesVL2, AquilaInvited talk (Wei Bai)
Week 7Storage SystemsCeph, Flat Datacenter StorageLecture (Orran Krieger)
Week 8Resource Management (Mon)Borg, Mesos, KubernetesInvited talk
Week 9Big Data Frameworks (Mon)Spark, HiveSprint project demos
Week 10Datacenter NetworkingDCTCP, P4Invited talk
Week 11Resource DisaggregationInfiniSwap(slides), LegoOSSprint project demos
Week 12Distributed Systems II (Thanksgiving)Dynamo, KafkaSprint project demos
Week 13Beyond the CloudServerless, Sky ComputingSprint project demos
Week 14Final Presentations  
Week 15Final 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.