Smart Batching: A Load-Sensitive Self-Tuning Packet I/O Using Dynamic Batch Sizing - Mao Miao; Wenxue Cheng; Fengyuan Ren; Jing Xie (2016 IEEE 18th International Conference on High Performance Computing and Communications; IEEE 14th International Conference on Smart City; IEEE 2nd International Conference on Data Science and Systems (HPCC/SmartCity/DSS), 2016)
Batch processing is an essential technique to improve packet rates under high-speed network, which has been widely used in high-performance packet IO frameworks. Conventionally, we need to make a tradeoff between high latency at low input loads and high throughput at high loads. In this work, we intend to leverage the smart batching mechanism to dynamically balance the input traffic rate and the available processing ability, so as to achieve both low latency and high throughput.%We conduct experimental investigations on the impact of different batching sizes on throughput, latency and CPU costs on our testbed which utilizesThe impact of different batching sizes on throughput, latency and CPU costs is investigated on our testbed which utilizes MoonGen and DPDK platform. We build a model for the batch processing procedure to explore various factors influencing latency and throughput. We find that batching size is a controllable variable linking the input rate and the available system processing rate. In light of this understanding, we design the smart batching mechanism to dynamically tune batching size according to the input traffic rate and the processing capability available. Smart batching mechanism is implemented and evaluated on DPDK platform under different traffic patterns and workload. The results show that it is sensitive and adaptive to the instantaneous states of network and server. Besides, it is simple enough and portable to most packet IO frameworks.