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
-
“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:
- Introduction and introduction to Distributed Systems
- Tutorial on Program and Program Environment
- Concurrency and Parallelism
- Computing in the Cloud
- Storage
- Cloud System and Platform
- Virtualization
- Network and Security
- Recent Advancements
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)
-
Introduction (see classnote
here)
-
Tutorials (see classnote
here)
-
Parallel Programming Design: A Case Study (see presentation
here)
-
Communications (see classnote
here)
-
Performance Evaluation (see presentation
here)
- xxx
- xxx
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.
-
Homework Assignment 1
(Due xxx, 2023)
-
Programming Assignment 1
(Due xxx, 2023)
-
Homework Assignment 2
(Due xxx, 2023)
-
Programming Assignment 2
(Due xxx, 2023)
-
Homework Assignment 3
(Due xxx, 2023)
-
Programming Assignment 3
(Due xxx, 2023)
-
Homework Assignment 4
(Due xxx, 2023)
-
Homework Assignment 5
(Due xxx, 2023)
-
Exam, Nov xxx, 2023 ( a sample exam)
Solutions
Solutions of the homeworks and program assignments may be provided from time to time to meet the
need.
-
Homework 1 solution
HTML
-
Homework 2 solution
HTML
Term Project
Evaluation
- 65% -- Homework and Programming Assignments
- 35% -- Exam