The Case for a High-Level Kernel-Bypass I/O Abstraction
Since most applications want the same functionality (e.g., the ability to send data of any size at any speed), we propose using a library OS to provide a high-level interface for kernel-bypass. Having applications use a high-level interface provides the following benefits:
Ease-of-use: Application programmers do not have to implement OS functionality, like flow control, which requires them to understand the hardware limitations and features (e.g., that DPDK needs a full networking stack but RDMA just needs flow control). Today, building an application that works across RDMA and DPDK requires supporting two different interfaces and implementing different OS functionality in the application since RDMA NICs handle congestion control but not flow control, while DPDK NICs do not implement either.
Source: irenezhang.net