Teaching session commences with the first course of the new academic cycle (2020-2021), Advanced Network Programming for Bachelor 3rd year students. The course is offered in the programming minor. It is a new course designed by me and Lin Wang, and offered for the first time here at VU.
The goal of the course is to teach students about
- Networking concepts like interrupt livelock, jumbo frames, stateless and stateful offloads, and the historical context in which these ideas were developed
- Understand the internals of Linux’s TCP/IP stack implementation, and data center networks
- Explain network stack design and implementation challenges associated with multi-core systems (interrupt load balancing, RSS, RPS, XPS, NUMA vs SMP effect, MegaPipe, Affinity Accept, locking and synchronization issues).
- Present packet processing frameworks (netmap, DPDK), building userspace networking stacks (mTCP)
- Introduction to RDMA networking and basic concepts, challenges associated with 100+ Gbps links
- Understand how to build a high-performance network infrastructure for large-scale cloud data centers and how to program and manage such a network with software
- Learn about ongoing and emerging research challenging in networking technologies
There is a large project component in the course, where students will implement their own TCP/IP networking stack in userspace and provide code for basic socket API calls (socket, connect, send, recv, close) for a TCP stream socket. Their implementation is loaded as a preloaded shared library.
The course is offered online with zoom lectures, office hours, and canvas support pages. More experience to follow.
Jekyll theme inspired by researcher