Форум проекта PuppyRus Linux

Общие вопросы => Общие и технические вопросы => Тема начата: Olej от 15 Август 2022, 12:14:55

Название: сетевой стек в пользовательском пространстве: DPDK
Отправлено: Olej от 15 Август 2022, 12:14:55
Пробовал ли кто такое?
Введение в DPDK: архитектура и принцип работы (https://selectel.ru/blog/vvedenie-v-dpdk-arxitektura-i-princip-raboty/)
Цитата
18 октября 2016
Цитата
За последние несколько лет тема производительности сетевого стека Linux обрела особую актуальность. Это вполне понятно: объёмы передаваемых по сети данных и соответствующие нагрузки растут не по дням, а по часам.

И даже широкое распространение сетевых карт 10GE не решает проблемы: в самом ядре Linux имеется множество «узких мест», которые препятствуют быстрой обработке пакетов.

Предпринимаются многочисленные попытки эти «узкие места» обойти. Техники, используемые для обхода, так и называются — kernel bypass (с кратким обзором можно ознакомиться, например, здесь). Они позволяют полностью исключить сетевой стек Linux из процесса обработки пакетов и сделать так, чтобы приложение, работающее в пользовательском пространстве, взаимодействовало с сетевым устройством напрямую. Об одном из таких решений — Intel DPDK (Data Plane Development Kit) — мы и хотели бы поговорить в сегодняшней статье.
Цитата
(https://selectel.ru/blog/wp-content/uploads/2016/10/PR-2978-1525x1450.png)
Название: Re: сетевой стек в пользовательском пространстве: DPDK
Отправлено: Olej от 15 Август 2022, 12:17:49
Пробовал ли кто такое?
Под него даже драйвера на языке Go (Golang) пишут ... что по скоростным показателям не уступает драйверам на C, а по скорости/простоте разработки (Go vs C) превосхордит в разы.

Writing Network Drivers in Go (https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2018-ixy-go.pdf)
Цитата
TECHNICAL UNIVERSITY OF MUNICH
DEPARTMENT OF INFORMATICS
Sebastian Peter Johann Voit
Это подробный отчёт по университетской работе, на 45 стр.

Ну а потому что это программирование (отладка, собственно) вне ядра, в user space, то это ещё скорость разработки на порядок выше!
Название: Re: сетевой стек в пользовательском пространстве: DPDK
Отправлено: imp от 15 Август 2022, 15:44:09
Источник - хабр, go превосходит С в разы, оверлеи работают быстрее штатных утилит,  британские учёные, кони, люди, секиры, копья, топоры...
10 Гбит - ага, пробовал. Дома на 20 мбитах.

Под него даже драйвера на языке Go (Golang) пишут ...

А теперь включаем верхнее полушарие и думаем, чем это чревато
Название: Re: сетевой стек в пользовательском пространстве: DPDK
Отправлено: Olej от 15 Август 2022, 19:09:11
Пробовал ли кто такое?
Я не раз писал сетевые драйверы, участвуя в крупных промышленных проектах разработческих ... и абсолютно согласен с тем, что делают Intel в своём (достаточно новом) проекте DPDK (Data Plane Development Kit).
И тем более что DPDK в последние пару лет (и особенно когда они его передали в открытом виде в состав Linux) вызвал большую заинтересованность у профессиональных разработчиков.
Кто заинтересуется - предлагаю попробовать...
Название: Re: сетевой стек в пользовательском пространстве: DPDK
Отправлено: imp от 15 Август 2022, 19:44:43
После хабра похмелиться лучше. "Рассуждение" именно про статью. Неужели нельзя дать нормальный источник?

http://core.dpdk.org/doc/

Например
Название: Re: сетевой стек в пользовательском пространстве: DPDK
Отправлено: imp от 15 Август 2022, 19:58:20
Упс... Похоже, что на Хабре передрали статью по ссылке со своими правками. Сорян
Название: Re: сетевой стек в пользовательском пространстве: DPDK
Отправлено: sfs от 16 Август 2022, 12:35:02
Удалил срач. Olej - замечание за нарушение п.3.  (https://forum.puppyrus.org/index.php?topic=14006.0)