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:
Dr. Ioan Raicu (iraicu@cs.iit.edu)
Office Hours Time: Wednesday 12:45PM-1:45PM (SB237D)
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:
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 |