Course pages 2019–20
High performance networking
Course handouts
These course handouts provide more detailed information about the module.
Lecture slides
Lecture slides will be posted shortly before each lecture. Slides are provisional until lecture time.
- Lecture 1 - Introduction (PDF)
- Lecture 2 - Programmable Devices (PDF)
- Lecture 3 - High throughput devices (PDF)
- Lecture 4 - High throughput devices, II (PDF)
- Lecture 5 - Low latency devices, Part I (PDF)
- Lecture 6 - Low latency devices, Part II (PDF)
Lab handouts
Lab handouts will be posted shortly before each lab.
- Lab 1 - Introduction to NetFPGA - Slides (PDF)
- Lab 2 - Introduction to P4 - Slides (PDF)
- Lab 3 - Infrastructure (PDF)
- Lab 1 - handout (PDF)
- Lab 2 - handout (PDF)
- Lab 3 - handout (PDF)
- Lab 4 - handout (PDF)
Project Information
This section provides additional information for the practical project taken as part of the course. More information will be added as the course progresses
- Project ideas are available on Moodle.
- Project proposal template (TEX)
- Instructions for project submission (PDF)
Useful reference material
- Moodle
- Verilog Tutorial
- NetFPGA SUME wiki
- P4-NetFPGA wiki
- Additional NetFPGA Material
- P4 Cheat Sheet
- P4DNS - one of 2019's projects
- 2018's projects technical report
- Some material is made available only through Moodle.
Acknowledgement
Some of the materials used in this course were adapted from the open source NetFPGA Project (under NetFPGA C.I.C license) and from P4 Language Consortium (under Apache v2.0 License). We thank the (mostly uncredited) many people who created the original materials.
Last year’s course materials are still available.