ML for Networked Systems


Course Objective

In recent years, we have witnessed the widespread usage of ML tools for various classification, detection, and control problems. More recently, we have witnessed the use of ML for various networking problems as well. However, operationalizing ML solutions for networked systems is more nuanced than simply calibrating existing tools, developed for other domains (image classification, NLP, etc.). More in-depth exploration to develop flexible, scalable, and generalizable ML-based networked systems. In this course, we will cover recent research, published at top networked systems (USENIX NSDI, ACM SIGCOMM) and ML conferences (NeurIPS, ICML, etc.), that developed new ML tools/techniques for networked systems. In the process, we will learn how to identify problems that can (or cannot) benefit from ML, decide which tool/algorithm to use, and how to do interdisciplinary research covering networking, ML, and systems.

Expected Background

There are no official prerequisites; however, a basic familiarity with networking, ML, and distributed systems concepts will be very helpful.



Location: Phelps 3526
Time: 5-6:50 PM, Tuesday and Thursday

Teaching Staff

Instructor: Arpit Gupta (

My office is 1117 Harold Frank Hall (HFH).


Course website: All course materials will be posted on the course website, and students will be expected to provide materials to add to this site.

Slack: We will use a slack group for class communications. You can join using any email address. You can also create slack channels for your team communications.


This schedule is tentative. Please refer to this page to get the most recent version of the schedule.

Date Topics Readings
Jan 7th Intro + logistics
Jan 9th Self-driving networks Self-driving networks
Measurements for self-driving networks
An Effort to Democratize Networking Research in the Era of AI/ML
Jan 14 Software-defined networking (SDN) Road to SDN
Jan 16 Data collection Required:
Additional reading:
Jan 21 Data collection + analysis Sonata
Jan 23 AI/ML for networks (video streaming) Beauty and the Burst: Remote Identification of Encrypted Video Streams
Jan 28 AI/ML for networks (video streaming) Required:
Additional reading:
Jan 30 AI/ML for networks (video streaming) Neural Adaptive Video Streaming with Pensieve
Feb 4 AI/ML for networks (video streaming) Contd. Neural Adaptive Video Streaming with Pensieve
Additional Reading: A View On Deep Reinforcement Learning in System Optimization
Feb 6 Project proposals
Feb 11 AI/ML for networks (network management) CableMon: Improving the Reliability of Cable Broadband Networks via Proactive Network Maintenance
Feb 13 AI/ML for networks (network management) Cellular Network Traffic Scheduling with Deep Reinforcement Learning
Feb 18 AI/ML for networks (routers) Neural packet classification
Additional reading: Learning to Route
Feb 20 AI/ML for networks (hosts) A deep reinforcement learning perspective on internet congestion control
Feb 25 AI/ML for networks (revisit video streaming) Learning in situ: a randomized experiment in video streaming
Feb 27 Project Status Updates No class (NSDI 2020)
Mar 3 AI/ML for distributed systems Placeto: Learning Generalizable Device Placement Algorithms for Distributed Machine Learning
Mar 5 AI/ML for distributed systems CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics
Mar 10 AI/ML for distributed systems Harvesting Randomness to Optimize Distributed Systems
Answering what-if deployment and configuration questions with wise
Mar 12 Final project presentations