< back to overview

The First In-person P4Pi Hackathon at ACM SIGCOMM 2022 in Amsterdam

Nov 4, 2022
Sándor Laki
Sándor Laki About the author

P4Pi logo 300x178 jpgThe SIGCOMM 2022 program featured this year an excellent main track, workshops, and tutorials which concluded with an in-person P4Pi Hackathon. This was the second P4Pi Hackathon organized in the SIGCOMM series.

P4Pi (https://github.com/p4lang/p4pi) is an educational platform developed within ONF’s P4 Education Working Group that combines the popular Raspberry Pi board with open-source P4 compilers like T4P4S and BMv2 to create an open and low-cost P4-programmable network device for both research and education. With P4Pi, students can design and deploy their P4-based projects on real hardware, enabling them to gain hands-on experience with developing network hardware that they can use in practice (e.g., build their WiFi access point, router, etc.). However, P4Pi is more than just a software and hardware platform: it also provides tutorials, sample code, tools, and community support.

The preparation for the Hackathon was intense. The members of the P4 Education Working Group and the NGI Pointer P4EDGE project worked hard to continuously update and extend the P4Pi software stack with several new features. The training materials and code examples were also revised, and user experience was significantly improved, with a focus on ease of use. P4Pi now supports two P4 backends, the DPDK-based T4P4S and BMv2. T4P4S provides better performance with some restrictions on the P4 code, while BMv2 has full P4 support with both v1model and PSA architectures. Beginners can take code developed as part of the P4 tutorials and run it “as is” on the P4Pi platform, connecting and inter-operating with other P4Pi platforms, providing a quick reality-check for their designs.

In contrast to the first P4Pi Hackathon, held fully online at SIGCOMM 2021, this year’s Hackathon was held in-person in Amsterdam. The 100 offered places sold out quickly after registration opened. The participants had a wide range of experience, from P4 novices to experts. Those participants with no previous experience with P4 or P4Pi received a full P4 tutorial with hands-on programming exercises targeting P4Pi nodes. Those participants with prior P4 knowledge either worked on one of the projects proposed by the organizers or ported one of their own projects to P4Pi. At the beginning of the hackathon, P4 Chief Architect, Nate Foster, also joined us and proposed several excellent project ideas to be implemented in P4.

P4Pi SIGCOMM 2022 300x170 jpgThe hackathon ran for half a day, which was a tight schedule compared to the full day of the first P4Pi Hackathon in 2021. Nevertheless, there was enough time for participants to gain some hands-on experience with P4Pi hardware and software. During the Hackathon, participants had very good opportunities to interact with organizers and engage with other people in P4 community. The SIGCOMM 2021 hackathon led to several P4Pi-based projects that were featured in the SIGCOMM 2022 demos and posters session, and hopefully this will be the case for this year’s too. The development of P4Pi platform has not stopped. We are still looking for (i.) contributors to work on additional software features; (ii.) educators to design more teaching materials and show how P4Pi can be used in classrooms among different countries; and (iii.) hackers and researchers to use P4Pi as cheap P4 prototyping platforms in their projects. Industrial support for this effort is strongly welcome.

The Hackathon was administered by Sándor Laki (Eötvös Loránd University), Salvatore Signorello (University of Lisbon), and Damu Ding (University of Oxford), with the volunteering help of David Kis (Eötvös Loránd University), Xinpeng Hong (University of Oxford) and Mingyuan Zhang (Technical University of Denmark). Additionally, Noa Zilberman (University of Oxford), Fernando Ramos (University of Lisbon) and Robert Soule (Yale University) helped organizing the hackathon.

Share this post:
ABOUT THE AUTHOR Sándor Laki
Sándor LakiAssistant Professor, Department of Information Systems, Eötvös Loránd University