Litcius/Paper detail

Switch Code Generation Using Program Synthesis

Xiangyu Gao, Taegyun Kim, Michael D. Wong, Divya Raghunathan, Aatish Kishan Varma, Pravein Govindan Kannan, Anirudh Sivaraman, Srinivas Narayana, Aarti Gupta

202049 citationsDOI

Abstract

Writing packet-processing programs for programmable switch pipelines is challenging because of their all-or-nothing nature: a program either runs at line rate if it can fit within pipeline resources, or does not run at all. It is the compiler's responsibility to fit programs into pipeline resources. However, switch compilers, which use rewrite rules to generate switch machine code, often reject programs because the rules fail to transform programs into a form that can be mapped to a pipeline's limited resources---even if a mapping actually exists.

Topics & Concepts

CompilerComputer sciencePipeline (software)Pipeline transportProgramming languageCode (set theory)Line (geometry)Parallel computingEngineeringSet (abstract data type)GeometryEnvironmental engineeringMathematicsSoftware-Defined Networks and 5GInterconnection Networks and SystemsParallel Computing and Optimization Techniques