Optimizing latency and CPU load in packet processing systems

Optimizing latency and CPU load in packet processing systems
复制标题

DOI:
10.1109/spects.2015.7285275
复制
发表时间:
2015-07
期刊:
2015 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS)
影响因子:
--
通讯作者:
Paul Emmerich;Daniel Raumer;Alexander Beifuß;L. Erlacher;F. Wohlfart;Torsten M. Runge;Sebastian Gallenmüller;G. Carle
Paul Emmerich;Daniel Raumer;Alexander Beifuß;L. Erlacher;F. Wohlfart;Torsten M. Runge;Sebastian Gallenmüller;G. Carle
中科院分区:
其他
文献类型:
--
作者:
Paul Emmerich;Daniel Raumer;Alexander Beifuß;L. Erlacher;F. Wohlfart;Torsten M. Runge;Sebastian Gallenmüller;G. Carle

文献摘要

相似文献

支持10或40 GbE(千兆以太网)的高速网卡目前已上市。创建了用于高速数据包接收和传输的软件框架,以耗尽这些卡的性能。然而,这些框架不适用于通用解决方案。因此,有必要重新审视十多年前设计的通用网络IO软件。在标准Linux设置中,应用程序和物理网络之间的连接通过New API(NAPI)进行。这促使我们研究如何结合Linux NAPI调整底层NIC驱动程序以改善延迟。基于测试床的测量,我们提出了一个优化的算法的NIC驱动程序,以动态适应的TCP节流率(ITR)。我们实现了该算法,并基于在NAPI之上运行的Open vSwitch的Linux模块,通过延迟和吞吐量测量对其进行了评估。我们的测量结果表明,我们的新ITR算法改善了数据包延迟,而不影响CPU负载的其他解决方案。
High-speed network cards supporting 10 or 40GbE (Gigabit Ethernet) are available today. Software frameworks for high-speed packet reception and transmission were created to exhaust the performance of these cards. However, these frameworks are not applicable as general-purpose solution. Thus, it is necessary to revisit general purpose network IO software that was designed more than a decade ago. In standard Linux settings, connectivity between applications and physical networks happens via the New API (NAPI). This motivated us to investigate how underlying NIC drivers can be adapted to improve latency in combination with the Linux NAPI. Based on testbed measurements, we propose an optimized algorithm for the NIC driver to dynamically adapt the Interrupt Throttling Rate (ITR). We implemented the algorithm and evaluated it with latency and throughput measurements based on the Linux module of Open vSwitch that operates on top of the NAPI. Our measurements show that our new ITR algorithm improves the packet latency without affecting the CPU load as much as other solutions.