TY - GEN
T1 - Cross-Platform Transpilation of Packet-Processing Programs using Program Synthesis
AU - Gao, Xiangyu
AU - Gao, Jiaqi
AU - Gangadhar, Karan Kumar
AU - Zhai, Ennan
AU - Narayana, Srinivas
AU - Sivaraman, Anirudh
N1 - Publisher Copyright:
© 2024 Copyright held by the owner/author(s). Publication rights licensed to ACM.
PY - 2024/8/3
Y1 - 2024/8/3
N2 - The proliferation of programmable network devices offers a wide range of device options for developers of packet processing programs. However, there are several differences in programming language usage, hardware resource constraints, and hardware architecture across these devices. Programmers must understand multiple programming languages and hardware designs to write programs for various devices. We propose an alternative: leveraging program synthesis to build a transpiler, Polyglotter, that outputs programs for target hardware devices from input programs written for source hardware devices. This can reduce the efforts required to write algorithms across platforms. Our evaluation results show that, compared to traditional program rewriting methods, Polyglotter can quickly produce correct results with efficient use of hardware resources. We also outline several directions for future work in such transpilers.
AB - The proliferation of programmable network devices offers a wide range of device options for developers of packet processing programs. However, there are several differences in programming language usage, hardware resource constraints, and hardware architecture across these devices. Programmers must understand multiple programming languages and hardware designs to write programs for various devices. We propose an alternative: leveraging program synthesis to build a transpiler, Polyglotter, that outputs programs for target hardware devices from input programs written for source hardware devices. This can reduce the efforts required to write algorithms across platforms. Our evaluation results show that, compared to traditional program rewriting methods, Polyglotter can quickly produce correct results with efficient use of hardware resources. We also outline several directions for future work in such transpilers.
KW - Programmable switches
KW - code generation
KW - finite state machine
KW - packet processing pipelines;
KW - program synthesis
KW - programmable parser
UR - http://www.scopus.com/inward/record.url?scp=85198751500&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85198751500&partnerID=8YFLogxK
U2 - 10.1145/3663408.3663419
DO - 10.1145/3663408.3663419
M3 - Conference contribution
AN - SCOPUS:85198751500
T3 - ACM International Conference Proceeding Series
SP - 74
EP - 80
BT - APNET 2024 - Proceedings of the 8th Asia-Pacific Workshop on Networking
PB - Association for Computing Machinery
T2 - 8th Asia-Pacific Workshop on Networking, APNET 2024
Y2 - 3 August 2024 through 4 August 2024
ER -