Проведена оценка способности сетевого стека Linux обрабатывать миллион пакетов в секунду

Опубликовано: 26 июня 2015 г., пятница

Марек Майковски (Marek Majkowski), разработчик ядра Linux, работающий в компании CloudFlare, провёл заслуживающий внимания эксперимент, пытаясь разобраться насколько быстр сетевой стек ядра Linux и возможно ли в Linux обеспечить работу пользовательского приложения, способного обработать миллион UDP–пакетов в секунду на обычном сервере с шестиядерным CPU Xeon (2GHz) и сетевой картой 10G.

В эксперименте применялась связка из программы для отправки данных, использующая вызов sendmmsg для отправки информации порциями по 1024 пакета за раз, и программы для приема данных, использующая системный вызов recvmmsg, более эффективный чем recv благодаря пакетной обработке данных.

Первый вариант приложения продемонстрировал производительность отправки данных в диапазоне от 197 до 350 тысяч пакетов в секунду. Непостоянство производительности объяснялось миграцией обработчиков между ядрами CPU. После жесткого закрепления программы за одним ядром CPU возросла эффективность кэша и производительность стабилизировалась на отметке в 350 тысяч пакетов в секунду. Следующим шагом стало распараллеливание отправки в несколько нитей, генерация пакетов значительно возросла, но принимающая программа не смогла обработать больше чем при первой попытке, уперевшись в производительность ядра CPU, выполняющего код приложения.

Данное ограничение удалось преодолеть при помощи задействования нескольких принимающих очередей (RX queue), привязанных к разным CPU и закреплённых за разными IP–адресами. Распределение запросов по двум принимающим очередям увеличил производительность до 650 тысяч пакетов в секунду. Попытка дальнейшего увеличения числа RX–очередей привела к очередному узкому месту – несмотря на то, что сетевая карта справлялась с доставкой пакетов ядру, ядро оказалось не способно доставить их приложению, которое не успевало их принимать. Увеличение числа принимающих нитей, из–за ограниченного размера буфера UDP, не улучшило положение.

Источник: opennet.ru
Копировать, распространять, публиковать информацию портала News.lt без письменного согласия редакции запрещено.

Комментарии Facebook

Новый комментарий


Captcha

статьи по схожей тематике

Symantec поможет пользователям отличить опасный сайт от безопасного

Корпорация Symantec объявила о начале функционирования бета-версии службы оценки Web-сайтов Norton Safe Web дальше »

Цхинвалcкие домены заняты российским домейнером

Начало военных действий на территории Южной Осетии и штурм ее столицы – города Цхинвали – не остались незамеченными в доменной индустрии. дальше »

Эл. правительство Великобритании

Гордон Браун запускает в интернете собственный видеосервис Number10TV, который будет подробно рассказывать о деятельности британского кабинета министров и его главы дальше »

Копии редких книг будут выложены в Интернете

Британская библиотека решила представить электронные копии редчайших книг в онлайне дальше »

Периодическое издание ICANN

ICANN (Международная некоммерческая организация для регулирования вопросов, связанных сдоменными именами) выпустила очередной номер специализированного журнала. дальше »

Google насчитал в Интернете триллион уникальных страниц

Поисковик Google обнаружил в Интернете триллион уникальных страниц. дальше »

Новый поисковик для легального скачивания фильмов

Очередной метод для борьбы с пиратством в Сети придумала Американская ассоциация кинопроизводителей дальше »

Россию и Японию соединил еще один оптоволоконный кабель

Японская компания KDDI и оператор междугородной и международной связи «Ростелеком» завершили прокладку оптоволоконного кабеля по дну Японского моря дальше »

Единый фотобанк NASA выложен в Сеть

В Интернете открылась самая полная база фото– и видеоматериалов, созданных при участии NASA. дальше »

Первые шаги по созданию межпланетной сети

Сотрудники NASA вместе с «отцом Интернета» В. Серфом к 2010 году представят готовую для реализации в космических аппаратах концепцию терпимых к задержкам сетей дальше »