Cloud Computing
Undergraduate, University of Maryland, CS, 2024
The course explores several fundamental topics of cloud computing, including IaaS (e.g., Open Stack, Kubernetes), key big data platforms, and data center 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. Students will be a part of an agile development team, with extensive experience with GitHub, agile tools, and various technologies. Each course project is solicited from open-source community and will be mentored by an industry leader and/or engineer, or a senior graduate student/postdoc. A project is expected to be done by teams of 3 to 5 students working with a mentor. Projects may use public clouds from our industry partners (e.g., Microsoft Azure).
Annoucements
- Thank you Microsoft Azure and Red Hat for agreeing to share their cloud development experience with our students!
- Thank you Microsoft for agreeing to sponsor our course projects with Azure credits!
- Please enroll CMSC498B and email the instructor for any questions.
- An updated speaker list and project descriptions will be available before the semester starts.
Instructors
- Instructor: Prof. Alan Zaoxing Liu
- Office Hours: TBA
- TA: TBA
- Office Hours: TBA.
Tentative Syllabus
Date | Topics | Readings | Notes |
---|---|---|---|
Week 1 | Course Overview | How to Read, You and Your Research | Project Template, Project Management Guidelines, Example Projects |
Week 2 | Overview of Cloud Computing | The Datacenter as a Computer | Sign up for projects |
Week 3 | Overview of Virtualization | Xen, Container-based OS virtualization | Project descriptions Due |
Week 4 | Agile Methods | Agile-1, Agile-1.1 Agile-2 | Invited lectures (Microsoft) |
Week 5 | Distributed Systems | Google File System, MapReduce | Lecture |
Week 6 | Datacenter Architectures | VL2, Aquila | Invited talk |
Week 7 | Storage Systems | Ceph, Flat Datacenter Storage | |
Week 8 | Resource Management | Borg, Mesos, Kubernetes | Invited talk |
Week 9 | Big Data Frameworks | 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
- CMSC 330: Organization of Programming Languages
- CMSC 351: Algorithms
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
- 35%: Project Progress Report 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
- 20%: bi-weekly project demo and status (4 x 5%)
- 5%: project quizzes (checking if you listened to your classmates’ presentations)
- 20%: Midterm Exam
- 25%: Final project result and report
- 20%: Paper quizzes, Piazza discussion, and required project forms
Brief quizzes on reading assignments will be open during first 5 minutes of class.
Evaluation of the project will involve evaluation of your demo, poster, bi-weekly status reports, code reviews, and mentor and project partner reviews.
Course Mechanics
Style: In each topic, the instructor will give one or two introductory lectures, followed by paper discussions by class participants. In addition, there will be one capstone project. Students will be required to read and review papers before the class.
Capstone Project: The project is a teamwork. Projects may use the public clouds via our industry partners (e.g., Microsoft Azure, Amazon AWS.) 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.
How to Review Papers: Write a review in four sections, including summary, paper strengths paper weaknesses, and detailed comments.
- Summary (points in sentence or bullet form): What program? Core novel ideas or technical contributions? Summarize approach, mechnisms, or main findings.
- Strengths/Weaknesses: 2-4 points each.
- Detailed comments: Be constructive. Imagine conversation w/ authors. For example,
- Problem: What is it? Is it new? Is it real? Is it important?
- Solution: What is the technique(s)? Is it novel? How is it compared to past solutions? What is the intuition(s)?
- Implementation/evaluation: Does it have a real system prototype? Is the evaluation dataset(s) representative? Does the evaluation cover all aspects?
- Looking forward: Can you come up with a new/different/better solution? Can you find a new/related problem to solve?