CS 838:
Systems and Networking Challenges in Cloud Computing:
Toward Software-Defined Clouds

Fall '12: Course Home Page

[ Home | Reading List | Schedule | Assignments | Piazza ]
Overview, Syllabus, Structure

Over the past several years Cloud computing has both supplanted traditional methods of delivery and consumption of IT resources and helped create a variety of new applications (e.g., new approaches to large-scale data analytics). A key emerging trend in Cloud computing is that the core systems infrastructure, including compute resources, storage and networking, is increasingly becoming software defined: instead of being limited by the physical infrastructure, applications and platforms will be able to specify their fine-grained needs, thus precisely defining the virtual environment in which they wish to run; software, placed at key locations within the datacenter infrastructure, will implement the needed functionality, thus delivering hardware-like features to applications and services in the manner they desire. If done right, this makes the infrastructure easy to use, high-performance, resilient and secure, paving the way for even greater innovation.

The ultimate goal of this course is to develop sound approaches for architecting various aspects of future software-defined Clouds. Toward this goal, the class will cover key topics in Cloud systems, networking and security, such as the architecture of various Cloud computing frameworks; Cloud workload characteristics; popular and emerging storage paradigms; the internals of data center networks; the promise of, and challenges in, Software Defined Networking; state-of-the-art schemes for Cloud security and fault tolerance. The hope is to extract key lessons for designing software-defined Clouds at various points along the course.

Emphasis: The course is somewhat networks-oriented in that we will cover both network abstractions/related software systems, as well as "lower-level" issues such as hardware and impact of protocols. For other aspects, e.g., Cloud systems and storage, we will mainly discuss abstractions and related software design/implementation issues. Future versions of this class may place more emphasis on other aspects than networking.

Note that the list of topics covered is, of course, not complete; e.g., it does not include, e.g., core virtualization technologies and Cloud programming languages, both of which are central to software-defined clouds. These may be covered in detail in future special-topics classes.

Readings: The course will be paper reading-based. See the reading list here.

Assignments and project: While readings will cover the "theory" behind software-defined clouds, a set of 3-4 hands-on assignments, coupled with a significant A mini course project, spanning 5-7 wks, will help students explore the "practical" side. See a tentative outline of planned assignments here.

Admin Details

Course prerequisites: The prerequisites for this course are CS 640 and CS 537, or equivalent under-graduate courses. Both grads and undergrads are welcome to take this class. Feel free to talk to me first if you feel you may not be able to "handle" it.

Text: There is no required text for this course. The lectures will be based on discussing research papers. The entire paper reading list is available here.

Piazza: We will be using Piazza for outside-class Q&A and to discuss papers. The system is highly catered to getting you help fast and efficiently from classmates, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.
Find our class page at: http://piazza.com/class#fall2012/cs838cloud.

Grading: The course project carries 40% of the grade. Assignments will count for 40% of the grade. Participation in class and on piazza counts for 20% of the grade.

Class Time:MWF 11:00AM to 12:15PM

Location: Comp Sci 1257.

Instructor: Aditya Akella
Email: akella@cs.wisc.edu
Office: CS 7379
Office Hours: 1:00pm-2:00pm, Monday and Friday. Also by appointment.

Teaching Assistant:Aaron Gember
Email: agember@cs.wisc.edu
Office: CS7376
Office Hours: By appointment; send email.