Cetus: Releasing P4 Programmers from the Chore of Trial and Error Compiling
Yifan Li, Jiaqi Gao, Ennan Zhai, Mengqi Liu, Kun Liu, Hongqiang Harry Liu
摘要
Programmable switches are widely deployed in Alibaba's edge networks. To enable the processing of packets at line rate, our programmers use P4 language to offload network functions onto these switches. As we were developing increasingly more complex offloaded network functions, we realized that our development needs to follow a certain set of constraints in order to fit the P4 programs into available hardware resources. Not adhering to these constraints results in fitting issues, making the program uncompilable. Therefore, we decide to build a system (called Cetus) that automatically converts an uncompilable P4 program into a functionally identical but compilable P4 program. In this paper, we share our experience in the building and using of Cetus at Alibaba. Our design insights for this system come from our investigation of the past fitting issues of our production P4 programs. We found that the long dependency chains between actions in our production P4 programs are creating difficulties for the programs to comply with the hardware resources of programmable switching ASICs, resulting in the majority of our fitting issues. Guided by this finding, we designed the core approach of Cetus to efficiently synthesize a compilable program by shortening the lengthy dependency chains. We have been using Cetus in our production P4 program development for one year, and it has effectively decreased our P4 development workload by two orders of magnitude (from O(day) to O(min)). In this paper we share several real cases addressed by Cetus, along with its performance evaluation.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper9
- Sketchovsky: Enabling Ensembles of Sketches on Programmable SwitchesHun Namkung, Zaoxing Liu, Daehyeok Kim, Vyas Sekar 等NSDI 2023 · 被引用 44 次
- Unleashing SmartNIC Packet Processing Performance in P4Jiarong Xing, Yiming Qiu, Kuo-Feng Hsu, Songyuan Sui 等SIGCOMM 2023 · 被引用 29 次
- Sirius: Composing Network Function Chains into P4-Capable Edge GatewaysJiaqi Gao, Jiamin Cao, Yifan Li, Mengqi Liu 等NSDI 2024 · 被引用 11 次
- Enabling Portable and High-Performance SmartNIC Programs with AlkaliJiaxin Lin, Zhiyuan Guo, Mihir Shah, Tao Ji 等NSDI 2025 · 被引用 11 次
- CaT: A Solver-Aided Compiler for Packet-Processing PipelinesXiangyu Gao, Divya Raghunathan, Ruijie Fang, Tao Wang 等ASPLOS 2023 · 被引用 8 次
它引用的顶会 Paper12
- PINT: Probabilistic In-band Network TelemetryRan Ben Basat, Sivaramakrishnan Ramanathan, Yuliang Li, Gianni Antichi 等SIGCOMM 2020 · 被引用 268 次
- Sailfish: accelerating cloud-scale multi-tenant multi-service gateways with programmable switchesTian Pan, Nianbing Yu, Chenhao Jia, Jianwen Pi 等SIGCOMM 2021 · 被引用 111 次
- BeauCoup: Answering Many Network Traffic Queries, One Memory Update at a TimeXiaoqi Chen, Shir Landau Feibish, Mark Braverman, Jennifer RexfordSIGCOMM 2020 · 被引用 91 次
- Lyra: A Cross-Platform Language and Compiler for Data Plane Programming on Heterogeneous ASICsJiaqi Gao, Ennan Zhai, Hongqiang Harry Liu, Rui Miao 等SIGCOMM 2020 · 被引用 82 次
- Composing Dataplane Programs with μP4Hardik Soni, Myriana Rifai, Praveen Kumar, Ryan Doenges 等SIGCOMM 2020 · 被引用 54 次
相关 Paper
- Gallium: Automated Software Middlebox Offloading to Programmable SwitchesKaiyuan Zhang, Danyang Zhuo, Arvind KrishnamurthySIGCOMM 2020 · 被引用 50 次
- Sequence Abstractions for Flexible, Line-Rate Network MonitoringAndrew Johnson, Ryan Beckett, Xiaoqi Chen, Ratul Mahajan 等NSDI 2024 · 被引用 4 次
- Aquila: a practically usable verification system for production-scale programmable data planesBingchuan Tian, Jiaqi Gao, Mengqi Liu, Ennan Zhai 等SIGCOMM 2021 · 被引用 28 次
- Modular Switch Programming Under Resource ConstraintsMary Hogan, Shir Landau Feibish, Mina Tahmasbi Arashloo, Jennifer Rexford 等NSDI 2022
- P4runpro: Enabling Runtime Programmability for RMT Programmable SwitchesYifan Yang, Lin He, Jiasheng Zhou, Xiaoyi Shi 等SIGCOMM 2024 · 被引用 12 次
