Quarter: Spring 2012
Lecture Time: Monday/Wednesday, 11:25AM-12:40PM
Lecture Location: Stuart Building 106
Office Hours Time: Wednesday 12:40PM-1:40PM
Office Hours Location: Stuart Building 237D
Professor: Dr. Ioan Raicu (iraicu@cs.iit.edu)
Teaching Assistant: Siyuan Ma (sma9@iit.edu)
TA Office Hours Time: Tuesday/Thursday, 2PM-3PM
TA Office Hours Location: Stuart Building 003
Cloud Computing is “A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.” It has become a driving force for information technology over the past several years, and it is hinting at a future in which we won’t compute on local computers, but on centralized facilities operated by third-party compute and storage utilities. Governments, research institutes, and industry leaders are rushing to adopt Cloud Computing to solve their ever-increasing computing and storage problems arising in the Internet Age. There are three main factors contributing to the surge and interests in Cloud Computing: 1) rapid decrease in hardware cost and increase in computing power and storage capacity, and the advent of multi-core architecture and modern supercomputers consisting of hundreds of thousands of cores; 2) the exponentially growing data size in scientific instrumentation/simulation and Internet publishing and archiving; and 3) the wide-spread adoption of Services Computing and Web 2.0 applications. This course is a tour through various topics and technologies related to Cloud Computing. We will explore solutions and learn design principles for building large network-based systems to support both compute and data intensive computing across geographically distributed infrastructure. Topics include resource management, programming models, application models, system characterizations, and implementations. Our discussions will often be grounded in the context of deployed Cloud Computing systems, such as Amazon EC2 and S3, Microsoft Azure, Google AppEngine, Eucalyptus, Nimbus, OpenStack, Google's MapReduce, Yahoo’s Hadoop, Microsoft’s Dryad, Sphere/Sector, and many other systems. The course involves lectures, outside invited speakers, discussions of research papers, programming assignments, and a major project (including both a written report and an oral presentation). For the catalog description, please click here. For a PDF flier on the course, please click here.
We will be using the textbook Distributed and Cloud Computing: Clusters, Grids, Clouds, and the Future Internet by Kai Hwang, Jack Dongarra & Geoffrey C. Fox.
Schedule (all slides and assignments are posted on Black Board):
Date | Lecture Topic | Reading (To be completed by posted date) | Assignments |
01-09-2012 | Syllabus (PDF, Slides) | HW#0 out | |
01-11-2012 | Introduction to Distributed Systems (Slides) | ||
01-16-2012 | NO CLASS | ||
01-18-2012 | Introduction to Distributed Systems | Distributed Computing (HTML) | HW #0 due |
01-23-2012 | Introduction to Distributed Systems | ||
01-25-2012 | Distributed System Models and Enabling Technologies | Ch 1 | |
01-30-2012 | Distributed System Models and Enabling Technologies | Ch 1 | Prog #1 out HW #1 out |
01-31-2012 Tuesday 2PM-3PM SB 204 |
Toturial for Programming Assignment #1 Siyuan Ma |
||
02-01-2012 | Distributed System Models and Enabling Technologies | Ch 1 | Quiz #1 (Intro, Ch 1) |
02-06-2012 | Distributed System Models and Enabling Technologies | Ch 1 | |
02-08-2012 | Computer Clusters for Scalable Computing | Ch 2 | HW #1 due |
02-13-2012 | Computer Clusters for Scalable Computing | Ch 2 | Proj #1 out |
02-15-2012 | Virtual Machines and Virtualization of Clusters and Datacenters | Ch 3 | |
02-20-2012 | Virtual Machines and Virtualization of Clusters and Datacenters | Ch 3 | HW #2 out |
02-22-2012 | Virtual Machines and Virtualization of Clusters and Datacenters | Ch 3 | |
02-27-2012 | Virtual Machines and Virtualization of Clusters and Datacenters | Ch 3 | Prog #1 due Prog #2 out |
02-28-2012 Tuesday 2PM-3PM SB 238 |
Tutorial on MapReduce (Slides1,
Slides2) Siyuan Ma |
||
02-29-2012 | Cloud Programming and Software Environments (MapReduce) | Ch 6.2.2, 6.2.3, 6.3.2 MapReduce Google File System |
|
03-05-2012 | Design of Cloud Computing Platforms | Ch 4 | HW #2 due |
03-07-2012 | Design of Cloud Computing Platforms | Ch 4 | |
03-12-2012 | Design of Cloud Computing Platforms | Ch 4 | |
03-14-2012 | Design of Cloud Computing Platforms | Ch 4 | Prog #2 due Prog #3 out |
03-19-2012 | NO CLASS (Spring Break) | |
|
03-21-2012 | NO CLASS (Spring Break) | ||
03-26-2012 | Cloud Programming and Software Environments (Google App Engine) | Ch 6.3 | |
03-28-2012 | Cloud Programming and Software Environments (Google App Engine) | Ch 6.3 | |
03-30-2012 | Tutorial on Google App Engine Siyuan Ma |
HW #3 out | |
04-02-2012 | Cloud Programming and Software Environments (Amazon AWS) | Ch 6.4 | |
04-04-2012 | Magelan Scientific Cloud Susan Coghlan, Argonne National Laboratory |
external reading | Proj #1 due (extended) |
04-09-2012 | Cloud Programming and Software Environments (Workflow Systems) | Swift: A language for distributed parallel scripting | |
04-11-2012 | Cloud Programming and Software Environments (Workflow Systems) | Prog #4 out |
|
04-13-2012 | Prog #3 due HW #3 due HW #4 out |
||
04-16-2012 | Cloud Programming and Software Environments (Emerging Cloud Software Stacks) | Ch 6.5 | |
04-18-2012 | Comparing Grid Computing with Cloud Computing | Ch 6.1 Cloud Computing and Grid Computing 360-Degree Compared |
|
04-23-2012 Office Hours 3PM-4PM |
Challenges and Opportunities in Large-Scale Storage Systems | Making a Case for Distributed File Systems at Exascale | HW #4 due |
04-24-2012 Office Hours 11:30AM - 12:30PM SB 204 2PM - 3PM |
Tutorial on Amazon EC2 and S3 Siyuan Ma |
||
04-25-2012 SB 106 & 107 11:25AM - 1:40PM |
FINAL EXAM Open note and open book |
Final Exam (Intro, Ch1-Ch4, Ch6, external reading) | |
05-04-2012 | None | Prog #4 due |
TBA