Ioan Raicu

Illinois Institute of Technology

Argonne National Laboratory

CS553: Cloud Computing

Semester: Spring 2013

Lecture Time: Monday/Wednesday, 11:25AM-12:40PM

Lecture Location: Life Sciences 111

Office Hours Time: Wednesday 12:45PM-1:45PM

Office Hours Location: Stuart Building 237D

 

Professor:

Teaching Assistants (cs553-s13-ta@datasys.cs.iit.edu):  

  • Dongfang Zhao (dzhao8@hawk.iit.edu)  

    • Office Hours Time: Tuesday/Thursday 2PM-3PM (SB019c_

    Tonglin Li (tli13@iit.edu)   

    • Office Hours Time: Thursday 10AM-11AM, Friday 12:45PM-1:45PM (SB003b)

  • Iman Sadooghi (isadoogh@iit.edu)   

    • Office Hours Time: Monday 12:45PM-1:45PM, Tuesday 11:45AM-12:45PM (SB003b)

Office Hours Summary:

  • Monday: 12:45PM-1:45PM (Sadooghi SB003b)
  • Tuesday: 12:45PM-1:45PM (Sadooghi SB003b), 2PM-3PM (Zhao SB019c)
  • Wednesday: 12:45PM-1:45PM (Raicu SB237D)
  • Thursday: 10AM-11AM (Li SB003b), 2PM-3PM (Zhao SB019c)
  • Friday: 12:45PM-1:45PM (Li SB003b)

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, written assignments, and programming assignments. For the catalog description, please click here. For a PDF flier on the course, please click here. For a detailed syllabus, 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-14-2013 Syllabus (PDF, Slides)    
01-16-2013 Introduction to Distributed Systems   HW1 out
Prog1 out
01-18-2013
10AM-12PM in SB204
Toturial for Programming Assignment #1 (Tonglin Li)  
01-21-2013 NO CLASS    
01-23-2013 Introduction to Distributed Systems     
01-28-2013 Introduction to Distributed Systems     
01-30-2013 Distributed System Models and Enabling Technologies Ch 1 HW1 due
HW2 out
02-04-2013 Computer Clusters for Scalable Computing Ch 2  
02-06-2013 Computer Clusters for Scalable Computing Ch 2 Prog1 due
Prog2 out
02-07-2013 Toturial for Programming Assignment #2  
02-11-2013 Cloud Programming and Software Environments (MapReduce)  Ch 6.2.2, 6.2.3, 6.3.2
MapReduce
Google File System
 
02-13-2013 Computer Clusters for Scalable Computing Ch 2  
02-18-2013 Computer Clusters for Scalable Computing Ch 2  HW2 due
02-20-2013 Computer Clusters for Scalable Computing Ch 2  
02-22-2013     HW3 out
02-25-2013 Virtual Machines and Virtualization of Clusters and Datacenters Ch 3  
02-27-2013 Virtual Machines and Virtualization of Clusters and Datacenters Ch 3  
03-04-2013 Virtual Machines and Virtualization of Clusters and Datacenters Ch 3 Prog2 due
03-06-2013 Design of Cloud Computing Platforms Ch 4 Prog3 out
03-08-2013
12:45PM-1:45PM
SB239
Tutorial on Programming Assignment #3   HW3 due
HW4 out
03-11-2013 Design of Cloud Computing Platforms Ch 4  
03-13-2013
Life Science 111 11:25AM - 1:05PM
MID-TERM EXAM All lectures & Ch1, 2, 3, 6.2.2, 6.2.3, and 6.3.2 MID-TERM EXAM
03-18-2013 NO CLASS (Spring Break)    
03-20-2013 NO CLASS (Spring Break)    
03-25-2013 Design of Cloud Computing Platforms Ch 4  
03-27-2013 Design of Cloud Computing Platforms Ch 4  
03-29-2013     HW4 due
04-01-2013 Design of Cloud Computing Platforms Ch 4 Prog3 due
04-03-2013 Design of Cloud Computing Platforms Ch 4 Prog4 out
HW5 out
04-05-2013 Tutorial on Programming Assignment #4    
04-08-2013 Design of Cloud Computing Platforms Ch 4  
04-10-2013
Invited Speaker: Xian-He Sun(IIT)
Data-Cloud and Memory Parallelism TBA  
04-15-2013 Cloud Programming and Software Environments Ch 6
04-17-2013 Cloud Programming and Software Environments Ch 6  
04-22-2013
Invited Speaker: Kate Keahey (Argonne)
Nimbus Platform: How does your cluster grow?    
04-24-2013 Cloud Programming and Software Environments Ch 6  
04-26-2013     HW5 due
04-29-2013 Challenges and Opportunities in Large-Scale Storage Systems  Making a Case for Distributed File Systems at Exascale  
05-01-2013
Life Science 111
11:25AM - 1:05PM
FINAL EXAM All lectures since Midterm exam & Ch4 and 6 FINAL EXAM
05-04-2013     Prog4 due  

Next Semester Fall 2013

CS554: Data-Intensive Computing