Computer Science 6204

Cloud Computing

Fall 2010

Overview

Cloud Computing is emerging as a powerful paradigm for transparently managing a large-number of computing resources to provide users with a "plug-and-play" interface for their applications. The paradigm reduces the cost-of-ownership and enables users to utilize computing resources in an efficient, robust, scalable, and secure fashion. Thus, Cloud Computing has the potential to change the IT industry in profound ways. The main purpose of this class is to dissect the paradigm and understand the solid systems principles that enable cloud computing. Topics will include an in-depth analysis of different Cloud components and technologies, e.g., MapReduce, cloud resource management, resource hierarchies, cloud storage, reliability and robustness in the cloud, energy efficiency, cloud applications and future directions. The class will be lecture-based and also include one open-ended semester long project. The material will be mainly taken from research papers and industry resources to cover the fundamentals as well as state-of-art in Cloud Computing.

 

Course information

Instructor:

E-mail:

Phone:

 

Office Hours:

 

Meeting Time:

Class Web Page:

Discussion Forum:

Dr. Ali R. Butt

butta@cs.vt.edu

1-0489

 

Please email for appointments

 

MW 4:00-5:15pm in MCB 204

http://people.cs.vt.edu/butta/cs6204/fall2010/

Available on CS Forums@ http://forum.cs.vt.edu/

 

Prerequisites

This is an advance level graduate level course and is aimed at students interested in Cloud Computing. There are no formal prerequisites for this course, however, basic knowledge of operating systems concepts, distributed computing and networking, algorithms and data structures, and relevant programming proficiency is assumed.

 

Textbook

We will not be using any textbook for this course. Reading material will be assigned for discussions and student presentations.

 

Format

The course work consists of exams, a programming project, and class participation in the discussions.

 

Midterm: There will be one in-class midterm based on the material (lectures/papers) covered in class.

 

Project: The class includes a term-long programming project of your choice related to the topics covered in class. The project will be completed in teams of two. The term project can take multiple forms. For instance, your team may design, prototype, and evaluate a small system that solves a distributed scientific problem using cloud interfaces. Or you may design a project that evaluates the suitability of an existing system for a particular purpose. Or you may add an extension to a system like Linux. You are encouraged to come up with your own ideas for a project, or choose from a posted list.

 

Students will submit a 2 page project proposal that should outline the project. The proposal should explain what problem you are addressing and the relevance of that problem. You should outline what infrastructure (software and/or hardware) you will be using for that project and how you expect to evaluate your results. You will need to define what deliverables your project will have. To ensure progress towards the completion of your project or paper, your team will meet with the instructor during certain milestones, which will be posted on the class website. Those meetings are mandatory for full credit on the project.

 

Final Presentation: All teams are required to do a final 20 minute presentation that summarizes the results of their survey paper or programming project.

 

Grading

Midterm

30%

Term-project/final presentation

60%

Class participation

10%

 

Honor Code

All work is conducted under the rules of the university Honor Code. This code and other relevant policies are described in detail on the class web pages.