Course: Example Course On Advanced Cloud Computing

Project ID
FG-346
Project Categories
Education
Project Keywords
Completed
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.
Use of FutureSystems
FutureGrid will be used to start up a number of virtual machines using Openstack and Eucalyptus. In addition we will also use HPC
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.