University of Waterloo
CS 854 - Advanced Topics in Computer Systems:
Infrastructure as a Service
|Instructor's Name ||Office Location
|| Contact || Office Hours|
|Martin Karsten || DC 3506 ||mkarstenuwaterloo.ca ||by email|
Registrar's Schedule of Classes
From the School's
"Graduate courses assume a
background of at least third-year Honours Computer Science at the University
of Waterloo and a similar level of mathematical maturity."
For CS 854, students are expected to understand the fundamentals of
programming languages, data structures, operating systems, and algorithms,
each at least at the level of an introductory course.
Infrastructure-as-a-Service (IaaS) combines the virtualization and client/server computing paradigms at scale to provide general-purpose computing, communication, and storage resources that are detached from the underlying hardware and dynamically provisioned. Prominent commercial public offerings include Amazon's AWS, Google's Cloud Platform, and Microsoft's Azure offerings. At the same time, the open-source platform OpenStack can be used to build smaller-scale and/or private cloud infrastructure. In this course, we will study the recent research literature addressing challenges and opportunities in this domain. We will investigate and attempt to categorize and generalize solution approaches. The course is comprised of several elements:
- The first part of the course studies background literature in a lecture-style setting, but with a strong discussion component.
- The second part of the course is concerned with recent research literature. During each class, we will discuss up to three papers.
- Students will work in groups of 1-3 students (depending on the size of the project) on a research project related to a topic from the course.
Students must complete and sign the Academic Integrity acknowledgement form and hand it in at the beginning of the third class. See policies below for further information.
- Attendance - class attendance is required to pass the course.
- (10%) Participation - Students are expected to participate in the discussion in class.
- (20%) Presentation - Each student must choose at least one paper and present it in class. The choice will be coordinated to achieve a good coverage of topics. It is expected that the student gives a 30-minute presentation that also covers the necessary background.
- (20%) Papers - For each paper that is presented in class, each student must submit a short written summary before class and a revision of that summary after class. The summary (500-1000 words) should describe the contents and contributions of the paper, as well as open questions. The revision should describe what has been learned from the in-class discussion of the paper.
- (50%) Project - Projects should consist of literature research and an investigative component using primarily prototype implementation and experimentation. Each group must submit a proposal to the instructor. At the end of the term, each group will present their work to the class in a 30-minute conference-style presentation. In addition, by the end of term, the group must produce a workshop-quality paper describing their project. The typical paper should be about 10-12 pages in IEEE conference style formatting.
List of Papers