Автор разработал библиотеку для сравнительного анализа производительности семи сетевых бэкендов в Linux, включая DPDK, AF_XDP и io_uring. Исследование направлено на измерение времени прохождения пакета (RTT) при различных методах обработки данных в ядре и пользовательском пространстве.

Тестирование проводилось на двух стендах: домашнем ПК с сетевой картой Intel 82599 и паре инстансов AWS c6in.4xlarge. В ходе экспериментов отправлялись пакеты по 100 байт с частотой от 20 000 до 1,6 миллиона сообщений в секунду. Для чистоты эксперимента использовался режим опроса очереди (busy poll) на изолированных ядрах.

Результаты показывают, что обработка прерываний и softirq существенно влияют на задержки. На оборудовании Intel перенос прерываний на соседний гиперпоток увеличил задержку на 3 мкс для UDP и на 5 мкс для io_uring. В то же время DPDK, работающий без прерываний, продемонстрировал устойчивость к подобным конфигурационным изменениям.

Автор отмечает, что выбор бэкенда определяет путь пакета через стек, включая использование механизмов DMA, RSS и классификацию трафика. Исследовательский код проекта доступен в открытом доступе, однако он не является готовым решением для промышленной эксплуатации и требует тестирования на конкретных нагрузках и железе.