Компания Tencent выпустила новую версию F-Stack 1.13, фреймворка на базе DPDK и TCP/IP стека FreeBSD. Основной платформой для фреймворка является Linux. Код распространяется под лицензией BSD.
Фреймворк позволяет приложениям отказаться от стека операционной системы и вместо этого использовать стек, реализованный в пространстве пользователя и работающий напрямую с сетевым оборудованием.
Из заявленных особенностей фреймворка:
- Полная загрузка сетевых карт: были достигнуты 10 млн активных сетевых подключений, 5 млн RPS и 1 млн CPS
- Перенос стека пространства пользователя из FreeBSD 11 с удалением большого количества несущественных возможностей, что значительно повысило сетевую производительность
- Поддержка Nginx, Redis. Другие приложения также могут использовать F-Stack
- Легкость расширения за счет мультипроцессной архитектуры
- Обеспечивает поддержку микропотоков. Различные приложения могут использовать F-Stack для повышения производительности без реализации сложной асинхронной логики
- Поддерживаются стандартные API epoll/kqueue
В новой версии:
- Добавлены интерфейсы ff_dup, ff_dup2, ff_ioctl_freebsd, ff_getsockopt_freebsd, ff_setsockopt_freebsd
- Добавлен параметр «idle_sleep», позволяющий снизить использование процессора, если отсутствуют входящие пакеты
- Добавлена поддержка arm64
- Добавлена поддержка Docker
- Добавлена поддержка vlan
- В реализации nginx для F-Stack заменены функции getpeername, getsockname, shutdown
- DPDK обновлен до версии 17.11.4 LTS
Источник: linux.org.ru