publications
2024
- APNetCross-Platform Transpilation of Packet-Processing Programs using Program SynthesisXiangyu Gao, Jiaqi Gao, Karan Kumar Gangadhar, and 3 more authors, Sydney, Australia, 2024
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.
@article{10.1145/3663408.3663419, google_scholar_id = {https://scholar.google.com/citations?view_op=view_citation&hl=en&user=AKyCMoEAAAAJ&authuser=2&citation_for_view=AKyCMoEAAAAJ:u5HHmVD_uO8C}, author = {Gao, Xiangyu and Gao, Jiaqi and Gangadhar, Karan Kumar and Zhai, Ennan and Narayana, Srinivas and Sivaraman, Anirudh}, title = {Cross-Platform Transpilation of Packet-Processing Programs using Program Synthesis}, year = {2024}, isbn = {9798400717581}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3663408.3663419}, doi = {10.1145/3663408.3663419}, booktitle = {Proceedings of the 8th Asia-Pacific Workshop on Networking}, pages = {74–80}, numpages = {7}, keywords = {Programmable switches, code generation, finite state machine, packet processing pipelines;, program synthesis, programmable parser}, location = {Sydney, Australia}, series = {APNet '24} }