ParserHawk: Hardware-aware parser generator using program synthesis
Xiangyu Gao, Jiaqi Gao, Karan Kumar G., Muhammad Haseeb, Ennan Zhai, Bili Dong, Joseph Tassarotti, Srinivas Narayana, Anirudh Sivaraman
摘要
Parser programs are becoming increasingly complex to accommodate intricate network packet formats and advanced protocols. Existing parser compilers incorporate predefined program rewrite rules to output the low-level parser implementation. Yet, these rules are often brittle and sensitive to how the input parser program is written. As a result, generated implementations could consume more hardware resources than necessary. In some cases, these compilers unnecessarily reject valid parser programs that could have fit within the target device parser's resource constraints.
We leverage program-synthesis-based techniques to build a parser compiler, ParserHawk, for 2 network devices: the Intel Infrastructure Processing Unit (IPU) and the Barefoot Tofino programmable switch. Naively formulating code generation as a program synthesis problem can take hours, if not days, to complete. As a result, ParserHawk incorporates several optimization algorithms, which achieve a geometric mean speed-up of 309.44×. Within a compile time on the order of minutes for most benchmarks, ParserHawk can correctly compile parser programs rejected by existing compilers and can generate parser implementations that use fewer hardware resources.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper5
- Switch Code Generation Using Program SynthesisXiangyu Gao, Taegyun Kim, Michael D. Wong, Divya Raghunathan 等SIGCOMM 2020 · 被引用 51 次
- Host Congestion ControlSaksham Agarwal, Arvind Krishnamurthy, Rachit AgarwalSIGCOMM 2023 · 被引用 47 次
- Leapfrog: certified equivalence for protocol parsersRyan Doenges, Tobias Kappé, John Sarracino, Nate Foster 等PLDI 2022 · 被引用 11 次
- CaT: A Solver-Aided Compiler for Packet-Processing PipelinesXiangyu Gao, Divya Raghunathan, Ruijie Fang, Tao Wang 等ASPLOS 2023 · 被引用 8 次
- Hydride: A Retargetable and Extensible Synthesis-based Compiler for Modern Hardware ArchitecturesAkash Kothari, Abdul Rafae Noor, Muchen Xu, Hassam Uddin 等ASPLOS 2024 · 被引用 8 次
相关 Paper
- Synthesizing safe and efficient kernel extensions for packet processingQiongwen Xu, Michael D. Wong, Tanvi Wagle, Srinivas Narayana 等SIGCOMM 2021 · 被引用 30 次
- Gauntlet: Finding Bugs in Compilers for Programmable Packet ProcessingFabian Ruffy, Tao Wang, Anirudh SivaramanOSDI 2020 · 被引用 34 次
- Vector instruction selection for digital signal processors using program synthesisMaaz Bin Safeer Ahmad, Alexander J. Root, Andrew Adams, Shoaib Kamil 等ASPLOS 2022 · 被引用 13 次
- Formal Abstractions for Packet SchedulingAnshuman Mohan, Yunhe Liu, Nate Foster, Tobias Kappé 等OOPSLA 2023 · 被引用 7 次
- eHDL: Turning eBPF/XDP Programs into Hardware Designs for the NICAlessandro Rivitti, Roberto Bifulco, Angelo Tulumello, Marco Bonola 等ASPLOS 2023 · 被引用 16 次
