Computer Science
6204
Cloud Computing
Fall 2010
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.
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.