Course Overview
This graduate-level course examines how modern computer networks are designed, programmed, accelerated, and scaled. We connect foundational networking principles with contemporary systems across the Internet, end hosts, datacenters, and large-scale AI infrastructure. Throughout the course, we will study both classic and recent research, with an emphasis on the design choices and performance tradeoffs behind real networked systems.
- To understand foundational networking principles and the roles of the control plane, data plane, and end hosts.
- To analyze the design and performance of Internet, host, datacenter, and AI-cluster networks.
- To critically review research papers in computer networking and networked systems.
- To explore research problems and build useful networking systems through a semester-long course project.
The course combines instructor lectures, research-paper readings, and open in-class discussion. Students will work individually or form a project group of up to three students and complete either a research project or an open-source engineering project in computer networks or networked systems, culminating in a final report and presentation.
References
- CS 356 lecture notes provides a reference and refresher for the networking fundamentals assumed in this course.
- Computer Networks: Systems Approach (available online) by Larry Peterson and Bruce Davie
- Software-Defined Networks: A Systems Approach (available online) by Larry Peterson, Carmelo Cascone, Brian O’Connor, Thomas Vachuska, and Bruce Davie
Topics
- Foundations: network design principles and the end-to-end argument
- Network control plane: inter-domain routing, software-defined networking, and network virtualization
- Network data plane: router design, software routers, middleboxes, and programmable routers
- Host networking: network-stack overheads, SmartNICs, kernel-bypass networking, and RDMA
- Datacenter networks: fabrics, load balancing, transport, and packet scheduling
- Emerging interconnects: NVLink, Optics, and CXL
- Networking for AI systems: AI datacenter topologies and fabrics, collective communication, and transport for AI clusters
- AI for networking: applications of AI to network design, operation, and management
Prerequisites
- CS 356 (Computer Networks) or equivalent
- C and Python programming experience
- Unique number: 55735
- Time: Tuesday & Thursday 9:30 AM - 11:00 AM
- Location: GDC 6.202
- Discussion: Ed discussion
- Instructor Daehyeok Kim
- Email: daehyeok@utexas.edu
- Office hours: Tuesdays 11am - 12pm
- Location: GDC 6.824
