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
  • Programming Assignment 1 due Sep 26
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
  • Programming Assignment 2 due Oct 24
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
  • No class
Oct 31 Mid-way Project Presentation
11 Nov 5 Election day
  • No class
Nov 7 Live Migration of VMs
  • Programming Assignment 3 due Nov 21
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
  • No class
15 Dec 3 Failure Resiliency
Dec 5 Final Presentations I
16 Dec 10 Final Presentations II
  • Final project deliverable due on Canvas at midnight