BBC открыла код проекта IP Studio, созданного для повышения пропускной способности систем потокового вещания. В нем используются техники обхода kernel bypass, полностью исключающие сетевой стек Linux из процесса обработки пакетов. Они же обеспечивают прямое взаимодействие приложений в пользовательском пространстве с сетевым устройством.
Метод обхода
При обработке большого числа пакетов через стандартную систему сокетов операции их копирования в память проходят несколько раз. Разработчики BBC обнаружили, что фреймворк Netmap помогает передавать сразу несколько пакетов сетевой карте, сокращая число операций. В качестве сетевого адаптера в корпорации использовали Mellanox ConnectX-4 с открытым драйвером для ядра Linux, но без поддержки в Netmap.
Реализация
В BBC подготовили код для поддержки сетевых адапетров Mellanox в Netmap и добились производительности на уровне 80 Гб/с при однопоточном тестировании. Они также предложили новый драйвер mlx5 с поддержкой прямого взаимодействия c 10/25/40/50/100-гигабитными Mellanox ConnectX-4 и ConnectX-5 для включения в основной состав проекта Netmap.
Напомним, что в апреле 2018 года анонсирована стабильная версия Linux 4.16. Основные изменения коснулись драйверов, общего взаимодействия с аппаратной частью, файловой системы и работы с сетью.
Источник: OpenNET