Ioan Raicu

Illinois Institute of Technology

Argonne National Laboratory

CS553: Cloud Computing

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

Next Semester Fall 2012

TBA