Course: Example Course On Advanced Cloud Computing

Project Details

Project Lead
Albert Elfstein 
Project Manager
Albert Elfstein 
Project Members
Sneha Shekatkar, Derek Morris Jr., Gregor von Laszewski  
Institution
Indiana University, Computer Science Department  
Discipline
Computer Science (401) 

Abstract

Note: this is an example project and is not a real project, although the contents presented in this material is available.
 
This course will introduce the students at Indiana University as part of the Summer Semester 2012 into the essentials of Cloud Computing and HPC. We will start the course by teaching the students within one week python. As cloud computing framework we have chosen OpenStack, as it has become one of the ubiquitous IaaS frameworks and is available on FutureGrid (Sierra). Additionally, we will teach the students how to program a simple MPI application so that they can further develop the virtual cluster code available from github (https://github.com/futuregrid/virtual-cluster).  We will compare the performance between the virtualized and non virtualized environment as develop with the help of our cloud metrics system a scheduler that enables us to use bare metal provisioned clusters and virtualized clusters on-demand based on resource requirements and specifications. We are aware that the FutureGrid team is developing such an environment, and like to join the efforts throughout our course with the contributions conducted by the students.

Course Dates:
 
This class will be taught in 10 weeks as part of the Indiana University CS curriculum. The following dates are important
 
      Start: July 13, 2013
      End:   Sept 23, 2013
      Extension: 1 month for students with programming in-completes.
 
Course Outline (tentative):
 
   1. Introduction and Overview
   2. Essential Python for the Cloud
   3. Introduction to OpenStack
   4. Programming OpenStack
   5. Programming a HPC Cluster
   6. Creating a Virtual Cluster
   7. Performance Comparision
   8. Cloud Metrics
   9. Cloudmesh
   10. Joining FutureGrid Software Developments
 
Grading Policies:
   Class participation and contribution: 5%
   Homework assignments, reading summary, and paper presentation: 50%
      Programming assignments: (30%)
      Reading Summaries: (10%)
      Paper Presentation: (10%)
   Course Project: 50%
      Proposal: (10%)
      Midterm Presentation: (10%)
      Final Presentation and Demo: (15%)
      Final Report: (15%)
 
Note:
 
Homework and programming assignments are due by 11:59pm Thursdays (unless announced in class otherwise). Late homework (non-programming) will NOT be accepted. Late program penalty is 10% per day, according to the timestamp of your online submission. Only when verifiable extenuating circumstances can be demonstrated will extended assignment due dates be considered. Verifiable extenuating circumstances must be reasons beyond control of the students, such as illness or accidental injury. Poor performance in class is not an extenuating circumstance. Inform your instructor of the verifiable extenuating circumstances in advance or as soon as possible. In such situations, the date and nature of the extended due dates for the assignments will be decided by the instructor.
 
Please note that FutureGrid does not approve accounts on the weekends. Regular support hours are Mo-Fri 9am - 5pm. Please note that answering support questions does take time. Do not start the night before the homework is due. Plan your programming assignments to be done early.

Intellectual Merit

The course will be introducing the students to cloud computing and will aslo be used to derive new class materiel that we will be using in subsequent lessons.

Broader Impacts

This class will be educating a number of students in cloud computing programming. Cloud computing is an important factor in job availability after graduation of students, thus this course will be useful to increase marketability of the students. In addition we have in tha past also been able to increase participation of minority students. In tha past we had 10 minority students and 9 female students taking this class. We intend to work together with Gregor von Laszewski and improve the FutureGrid manual and to make our course material available via FutureGrid through its github and community portal pages.

Scale of Use

We anticipate the the course will have 30-35 students. The course will be using OpenStack and HPC compute resources and requires for selected students access to bare metal provisioning. The course will not require to run computationally intense applications. However, we require that students be able to run up to 30 VMs at a time. We know that this may in peak hours be beyond the capabilities of FutureGrid and are advising our students to kill machines if they are not used. The maximum duration of a single VM will typically be less than 5 minutes.