Course: Cloud and Distributed Computing

Project Details

Project Lead
Philip Rhodes 
Project Manager
Philip Rhodes 
Project Members
Funke Makanjuola, Michael Macias, Zhendong Zhao, Zeyang Su, B Travis, Orevaoghene Addoh  
Institution
University of Mississippi, Department of Computer Science  
Discipline
Computer Science (401) 

Abstract

This course is meant to introduce graduate students at the University of Mississippi to concepts and tools related to cloud and distributed computing today. In addition to reading and discussing academic papers in the subject area every week, students are also expected to implement a significant class project. The principal goal of the project is to get some initial experience in cloud computing environments. A small number of students (no more than six or seven) will likely want to use FutureGrid resources for their project.

Course Dates: This class has just begun, and students must complete their projects by December 10, 2013. Extension: 1 month for students with programming in-completes.

Course Syllabus:

Cloud and Distributed Computing

ENGR 691 Section 62 Fall 2013 MWF 10-11 Weir 106 (but may move)

Instructor Dr. Philip Rhodes rhodes@cs.olemiss.edu Office Hours Weir 205 MW 11-12, 1-2 And by appointment

Overview

Many of us store large numbers of files and documents using cloud storage, taking advantage of their enormous storage capacity and wide availability across multiple devices. Companies use similar services, and also use cloud computing to perform massive amounts of computation. Cloud computing is really just a variant of distributed computing, in which many separate machines communicate and coordinate to accomplish a particular task.

Cloud users don’t have to buy the hardware required for storage and computation, but instead simply rent the capacity from the provider when it is needed. This low cost and flexible model has made cloud computing an astonishingly popular technology in recent years, but it presents its own set of challenges and tradeoffs. We’ll examine fundamental design issues, including reliability, performance, privacy, and security.

Structure

This course will be a discussion format. Readings will be assigned each week, and a member of the class will be chosen at random to lead the discussion for each class session. Keeping up with the readings will ensure that you are able to competently lead the discussion when your turn comes around.

An important part of the course will be the completion of a final project. The final project includes implementation, report, and presentation components, and should be a significant effort. It is therefore important that you begin thinking about the topic of your project early, and begin work as soon as practical. It’s always a shame when you find yourself in the middle of an interesting project, but without enough time to accomplish as much as you’d like.

Grading

Evaluation of performance will be based upon the project, two tests, and class participation. One or two assignments may also be given. You may elect not to take the final exam, in which case your grade for the course will be determined by the remainder of your course work.

Project 50%

Midterm 20%

Final 20%

Participation 30%



Professional Conduct All students in CSCI 691 are expected to conduct themselves in a professional manner according to the Honor Code of the School of Engineering found at http://www.olemiss.edu/depts/engineering_school/students/current/honor_council.html the Information Technology Appropriate Use Policy, found at http://www.olemiss.edu/online/ause.html the M Book, and any other relevant policies. Student Disabilities Services Statement "It is the responsibility of any student with a disability who requests a reasonable accommodation to contact the Office of Disability Services (915-7128). Contact will then be made by that office through the student to the instructor of this class. The instructor will then be happy to work with the student so that a reasonable accommodation of any disability can be made."

Intellectual Merit

The course will be introducing the students to cloud computing and will also be used to derive new class material that we will be using in subsequent lessons. Although directed readings in cloud and distributed computing will give students a solid background in the concepts, the project portion of the course should give students hands-on experience solving a problem with cloud computing technology.

Broader Impacts

Students at the University of Mississippi often come from underprivileged backgrounds, and many are members of under-represented groups. Of course, all the students will benefit from experience with cloud technology, and poorer states like Mississippi could especially benefit from the cloud. If local resources are insufficient, renting from the cloud in a pay-as-you-go fashion could remove the significant capital barriers that otherwise would stifle innovation.

Scale of Use

This is a very small graduate level course. Not all students will necessarily use FG, since we have other options available. Six or seven FG users is the most we will see. Of those users, resource use need not be very high. If students must be capped at some maximum number of nodes, that should be no problem.