ECE/CS598HPN Fall 2023: High-speed and Programmable Networks


There are no official texts for the course. Students are expected to read research papers. The following books can be useful in providing relevant background:

Tentative Schedule

The schedule and specific readings are tentative and may change over the course of the semester.

Date Topics Readings Notes
Wed 08/23 Introduction and course overview
lecture slides
Fri 08/25 Reviewing relevant concepts
Part 1: Historical perspective
Wed 08/30 Refresher on classical principles
End to end principle, Design philosophy lecture slides
Fri 09/01 Active networking
Active networking (write-up required),
Active networking and E2E (no write-up required)
lecture slides
Instructions for course project
Part 2: Switching infrastructure
Wed 09/06 Software-defined networking (SDN) concepts
4D Optional -- Ethane
lecture slides
Fri 09/08 SDN technology
OpenFlow, NOX Optional -- Onix
Warm-up assignment 1 release
lecture slides
Wed 09/13 SDN in use
B4 Optional -- B4 and after, Espresso, SWAN, Jupiter
lecture slides
Fri 09/15 No class
Wed 09/20 Software switches
Routebricks Optional -- Click
lecture slides
Warm-up assignment 1 due
Fri 09/22 Programmable dataplane hardware
RMT Optional -- NetFPGA
lecture slides
Wed 09/27 Dataplane programming language
P4 Optional -- Domino
Warm-up assignment 2 release
lecture slides
Fri 09/29 P4 applications I
BeauCoup OR Elmo Optional -- Marple, PINT, Hula
lecture slides
Last date to discuss project proposals
Wed 10/04 P4 applications II
NetCache OR Silkroad Optional -- NetChain, NetLock, NoPaxos
lecture slides
Warm-up assignment 2 due
Fri 10/06 P4 applications III
In-network computing?, Thoughts on programmable switches [lecture slides]
Wed 10/11 Flexible packet scheduling
PIFO, UPS Optional -- ApproxFQ, SP-PIFO
[lecture slides]
Part 3: Networking infrastructure at endhosts
Fri 10/13 High performance network stack I (kernel overheads and optimizations)
Host network stack overheads Optional -- Megapipe
[lecture slides]
First progress report on the project due.
Wed 10/18 High performance network stack II (software kernel bypass)
TAS [lecture slides] Optional -- mTCP, IX
Fri 10/20 High performance network stack III (leveraging eBPF)
XDP [lecture slides]
Wed 10/25 RDMA
Azure RDMA [lecture slides]
Optional -- FaRM, IRN, eRPC, Microsoft RoCE experience
Fri 10/27 Software NIC
SoftNIC [lecture slides]
Optional -- Carousel
Wed 11/01 Network Virtualization and Host SDN
NV [lecture slides]
Optional -- OpenVSwitch, VFP, Andromeda
Fri 11/03 Unified Host Networking
SNAP [lecture slides] Second progress report on the project due.
Wed 11/08 Smart/Programmable NICs I
AccelNet [lecture slides]
Warm-up assignment 3 release
Fri 11/10 Smart/Programmable NICs II
FlexTOE [lecture slides]
Optional -- iPipe, FairNIC, AccelTCP
Wed 11/15 Smart/Programmable NICs III
NanoPU FlexNIC
Part 4: Course conclusion
Fri 11/17 Student presentations
Warm-up assignment 3 due
~~Thanksgiving break~~
Wed 11/29 TBA
Fri 12/01 Wrapping up
No readings, only lecture
Mon 12/04 N/A

Final project report due.
Wed 12/06 Final project presentation

Created using coursegen designed by Dave Anderson and Nick Feamster.

Last updated: 2023-11-14 13:58:31 -0600 [validate xhtml]