CS687 Special Topics in Systems: Fundamentals and Trends
This course will cover foundational Cloud Computing concepts such as the basics of Cloud Computing, service provisioning and deployment models, networking, and security in the cloud as well as virtualization and containerization technologies used in Cloud Computing. Serverless computing, big data analytics, and machine learning on the cloud will also be discussed. We will further survey the advanced aspects of Cloud Computing by examining recent research published at top conferences, executing Cloud Computing tasks on a state of the art cloud computing service (such as Google’s Google Cloud Platform (GCP) and Amazon’s Amazon Web Services (AWS)), and implementing a change or feature in a state of the art Cloud Computing framework.
Instructor: Prof. Shixiong Qi
Term: Fall 2024
Location: W T Young Library Rm.B-35 LEC
Time: T/R, 11:00 AM-12:15 PM U.S. Eastern Time
Course Overview
After completing this course, the student will be able to:
- Gain a deep understanding of cloud computing, including the history of evolution, deployment models, and popular use cases such as web services and machine learning.
- Understand the strengths and weaknesses of different virtualization techniques for deploying cloud applications.
- Understand various design aspects of advanced cloud frameworks, including networking, security, and resource provisioning.
- Read original scientific publications to understand how they build on previous research in cloud computing.
- Define and implement their own project that explores a topic in cloud computing.
Prerequisites
This class is appropriate for graduate students with previous background in operating system and networking.
- Basic programming knowledge (preferably in C, C++, Golang)
- CS 470G
- CS 471G
- Consent of instructor
Textbooks
None
Grading
- Paper presentations: 20%
- Paper summaries: 20%
- Programming projects: 30%
- Final project: 30%
Schedule
| Week | Date | Topic | Materials |
|---|---|---|---|
| 1 | Aug 27 | Introduction and Logistics | |
| Aug 29 | Introduction to Cloud Computing | ||
| 2 | Sep 3 | Virtualization I | |
| Sep 5 | Virtualization II | ||
| 3 | Sep 10 | Project Ideas Discussion |
|
| Sep 12 | Docker | ||
| 4 | Sep 17 | Kubernetes I | |
| Sep 19 | Kubernetes II | ||
| 5 | Sep 24 | Data Center Networking I | |
| Sep 26 | Data Center Networking II | ||
| 6 | Oct 1 | Project proposal | |
| Oct 3 | Data Center Networking III | ||
| 7 | Oct 8 | Data Center Networking IIII |
|
| Oct 10 | Middleboxes and Network Functions | ||
| 8 | Oct 15 | Serverless Computing I | |
| Oct 17 | Serverless Computing II | ||
| 9 | Oct 22 | Serverless Computing III | |
| Oct 24 | Serverless Computing IIII | ||
| 10 | Oct 29 | Fall break |
|
| Oct 31 | Mid-way Project Presentation | ||
| 11 | Nov 5 | Election day |
|
| Nov 7 | Live Migration of VMs |
|
|
| 12 | Nov 12 | 5G systems in the cloud I | |
| Nov 14 | 5G systems in the cloud II | ||
| 13 | Nov 19 | Federated Learning Systems | |
| Nov 21 | Deep Learning in Cloud I | ||
| 14 | Nov 26 | Deep Learning in Cloud II | |
| Nov 28 | Thanksgiving Break |
|
|
| 15 | Dec 3 | Failure Resiliency | |
| Dec 5 | Final Presentations I | ||
| 16 | Dec 10 | Final Presentations II |
|