CaT: A Solver-Aided Compiler for Packet-Processing Pipelines
Xiangyu Gao, Divya Raghunathan, Ruijie Fang, Tao Wang, Xiaotong Zhu, Anirudh Sivaraman, Srinivas Narayana, Aarti Gupta
Abstract
Compiling high-level programs to high-speed packet-processing pipelines is a challenging combinatorial optimization problem. The compiler must configure the pipeline's resources to match the semantics of the program's high-level specification, while packing all of the program's computation into the pipeline's limited resources. State of the art approaches tackle individual aspects of this problem. Yet, they miss opportunities to produce globally high-quality outcomes within reasonable compilation times.
We develop a framework to decompose the compilation problem for such pipelines into three phases-making extensive use of solver engines (e.g., ILP, SMT, and program synthesis) to simplify the development of these phases. Transformation rewrites programs to use more abundant pipeline resources, avoiding scarce ones. Synthesis breaks complex transactional code into configurations of pipelined compute units. Allocation maps the program's compute and memory to the pipeline's hardware resources.
We prototype these ideas in a compiler, CaT, which targets (1) the Tofino programmable switch pipeline and (2) Menshen, a cycleaccurate simulator of a Verilog description of the RMT pipeline. CaT can handle programs that existing compilers cannot currently run on pipelines and generates code faster than existing compilers, where the generated code uses fewer pipeline resources.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext b9d158ba-2f20-441e-b474-6a9e36cb9c4dCited by top-tier papers4
- Unleashing SmartNIC Packet Processing Performance in P4Jiarong Xing, Yiming Qiu, Kuo-Feng Hsu, Songyuan Sui et al.SIGCOMM 2023 · 29 citations
- Optimizing Quantum Fourier Transformation (QFT) Kernels for Modern NISQ and FT ArchitecturesYuwei Jin, Xiangyu Gao, Minghao Guo, Henry Chen et al.SC 2024 · 3 citations
- NutCracker: A Compilation Framework for Hybrid DPU ArchitecturesYihan Yang, Haifeng Sun, Antoine Kaufmann, Jialin LiEuroSys 2026 · 2 citations
- ParserHawk: Hardware-aware parser generator using program synthesisXiangyu Gao, Jiaqi Gao, Karan Kumar G., Muhammad Haseeb et al.SIGCOMM 2025 · 1 citation
Builds on10
- PINT: Probabilistic In-band Network TelemetryRan Ben Basat, Sivaramakrishnan Ramanathan, Yuliang Li, Gianni Antichi et al.SIGCOMM 2020 · 268 citations
- Sailfish: accelerating cloud-scale multi-tenant multi-service gateways with programmable switchesTian Pan, Nianbing Yu, Chenhao Jia, Jianwen Pi et al.SIGCOMM 2021 · 111 citations
- NetHide: Secure and Practical Network Topology ObfuscationRoland Meier, Petar Tsankov, Vincent Lenders, Laurent Vanbever et al.USENIX Security 2018 · 84 citations
- Lyra: A Cross-Platform Language and Compiler for Data Plane Programming on Heterogeneous ASICsJiaqi Gao, Ennan Zhai, Hongqiang Harry Liu, Rui Miao et al.SIGCOMM 2020 · 82 citations
- Composing Dataplane Programs with μP4Hardik Soni, Myriana Rifai, Praveen Kumar, Ryan Doenges et al.SIGCOMM 2020 · 54 citations
Related papers
- Switch Code Generation Using Program SynthesisXiangyu Gao, Taegyun Kim, Michael D. Wong, Divya Raghunathan et al.SIGCOMM 2020 · 51 citations
- Isolation Mechanisms for High-Speed Packet-Processing PipelinesTao Wang, Xiangrui Yang, Gianni Antichi, Anirudh Sivaraman et al.NSDI 2022 · 44 citations
- P4runpro: Enabling Runtime Programmability for RMT Programmable SwitchesYifan Yang, Lin He, Jiasheng Zhou, Xiaoyi Shi et al.SIGCOMM 2024 · 12 citations
- Stateful multi-pipelined programmable switchesVishal ShrivastavSIGCOMM 2022 · 24 citations
- eHDL: Turning eBPF/XDP Programs into Hardware Designs for the NICAlessandro Rivitti, Roberto Bifulco, Angelo Tulumello, Marco Bonola et al.ASPLOS 2023 · 16 citations
