While a rigorous definition of cloud computing remains elusive (at least with respect to non-academic treatments of the subject), roughly speaking cloud computing refers to the ability to obtain computational capability via a network-facing API that is exported by abstract services which appear to be ubiquitously accessible and persistent. The course will cover various topics that fall under this broad rubric, with a particular emphasis on the computer science research challenges that are constituent to them.
Resources you can use in this class
and the instructor's coordinates are
- Instructor: Rich Wolski
- Office: Harold Frank Hall, 5165
- email: firstname.lastname@example.org
- office hours: by appointment
The course itself will combine, lectures, assigned reading, and in-class
discussion with a quarter-long software development project that attempts to
familiarize the student with the strengths and weaknesses of current
approaches to cloud computing. In addition, students will be expected to
describe the research challenges they have identified as a result of their
experiences in the course in both written and oral presentation formats.
Specific topics the course will cover include
as well as other applications and subsystems that have
applicability to cloud computing.
- Infrastructure as a
- Platform as a Service (PaaS)
- Public, Private, and
- Amazon AWS
- Microsoft Azure
- Google App Engine
- Condor High Throughput Computing
center virtualization and bare-metal provisioning
- Software Defined
There will be a class project that requires individuals or small teams to use
multiple cloud infrastructures simultaneously to solve a large problem.
Students can form teams of up to three team members although they may also
work alone. In the case of teams, all team members will receive the same
Each individual or team will turn in the results of the project at the end of
The assignment that each student will need to complete by the end of the
course is to produce a cloud-based search and/or optimization system that
attempts to improve the known bounds on the tenth symmetric Ramsey Number --
R(10,10). Each student or student team will find counter example graphs for
R(10,10). The goal is to find the largest counter-example: a
fully-interconnected graph with no mono-chromatic 10-cliques.
Students will turn in the the their
respective implementations at the end of the course and the student or team
with the largest counter-example will be crowned the winner of Ramsey Search for CS293 in
2018. In case of a tie, the team that is able to demonstrate the use of the
most resources simultaneously will win. Note that the demonstration must be
Project deliverables are
- the largest counter-example for R(10,10) that you are able to find in the
format discussed in lecture,
- a 15-minute presentation that includes
- a description of the search algorithms you used
- a description of the system architecture and any constituent
technologies you chose to use
- an accounting of the number of CPU cycles you used
- a discussion of what worked and what didn't
- a discussion of what you learned and what you think your colleagues
should know about the assignment specifically and cloud computing in general
- a (minimum) two-page written document that describes your experiences
(positive and negative) with each cloud infrastructure you used
Each team must email me their largest counter example (in checkable text format) by
11:59 PM on June
5, 2018. The winning team will present their system on June 6 in class.
Course Schedule: In Flux
Like most research courses, the schedule for this course is tentative. The
goal, at the end, if to have developed a multi-cloud system that uses
various cloud infrastructures to in the best way possible.
Lectures will cover the various research
ideas and technologies necessary to implement such a system. Each lecture
will take the form of a discussion about a paper or research topic for which
material will be available beforehand. Please prepare for each lecture to
make the diwcussion as fruitful as possible.
There's going to be a party...
Please read Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz,
Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and
Matei Zaharia. 2010. A view of cloud computing. Commun. ACM 53, 4 (April
2010), 50-58. DOI=http://dx.doi.org/10.1145/1721654.1721672 PDF
Brief tutorial on using OpenStack by Thad Raibley from ECI. Please prepare by
reviewing The OpenStack
Eventual consistency. Please read the paper
by Verner Vogels before class.
Data center fault management. Please read Chapter 7 from The Google Warehouse Scale paper before
Introduction to Bitcoin. Please read The Bitcoin
Paper before class. Additionally, the Bitcoin proagation delay paper may also be of
interest as is a paper on refuting the
majority control conjecture in the original Bitcoin paper.
Condor High-throughput computing. The good people at CondorHTC have provided
some useful training
materials as part of their effort to support Open Science Grid. I will
discuss the User
Manual in class.
Amazon Web Services. I have notes (please
pardon the typos) and
check out the
EC2 Documentation and
Sharon Solis will provide a brief tutorial on how to use XSEDE resources.
Eucalyptus. Please read the Eucalyptus Tech.
Report before class.
Dr. Chandra Krintz will lecture on AppScale and Google App. Engine. Please
read the AppScale paper before class.
May 2 and May 7
OS Virtualization: Fear and Loathing in the Intel Architectural Design.
I'll try and lecture from
Please read An Operating System for
Multicore and Clouds: Mechanisms and Implementation before class.
Software Defined Networking. Please read the SDN
paper before class. I've also prepared some lecture notes to which I'll refer during the
Class in cancelled. Please use the time to work on your projects.
Bidding the AWS Spot Market. Please read Deconstructing Amazon EC2 Spot Instance Pricing
The CAP Theorem. Please read CAP Twelve years
Later: How the Rules have Changed
A Holiday! Please enjoy it responsibly.
IoT. Please read Enabling Synergy in
IoT: Platform to Service and Beyond
Class is cancelled. Please use the time to work on your projects.
Come and enjoy the winning Ramsey presentation!