Self-Programming Networks
Download as PDF
Course Description
This is an advanced topics course on building autonomous networks using data and techniques from machine learning. It covers two major application areas: Cloud Computing Systems and Mobile Wireless Networks. The course introduces the architecture of Self-Programming Networks for sensing, inferring, learning and control, consisting of (i) a "reflex layer" for inferring at line rate and at scale, and (ii) a "deliberate layer" for efficient resource scheduling and network control. Various sensing and inference algorithms for deriving insights and alerts from the sensed data will be discussed. Methods for synchronizing clocks across a large data center and using this to reconstruct the fine details of network performance (queue-depths, link utilizations and buffer and link compositions) in near real-time will be presented. Similarly, methods for inferring available bandwidth in dynamic mobile networks and using it to drive different application optimizations will be presented. Students will learn the use of neural networks and learning techniques (a) to accelerate inference and control algorithms, (b) for "workload fingerprinting", (c) for predicting wireless link capacities, and (d) for scheduling resources. Finally, the principles of creating an interactive database for detecting anomalies, raising alerts, and serving insights to the user will be discussed. The course involves a team-based project.
Grading Basis
ROP - Letter or Credit/No Credit
Min
3
Max
3
Course Repeatable for Degree Credit?
No
Course Component
Lecture
Enrollment Optional?
No