Domain specific run time optimization for software data planes

Domain specific run time optimization for software data planes
复制标题

DOI:
10.1145/3503222.3507769
复制
发表时间:
2022-02
期刊:
Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
S. Miano;Alireza Sanaee;F. Risso;G. Rétvári;Gianni Antichi
S. Miano;Alireza Sanaee;F. Risso;G. Rétvári;Gianni Antichi
中科院分区:
其他
文献类型:
--
作者:
S. Miano;Alireza Sanaee;F. Risso;G. Rétvári;Gianni Antichi

文献摘要

相似文献

设计、开发和优化软件分组处理程序的最先进方法基于静态编译:编译器的输入是转发平面语义的描述,输出是可以适应任何控制平面配置或输入流量的二进制文件。在本文中,我们论证了在运行时跟踪控制平面动作和数据包级流量动态为代码专门化开辟了新的机会。我们介绍了Morpheus,这是一个与静态编译器一起工作的系统,可以持续优化目标网络代码。我们引入了许多新技术,从静态代码分析到自适应代码插装,并实现了不限于特定数据平面框架或编程语言的领域特定优化工具箱。我们将Morpheus应用于几个eBPF和DPDK程序,包括Facebook的生产级负载均衡器Katran。我们将Morpheus与最先进的优化框架进行了比较,结果表明,它可以将吞吐量提高2倍,同时将99%的延迟减半。
State-of-the-art approaches to design, develop and optimize software packet-processing programs are based on static compilation: the compiler's input is a description of the forwarding plane semantics and the output is a binary that can accommodate any control plane configuration or input traffic. In this paper, we demonstrate that tracking control plane actions and packet-level traffic dynamics at run time opens up new opportunities for code specialization. We present Morpheus, a system working alongside static compilers that continuously optimizes the targeted networking code. We introduce a number of new techniques, from static code analysis to adaptive code instrumentation, and we implement a toolbox of domain specific optimizations that are not restricted to a specific data plane framework or programming language. We apply Morpheus to several eBPF and DPDK programs including Katran, Facebook's production-grade load balancer. We compare Morpheus against state-of-the-art optimization frameworks and show that it can bring up to 2x throughput improvement, while halving the 99th percentile latency.