CS293B -- Cloud Computing

The purpose of the class is to explore current research topics and technological developments pertaining to the subject of "Cloud Computing."

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.

Current Ramsey Scoreboard: 383 -- Rich

Please send me any counter-example that you have that is larger than the one shown and I will verify.

Spring Quarter, 2018

The course meets

  • Piazza sign up link for this class
  • Resources you can use in this class

    and the instructor's coordinates are

    Course Outline

    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.

    Course Project

    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 project grade.

    Each individual or team will turn in the results of the project at the end of the course.

    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 convincing.

    Project deliverables are

    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.

    Course Schedule

    April 2

    Course Introduction.

    April 4

    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

    April 9

    Brief tutorial on using OpenStack by Thad Raibley from ECI. Please prepare by reviewing The OpenStack Reference Guide.

    Eventual consistency. Please read the paper by Verner Vogels before class.

    April 11

    Data center fault management. Please read Chapter 7 from The Google Warehouse Scale paper before class.

    April 16

    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.

    April 19

    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.

    April 23

    Amazon Web Services. I have notes (please pardon the typos) and check out the EC2 Documentation and the Euca2ools documentation.

    April 25

    Sharon Solis will provide a brief tutorial on how to use XSEDE resources.

    Eucalyptus. Please read the Eucalyptus Tech. Report before class.

    April 30

    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 these notes.

    May 9

    Please read An Operating System for Multicore and Clouds: Mechanisms and Implementation before class.

    May 14

    Software Defined Networking. Please read the SDN paper before class. I've also prepared some lecture notes to which I'll refer during the lecture.

    May 16

    Class in cancelled. Please use the time to work on your projects.

    May 21

    Bidding the AWS Spot Market. Please read Deconstructing Amazon EC2 Spot Instance Pricing

    May 23

    The CAP Theorem. Please read CAP Twelve years Later: How the Rules have Changed

    May 28

    A Holiday! Please enjoy it responsibly.

    May 30

    IoT. Please read Enabling Synergy in IoT: Platform to Service and Beyond

    June 4

    Class is cancelled. Please use the time to work on your projects.

    June 6

    Come and enjoy the winning Ramsey presentation!