Abstract: As network applications are increasingly offloaded to the programmable switches, program fitting problems come to the fore, which means mapping the programming entities (e.g., tables and metadata) into the hardware resources. However, existing works fail to achieve resource-efficient deployment in an acceptable time. In this paper, we present Altair, a high-performance compiler system for program optimization and resource allocation. In addition to proactively reducing program redundancy, Altair designs a two-layer framework to generate the near-optimal mapping solutions with respect to all the hardware constraints while minimizing resource usage. We also propose a novel feedback mechanism between the two layers to make the best trade-offs among bottleneck resources and accelerate the solving process. Altair not only converts the network program into a functionally identical and compilable codes, but also uses up to 30% fewer hardware resources with nearly 10X shorter execution time than state-of-the-art.
Loading