iBalancer: Load-Aware in-Server Flow Scheduling for Sub-Millisecond Tail Latency

Qi Zhang,Yi Liu,Tao Liu
DOI: https://doi.org/10.1109/tpds.2021.3120021
IF: 5.3
2022-08-01
IEEE Transactions on Parallel and Distributed Systems
Abstract:Achieving microsecond-scale tail latency poses an extreme challenge to the conventional architecture of "NIC-OS-Application" in the face of high concurrent requests. Existing kernel-bypass systems improve this situation significantly. Still, they cannot achieve load-aware in-server requests distribution, which in turn harms tail latency. This paper proposes iBalancer, an in-server proactive load balancer for the kernel-bypass system, which aggressively handles NIC-side flow scheduling according to the load of threads on processor-side. Furthermore, we propose a novel metric, "polling time interval (PTI)", to quantify the load of worker threads. By scheduling flows according to PTI, iBalancer tends to average the queuing latencies of different flows. Besides, by decoupling ow scheduling from packet steering, iBalancer achieves a tail latency aware ow-to-core binding and preserves hardware-based request distribution among cores. The proposed system is evaluated and compared to mTCP and Shenango by using two representative microsecond-scale network applications: Memcached KVS and a deep-learning-based nancial fraud identication application. Experimental results show that iBalancer can process up-to 4.75 and 1.55 higher load over mTCP and Shenango under 500s 99th percentile tail latency limit on Memcached. For the nancial fraud identication application, iBalancer can process 4.56 and 1.16 higher load than mTCP and Shenango considering 900s tail latency
computer science, theory & methods,engineering, electrical & electronic
What problem does this paper attempt to address?