В сетевой подсистеме будущего ядря Linux 5.14 должна появиться поддержка разгрузки (offload) NVMe/TCP, одного из транспортов для NVMe-oF. Речь идёт о снижении нагрузки на CPU за счёт того, что обработка сетевых данных будет происходить в контроллере сетевого адаптера. Поддерживается как разгрузка TCP, так и собственно NVMe/TCP.
Первые замеры показывают, что такой подход позволил снизить нагрузку на сервере с процессором AMD EPYC 7402 с 15,1% до 4,7%. Для решения на базе Intel Xeon Gold 5122 нагрузка упала с 16,3% до 1,1%. Также уменьшилась задержка при передаче пакетов — в среднем со 105 до 39 мкс. В обоих случаях использовался сетевой контроллер Marvell серии FastLinQ.
Не исключено, что в будущем появятся реализации и для других сетевых контроллеров. В целом, новая подсистема разрабатывается как ещё один универсальный уровень абстракции tcp-offload, с которым могут взаимодействовать уже конкретные драйверы производителей адаптеров.
Источник: