CSCI.6964 Cloud Computing -- Fall 2011

Instructor:  Carlos Varela
Office:  Lally 308, x6912
Office Hours:  Tuesdays 11:30am-12:30pm and Fridays 12noon-1pm; or by appointment
Meeting PlaceNEW: Amos Eaton 127
Meeting Hours:  Tuesdays 10-11:20am and Fridays 10-11:50am
Home pagehttp://www.cs.rpi.edu/academics/courses/fall11/csci6964/
RPI LMS Web Page


Course Description

In this graduate seminar, we will discuss recent research papers on cloud computing. Topics will include characterization of cloud computing---e.g., comparison to grid computing, utility computing, and web computing---, virtual machines and virtualization---e.g., Xen---, cloud computing middleware---e.g., Eucalyptus---, programming technology for cloud computing---e.g., Google Apps, Map-Reduce---, and research directions on performance, fault-tolerance, elastic software, economic models, energy awareness, data privacy, and other topics as they relate to the cloud computing paradigm.

Pre-requisites

CSCI.4430 and CSCI.4220, or equivalent, or permission of instructor.  The student should be familiar with at least one high-level programming language, a modern operating system, and basic network programming concepts. In particular, this course will assume familiarity with Java, UNIX, and programming with TCP/IP sockets.

Course Themes

Programming models and frameworks for cloud computing. Research topics in cloud computing.

Learning Outcomes

When the students have successfully completed this course, they will be able to:


Course Contents

  1. What is Cloud Computing?
  2. Virtualization
  3. Programming Models and Frameworks
  4. Research Topics

Tentative Discussion Schedule

Date Topic Presenter/Discussion Leader Reviewers
08/30 Course Overview. Introduction to Cloud Computing. Carlos
09/02 Paper #1 (Slides) Carlos
09/06 Paper #2 Shigeru
09/09 Hands-On: Xen Shigeru, Joe
09/13 Paper #4
Paper #5
Naveen
Himanshu
Rohan, Kathy
Sumitra
09/16 No meeting
09/20 No meeting
09/23 No meeting
09/27 No meeting
09/30 No meeting
10/04 Paper #6
Paper #8
Hithika
Sumitra
Naveen
Himanshu, Rohan
10/07 Hands-On: Xen Shigeru, Joe
10/11 No meeting---Tuesday follows Monday schedule
10/14 Hands-On: Eucalyptus Naveen, Kathy
10/18 Paper #9
Paper #12
Rohan
Joe
Joe, Shigeru, Himanshu, Sumitra
Kathy, Shigeru
10/21 Hands-On: Eucalyptus Naveen, Kathy
10/25 Paper #15 Kathy Hithika, Sumitra
10/28 Hands-On: Google App Engine Joe, Rohan, Hithika, Himanshu
11/01 Paper #3
Paper #7
Kathy
Himanshu
Himanshu
Naveen, Shigeru
11/04 Hands-On: Google App Engine Joe, Rohan, Hithika, Himanshu
11/08 Paper #10
Paper #14
Joe
Hithika
Rohan
Joe, Himanshu
11/11 Hands-On: Hadoop Rohan, Naveen
11/15 Paper #16
Paper #17
Sumitra
Shigeru
Hithika
Kathy, Naveen, Rohan
11/18 Hands-On: SALSA Shigeru, Kathy, Sumitra
11/22 Paper #18
Paper #19
Rohan
Naveen
Hithika, Shigeru
Joe, Hithika, Sumitra
11/25 No meeting---Thanksgiving
11/29 Final Paper/Project Presentations-- Proposals Due 10/15
12/02
12/06 No meeting
12/09 No meeting

Reading Material (Partial List)

  1. Above the Clouds: A Berkeley View of Cloud Computing by Michael Armbrust, et al.
  2. The Eucalyptus Open-source Cloud-computing System by Daniel Nurmi, Rich Wolski, et al.
  3. Optimizing the Migration of Virtual Computers by Constantine P. Sapuntzakis, et al.
  4. Self-migration of Operating Systems by Jacob Hansen
  5. Fast Transparent Migration for Virtual Machines by Micheal Nelson, et al.
  6. Mobile and Secure End-Point Computing with Managed Virtual Machines by Monica Lam
  7. Sandpiper: Black-box and Gray-box Resource Management for Virtual Machines by Timothy Wood et al.
  8. Post-Copy Based Live Virtual Machine Migration Using Adaptive Pre-Paging and Dynamic Self-Balloning by Michael R. Hines and Kartik Gopalan
  9. Cost-Benefit Analysis of Cloud Computing versus Desktop Grids by D. Kondo, et al.
  10. Evaluating the Cost-Benefit of Using Cloud Computing to Extend the Capacity of Clusters by Marcos Dias de Assuncao, Alexandre di Costanzo and Rajkumar Buyya
  11. Cost of Virtual Machine Live Migration in Clouds: A Performance Evaluation by William Voorsluys, James Broberg, Srikumar Venugopal, and Rajkumar Buyya
  12. A Model-based Algorithms for Optimizing I/O Intensive Applications in Clouds using VM-Based Migration by Kento Sato, Hitoshi Sato, and Satoshi Matsuoka
  13. SnowFlock: Rapid Virtual Machine Cloning for Cloud Computing by H. Andres Lagar-Cavilla, M. Satyanarayanan, et al.
  14. Power-aware Provisioning of Cloud Resources for Real-time Services by Kyong Hoon Kim, Anton Beloglazov, and Rajkumar Buyya
  15. The Google File System by Sanjay Ghemawat et al.
  16. MapReduce: Simplified Data Processing on Large Clusters by Jeffrey Dean and Sanjay Ghemawat
  17. Building a High-Level Dataflow System on top of Map-Reduce: The Pig Experience by Alan F. Gates et al.
  18. Interpreting the Data: Parallel Analysis with Sawzall by Rob Pike et al.
  19. Web search for a planet: the Google cluster architecture by Luiz Barroso, et al.


Software


Research Papers

Students will critique and present selected papers from recent journal and conference publications, including but not limited to: You may also search papers in Google Scholar, or ACM's Digital Library.  Please use the following guidelines for paper critiques and presentations.

Grading

The course will have no exams. 30% of the grade will be based on paper presentations, critiques, and class participation. 70% of the grade will be based on a final paper/project, which can be worked on individually or in groups of two.

Academic Integrity

The
Rensselaer Handbook of Student Rights and Responsibilities defines several types of academic dishonesty, all of which are applicable to this class.  The final project should represent the students' own work.   Students found in violation of academic dishonesty policies will receive a failing grade for this course.

Please contact the instructor if there is any question about academic (dis)honesty.


Last Updated -- September 12, 2011.