CS553 Cloud Computing (3 cr. sect. 1) -- Fall 2023

Last modified August 10, 2023

Lecture

1:50 pm - 3:05 pm, Monday and Wednesday, 104 Stuart Building, MC

Prerequest

CS450 (Operating Systems) or CS455 (Data Communications)

Contents

All information provide here in are tentative and subject to minor change



General Information

Instructor

Professor Xian-He Sun, email: sun at iit dot edu

Office Hours

3:05 pm - 4:05 pm, Monday and Wednesday, or by appointment
235C Stuart Building

TAs

Meng Tang, Email: mtang11 at hawk dot iit dot edu
Shekhar Kausal, Email: skausal at hawk dot iit dot edu
Tanaya Mahakalkar, Email: tmahakalkar at hawk dot iit dot edu

Office Hours

Meng Tang, 9:30 am - 11:30 am, Monday, Room 010 Stuart Building
Shekhar Kausal, 9:00 am - 11:00 am, Tuesday, Virtual - Link on Blackboard
Tanaya Mahakalkar, 9:00 am - 11:00 am, Wednesday, Virtual - Link on Blackboard



Course Description

“Cloud Computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the internet (the cloud) to offer faster innovation, flexible resources, and economies of scale.” The Cloud has become a driving force for information technology over the past several years, in which we won't compute on local computers, but on centralized facilities operated by third-party computer and storage utilities. Governments, research institutes, and industry leaders are rushing to adopt Cloud Computing to solve their ever-increasing computing and storage problems in a more economic fashion. There are three main factors contributing to the surge of Cloud Computing: 1) rapid decrease in hardware cost and increase in computing power and storage capacity, and the advent of multi-core architecture; 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. Topics include distributed system models and enabling technologies, computer clusters for scalable Computing, virtual machines and virtualization of clusters and datacenters, design of cloud computing platforms, cloud programming and software environments, grid computing and resource management, P2P computing with overlay networks, ubiquitous computing with clouds and the Internet of things, and data-intensive distributed computing. The course involves lectures, projects, programming assignments, and exams. For the last part of the course, we will read an assortment of papers and work on different term projects.

Topics include:



Course Materials

Textbook

Ian Foster and Dennis B. Gannon,
Cloud Computing for Science and Engineering,
MIT Press, 2017. (see here for additional resources related to the text.)

References

Kai Hwang, Jack Dongarra, and Geoffrey C. Fox
Distributed and Cloud Computing: From Parallel Processing to the Internet of Things
Morgan Kaufmann Publishers, 2011. (see here for additional resources related to the text.)

Ian Foster and Carl Kesselman
The Grid 2: Blueprint for a New Computing Infrastructure
Morgan Kaufmann Publishers, 2003. (see here for additional resources related to the text.)

Online Resources

MPI Website
Parallel Processing Website
Grid Forum Website


Lecture Script (will be updated through the course)

Following IIT regulation, most of the lecture slides are only available via Blackboard



Assignments

Assignments will be given each week. Normally these will be due in two weeks. Large assignments and the term project will be given longer periods of time.

Solutions

Solutions of the homeworks and program assignments may be provided from time to time to meet the need.

Term Project



Evaluation