Tencent has released a new version F-stack 1.13, a framework based on DPDK and the FreeBSD TCP/IP stack. The main platform for the framework is Linux. The code is distributed under the BSD license.
The framework allows applications to forego the operating system stack and instead use a user-space stack that works directly with network hardware.
Of the declared features of the framework:
- NICs fully loaded: 10 million active network connections, 5 million RPS and 1 million CPS were achieved
- Porting the userspace stack from FreeBSD 11, removing a lot of non-essential features, greatly improving network performance
- Nginx, Redis support. Other apps can also use F-Stack
- Ease of expansion due to multi-process architecture
- Provides support for microflows. Various applications can use F-Stack to improve performance without implementing complex asynchronous logic.
- Supports standard epoll/kqueue APIs
In the new version:
- Added interfaces ff_dup, ff_dup2, ff_ioctl_freebsd, ff_getsockopt_freebsd, ff_setsockopt_freebsd
- Added "idle_sleep" option to reduce CPU usage if there are no incoming packets
- Added support for arm64
- Added support for Docker
- vlan support added
- Getpeername, getsockname, shutdown functions replaced in nginx implementation for F-Stack
- DPDK updated to version 17.11.4 LTS
Source: linux.org.ru