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:
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] Tonic 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]