University of Minnesota
Special Topics in Distributed Systems
index.php

Class Information

Course Number: 34305
Class Time: M W 9.45-11am
Location: Online-Only (Remote Learning Mode)
All class meetings will be conducted at the class time over Zoom (links to be provided by the instructor).

Instructor: Abhishek Chandra

email: chandra AT umn DOT edu
Office Hours: TBA (Online-Only)

Course Overview:

In recent years, there has been a dramatic increase in the pervasiveness and heterogeneity of computing infrastructure: ranging from multiple data centers to computing resources on the edge of the network, such as mobile and IoT devices. Similarly, large quantities of data are now generated in a highly diffuse manner: across different geographic locations, from millions of user devices and sensors embedded around us. In this course, we will examine recent research advances in dealing with these trends from a distributed systems perspective.

The focus of this class will be on data-aware systems: those that use data, workload characteristics, and/or system-level information to improve performance, reliability, resource utilization, and application-level metrics such as latency, cost, and accuracy. We would examine different data-driven techniques including modeling, heuristics, and machine learning employed by such systems. We would look at data-aware systems in a variety of contexts: Data analytics (including geo-distributed, streaming, and video analytics), Databases, Operating Systems, Networking, and Distributed machine learning.

Text:

No textbook; the course material would be based on recent research publications in top systems conferences, workshops, and journals, as well as technical articles and blogs.

Course Work:

The course is designed to be student-driven. The classes would be based on student presentations of selected research papers with an emphasis on class discussion (both synchronous and asynchronous). Students will also be given short assignments (e.g., writing paper critiques; gathering related information from external blogs and technical articles; giving short demos of relevant software artifacts and projects, etc.). In addition, there would be a semester-long course project to be done in groups of 2-3 students, with multiple milestones along with a final report and presentation.

Prerequisites:

This course is targeted towards students with strong interest in computer systems (OS, Distributed Systems, Networking, Databases, etc.). Background in Operating Systems (Equivalent of CSCI 5103) and basic understanding of Computer Networking (Equivalent of CSCI 4211) is required. Background in Distributed Systems (Equivalent of CSCI 5105) is recommended, though optional. Instructor permission is needed to enroll in the course - please specify your background and whether you satisfy the pre-reqs.