Оптимизация сети в ядре Linux 6.8 повышает производительность TCP на 40%

2024-01-10 10499 комментарии
Ядро Linux 6.8 представляет ключевые улучшения в основном сетевом коде, которые могут увеличить производительность TCP примерно на 40% при работе с множеством одновременных сетевых подключений

Помимо обычной поддержки нового оборудования проводной/беспроводной сети и других рутинных изменений в большой сетевой подсистеме Linux, ядро Linux 6.8 вносит некоторые ключевые улучшения в основной сетевой код, которые могут привести к увеличению производительности TCP на ~ 40% при использовании одновременных сетевых подключений.

Прежде всего, был проведен анализ и реорганизация основных сетевых структур. Эти усилия были направлены на оптимизацию использования кэш-линии и добавление мер безопасности, гарантирующих, что будущие изменения не регрессируют. В свою очередь, такая оптимизация основных сетевых структур приводит к увеличению производительности TCP со многими одновременными соединениями на целых 40% и более!

Коко Ли из Google сообщила о своих усилиях по оптимизации кэш-линии сетевого кода:

«В настоящее время структуры с большим количеством переменных в сетевом стеке организованы хронологически, логически, а иногда и с помощью доступа к строке кэша.

Эта серия патчей пытается реорганизовать переменные основного сетевого стека, чтобы минимизировать использование кэш-линии на этапе передачи данных. В частности, мы рассмотрели стек TCP/IP и определение быстрого пути в TCP».

Результаты очень впечатляют, учитывая работу с основным сетевым кодом.

Между тем, новая аппаратная поддержка драйверов Ethernet в Linux 6.8 включает устройства Octeon CN10K, Broadcom 5760X P7, Qualcomm SM8550 SoC и Texas Instrument DP83TG720S PHY. Что касается Bluetooth, добавлена новая поддержка драйверов Bluetooth IMC Networks.

Удалена поддержка устаревших драйверов Wi-Fi, включая 16-битного PCMCIA Libertas, драйверы Atmel at76c50x, драйвер HostAP ISA/PCMCIA 802.11b, USB-ключи zd1201 802.11b, драйвер Orinoco ISA/PCMCIA 802.11b, драйвер Aviator/Raytheon, драйвер Planet WL3501 и драйвер RNDIS USB 802.11b.

Что касается улучшений сетевых драйверов в Linux 6.8, то в драйвер высокоскоростной сетевой карты Intel добавлена поддержка отчетов о температуре и тактовой частоте, а также другие улучшения во многих сетевых драйверах. Коммутаторы центров обработки данных NVIDIA Mellanox Ethernet теперь также могут получать обновления прошивки без перезагрузки. Что касается Wi-Fi, продолжается работа над WiFi 7 и улучшениями чрезвычайно высокой пропускной способности (EHT).

© . По материалам phoronix
Комментарии и отзывы

Нашли ошибку?

Новое на сайте