CS 8803/4803 - Systems Issues In Cloud Computing

Fall 2021

Instructor: Kishore Ramachandran
TAs: Aaron Drysdale (adrysdale3@gatech.edu); Tyler Landle (tlandle3@gatech.edu); Hanan Li (hananli@gatech.edu)
Meeting time: Wednesdays 8 PM - 9:15 PM

Outline

This is a hands on project-intensive immersive course aimed at senior-level undergraduates and graduate students to give them an in-depth experience in developing different layers of a cloud computing infrastructure including software defined networks, distributed runtime systems, network function virtualization, and application development.

!!!WARNING!!!

  1. There will be LITTLE to NO hand holding in the course. The course is intended for self-motivated students who are hungering for an immersion into system hacking.
  2. There is limited seating in the course (max enrollment 25 for the on campus section; max enrollment 50 between the two sections for the OMS offering). So please be absolutely sure that you want to be in the course before you register for the course.
  3. Please email the TAs listed above if you are in doubt as to your preparedness for the course and/or the course expectations.

Pre-requisites

The formal requirement for students aspiring to take this class is completion of CS6210/CS4210 with a letter grade of A. Exception to this formal requirement will be made on a case by case basis. Please contact the instructor before registering for the course.

Organization of the Course

The course is organized into four project-driven modules (roughly equal duration):
  1. Software Defined Networks (SDN): Click here for more information on this module.
  2. Cloud System Software: Click here for more information on this module.
  3. Network Function Virtualization: Click here for more information on this module.
  4. Cloud Applications: Click here for more information on this module.
Each module is organized as discussion of the technical details pertaining to that topic (from selected readings from research papers and other online resources).

In-class Meetings

Each in-class meeting is for 3 hours and consists of: NOTE:
  1. Due to COVID-19, the Spring 2021 on-campus offering was "remote synchronous", with weekly mandatory attendance for the 75 min hands-on workshops. Additionally, students should set aside 75 min asynchronous viewing time each week for the the pre-recorded lectures and associated assessments prior to attending the workshops.
  2. In Fall 2021, the OMS offering of the course follows a similar format.

Projects

In addition to the hands-on workshops, there will be four significant projects pertaining to each of the four topics to be carried out by 2-person student teams over the course of the semester.

Course Rules

  1. You have to be present in every class for the entire duration. Personal commitments will not be accepted as excuses for missing a class. The only exceptions will be institutional commitments and/or health-related absences.
  2. All the assignments have to be completed fully and on time. Partial work gets NO CREDIT.

Honor code

Grading

The expectation is that the students will complete watching the pre-recorded lectures and the associated assessments ahead of the synchronous meetings for the hands-on workshops. There may be short in-class quizzes to ensure this. There will be no exams.

We will give you very clear guidelines on software engineering principles to be adhered in code development. Remember you are working as though you are part of a product team in a company...not doing just a course project. You have to adhere to such principles in all your projects.

There are only two letter grades for your performance in the entire course: A or F. To earn an A in the course, you have to do the following: