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
期刊:
影响因子:
--
通讯作者:
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
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.