Open Source Kernel Enhancements for Low Latency Socket
Low Latency Networking without Customized Applications
Historically, the need for low latency networking performance has been primarily within the domains of high speed Financial Services Industries (FSI) or High Performance Computing (HPC). Now, with the scale-up of distributed applications in cloud service industries and the proliferation of low-latency storage technologies such as SSDs and cache-based storage, network latency is becoming an important performance factor for many more computing sectors.
As companies move to rack- and even warehouse-scale architectures, the latency of the slowest node on the network often becomes the limiting factor in how fast data is served to consumers. As companies look to solve this so-called “long tail” effect of network latency, the traditional answer has been a proprietary network fabric such as InfniBand* or RDMA over Ethernet such as iWARP* or RoCE.* These solutions offer excellent low latency performance but require applications to be customized and rewritten to take advantage of RDMA networks rather than standard Ethernet sockets.
Recently, Intel developed a solution for IT administrators needing low latency networking performance without having to modify applications or administer a proprietary fabric. At a high level, the design of Intel’s proposed solution, dubbed busy poll sockets (BPS), is an enhanced native protocol stack consisting of two components: a low latency receive path and top-down, busy-wait polling to replace latency-inducing interrupts for incoming packets. BPS does not require any application customization; it can be enabled at a global system level or as a socket option for specific applications. Unlike other proprietary low latency solutions that run in specialized user-mode implementations, and may be prone to issues, BPS is fully implemented in the native Linux* kernel.
Read the full Open Source Kernel Enhancements for Low Latency Socket White Paper.”