In recent years, technological evolution has provided a scenario of connectivity never seen before, with high-speed networks becoming increasingly common. Our daily lives in the digital world have changed rapidly, with exponential growth in data traffic and the emergence of new network applications. As a result, the challenges faced by service providers have intensified. As you can imagine, these challenges are even greater when it comes to delivering a voluminous flow of information efficiently. In this context, the concept of “kernel bypass” has emerged as an indispensable solution for guaranteeing the fluidity and speed required in our modern networks.
So this article will give you an analysis of the “kernel bypass”. We will demonstrate how this approach proves that the speed of networks has surpassed that of processors, boosting connectivity to heights never before imagined. In addition, we’ll show you why DPDK is one of the most widely used Kernel Bypass alternatives. Come along and have a good read!
Kernel Bypass: a brief context
At a time when TV is already broadcasting in 8K standard, as is the case with Japanese station NHK, high-speed, voluminous network traffic is no longer an exception. For you, a high-speed network can represent innovation, quality entertainment and comfort. However, for service providers (including Internet providers), delivering this traffic is a challenge that is not always easy to overcome. If you go back a few years, when network technology was in its infancy, the cables were copper, transmitting electrical signals. However, today we know that optical fibers make up the cables, transmitting laser pulses at the speed of light.
Although you might think that fiber optics solved the problem, it actually solved only one: the transport of signals between devices. With one detail: these devices are separated by some distance. It was not yet the solution to the problems brought about by the explosion of network applications, such as video streaming. The crux of the problem is that there are many people, including you and me, requesting certain streams at the same time. Not only fiber optic cables are in demand, but also wireless connections. Thus, between the server hosting the video and the device where it will be viewed, there are many network problems to be solved. These include packet routing.
To put it simply, you can understand packages as all the small sets of data that, when put together, form the images on your screen. You can also understand routing as the list of streets that letter carriers are given to deliver the day’s mail.
The Linux kernel has limitations for processing data packets
For a better understanding of Kernel Bypass, it is crucial to understand that, in computers, the part of the operating system responsible for handling networks usually performs routing. In this process, the data enters the network interface (or network card) and then the operating system processes it, indicating its route. This part takes place inside the computer’s central processing unit, the CPU.
However, over time, the experience of network engineers showed that routing using the operating system was not the best solution. In general, the operating system used was Linux. There were limitations imposed by the kernel, the core of Linux, and these made it impossible to gain more speed. The reason is that the architecture of these kernel features was created in the early 1980s. This means that it was even before Linux was invented, in 1991, when Ethernet network speeds were still at 10 Mbps.
As you can imagine, the figures can vary depending on the version of the operating system. However, an experiment carried out by a network company in 2015 with Vanilla Linux, for example, did not route more than 1M pps (one million packets per second). For any network operator, that’s not much, since modern 10 Gbps network interfaces can process around 10M pps.
To make matters worse, manufacturers already have “terabit ethernet” class interfaces. This class are the circuits that deliver 400 gigabits per second and will soon be evolving to 800 gigabits per second. In essence, what is happening is that the network has become faster than the CPU.
Network speeds have already exceeded terabits
Even though they have several cores, generic CPUs – the ones installed in our computers – can’t handle the magnitude of these numbers. They also can’t cope with the voracity of the services that consume data sent over the networks. The solution was to bypass the CPU and the kernel by doing “Kernel Bypass”.
Various Kernel Bypass strategies have been developed to solve the routing problem. However, each one meets the specific characteristics of the systems in which they operate. In every Kernel Bypass solution, the fundamental change occurs when the kernel stops processing the protocol task. In this scenario, processing is transferred to the user space or userland, which is the environment that houses the programs and libraries used by the operating system.
One of the Bernel Bypass alternatives is to make our operating system dedicate the network interface to an application, as is the case with the DPDK (Data Plane Development Kit). Thus, the interface is programmed from the user space. Whatever the option, the main result is that packets flow from the network interface to our user space. Thus, there is minimal interference from the operating system. In this case, the operating system is limited to managing incoming and outgoing packets, and userspace is responsible for implementing the rest of the network functions.
When network speeds reach the order of 10 Gbps or even higher, working in this way becomes essential. Otherwise, you won’t get high performance when processing packets.
The advantages of DPDK as a Kernel Bypass solution
Currently, DPDK is one of the Kernel Bypass alternatives most used by network operators. Firstly, because it’s an open source solution. Secondly, because it has the contribution of at least 160 professionals of the highest caliber. For example, people who work for 27 different companies, including Red Hat, NVIDIA, ARM and Google.
The result of these and other alliances in the DPDK project (dpdk.org) is that it has become the most popular solution for accelerating packet processing on the three major processor architectures (x86, ARM and POWER). It is therefore no longer unusual to find businesses taking advantage of the DPDK. The project continues to evolve, and we have tested some of its packet processing functions at up to hundreds of millions of packets per second.
The existence of this and other Kernel Bypass solutions solves, at least for the time being, the challenges that network engineers (and we users) need to overcome. In the future, quantum computing will bring other challenges to our daily lives because of its astonishing processing speed. It may be that quantum processors are so fast that it will take some time for network speeds to catch up. Until then, however, the lead in speed is theirs.
To find out more about the DPDK, be sure to read our article on the subject!
So, did you like the content? So be sure to share it with your friends and coworkers! See you next time!