The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск DPDK 18.02, фреймворка для высокопроизводительных сетевых приложений

19.02.2018 10:13

Состоялся релиз фреймворка DPDK (Data Plane Development Kit), предоставляющего средства для создания высокопроизводительных сетевых приложений, напрямую работающих с сетевым оборудованием и обрабатывающих пакеты минуя сетевой стек ядра. В качестве первичной платформы заявлен Linux, но имеется ограниченный по своим возможностям вариант для FreeBSD. Исходные тексты библиотек и драйверов поставляются под лицензией BSD, а компоненты для ядра Linux доступны под GPLv2.

Разработчикам предлагается набор библиотек для низкоуровневой работы с сетевыми адаптерами, взаимодействия в многоядерных системах, задействования кольцевых буферов и больших страниц памяти ("huge page"). При помощи данных библиотек можно принимать и отправлять сетевые пакеты с выполнением минимального числа циклов CPU (около 80 циклов на пакет), создавать быстрые системы захвата трафика (аналоги tcpdump) и разрабатывать высокопроизводительные компоненты сетевого стека.

При этом DPDK сам по себе не является сетевым стеком, а лишь предоставляет низкоуровневую функциональность на базе которой можно создавать реализации виртуализированных компонентов сетей (NFV, Network Functions Virtualization). Например, DPDK применяется в качестве основы для выполняемого в пространстве пользователя сетевого стека F-Stack, а также используется в проекте OPNFV (Open Platform for NFV Project) для разработки виртуальных реализаций пограничных контроллеров сессий (SBC), коммутаторов, балансировщиков нагрузки, межсетевых экранов, систем обнаружения атак и WAN-ускорителей. Разработка DPDK ведётся под эгидой организации Linux Foundation при участии компаний ARM, AT&T, Cavium, Intel, Mellanox, NXP, Red Hat, ZTE, Huawei и Wind River.

В новом выпуске сохранена полная совместимость с версией 17.11 на уровне ABI (можно обновить библиотеки без пересборки приложений). Добавлена поддержка новых классов устройств rawdev и bbdev (Wireless Base Band для ускорения обработки 3gpp Layer 1), представлен ethernet-драйвер AVF (Adaptive Virtual Function) и драйвер для поддержки платформы Hyper-V, расширены возможности драйверов igb, mlx5, mlx4, ixgbe и i40e, добавлены новые eventdev-драйверы DPAA (Data Path Acceleration Architecture) и OPDL (Ordered Packet Distribution Library), а также поддержка ускорения вычислений IPsec при помощи DPAA. Реализована экспериментальная поддержка систем сборки meson и ninja.

  1. Главная ссылка к новости (https://dpdk.org/ml/archives/a...)
  2. OpenNews: Стек протоколов маршрутизации FRRouting и проект DPDK перешли под крыло Linux Foundation
  3. OpenNews: Intel представил сокращённый вариант сетевого стека для Linux
  4. OpenNews: Fastsocket - новая высокомасштабируемая реализация сетевой подсистемы ядра Linux
  5. OpenNews: Операционная система OpenSwitch перешла под крыло Linux Foundation
  6. OpenNews: Оценка способности сетевого стека Linux обрабатывать миллион пакетов в секунду
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48099-dpdk
Ключевые слова: dpdk, network
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (40) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:21, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –13 +/
    Альтернатива ZeroMQ?
     
     
  • 2.2, jOKer (ok), 10:33, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну, что вы!

    ZeroMQ - реализует функционал приблизительно на прикладном уровне, тогда как здесь заявлена, как я понял, поддержка физического уровня и, возможно, канального с сетевым.

    Тут я думаю речь идет о поддержке высоко-нагруженных пограничных коммутаторов, возможно о каком-то магистральном оборудовании, но никак не о софтине типа ZeroMQ.

     
     
  • 3.14, Аноним (-), 16:01, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    наборчик "мечта спецслужб"
     

  • 1.3, Аноним (-), 10:35, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    этот набор человеческих слов в тексте новости, сложенный в неразгребаемую кучу, описывает нам фреймворк для создания sdn?
     
     
  • 2.4, leap42 (ok), 10:42, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    да, но на оч низком уровне
     
     
  • 3.6, Аноним (-), 11:08, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > да, но на оч низком уровне

    есть вагон "прикладух" которые сделают то что вам нужно. даже в архиве с исходниками.

     
  • 2.5, Аноним (-), 11:07, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    фреймворк который отодвигает сетевой стек в сторону и переносит обработку на user land, где специализированный код справляется с этим значительно быстрее чем универсальный в ядре.
     
     
  • 3.18, Аноним (-), 18:28, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    хороший вброс.
     
     
  • 4.28, Аноним (-), 07:08, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    не пытался почитать документацию? вот хотя бы присланный ниже линк.
     
  • 2.13, Аноним (-), 14:14, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > этот набор человеческих слов в тексте новости, сложенный в неразгребаемую кучу,

    ...бывает так что технология - за пределами понимания простого смертного. Увы.

    > описывает нам фреймворк для создания sdn?

    Не совсем. Но до кучи и его.

     
     
  • 3.22, Какаянахренразница (ok), 20:44, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > ...бывает так что технология - за пределами понимания простого смертного. Увы.

    Третий закон Кларка.

     
  • 2.26, Kroz (??), 22:58, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > этот набор человеческих слов в тексте новости, сложенный в неразгребаемую кучу, описывает
    > нам фреймворк для создания sdn?

    Это все равно, что сказать, что драйвер сетевой карты описывает фреймворк для SDN.

    Вообще-то, SDN - это концепция, подход. Реализовано это может быть по-разному. Да, в любой реализации будет работа с сетью. DPDK лишь помогает увеличить bps/pps конкретного сетевого элемента.

    Но, поскольку в общем случае отход от специализированных девайсов не требуется в рамках SDN, я бы говорил, что DPDK скорее для NFV. Потому, что на виртуалке сетевой стек легко может стать узким местом.

     
     
  • 3.32, нэту (?), 11:48, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    если SRIOV включен, то эту граблю с узким местом можно неплохо побороть
     
     
  • 4.34, Аноним (-), 12:05, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    SRIOV это (как правило) не более 16 виртуальных функций - то есть для 40 виртуалок уже так не сделаешь.
     

  • 1.7, Аноним (-), 11:13, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Еще есть F-Stack, если я не ошибаюсь.
     
     
  • 2.8, Аноним (-), 11:16, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://github.com/F-Stack/f-stack#introduction
     
  • 2.9, Аноним (-), 11:19, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://dpdksummit.com/Archive/pdf/2017Asia/DPDK-China2017-Wang-FStack.pdf
     
  • 2.11, щи (?), 12:13, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API. http://www.f-stack.org

    Догадайтесь, почему я вам это процитировал. А так-то есть, да.

     

  • 1.10, Аноним (-), 11:27, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Если это будут цеплять к серверным приложениям, то трояны и черви на серверах будут процветать. Потому, что писатели прикладного софта менее компетентны в вопросах безопасности и вопросах низкоуровневой работы с оборудованием, чем кернелдевелоперы.
     
     
  • 2.12, Аноним (12), 12:14, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Голословно. Менее опытным эта софтина не нужна, а кривыми руками можно и без неё накосячить
     
     
  • 3.37, Аноним (-), 22:38, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Голословно

    если где-то может поселиться жуткий баг, то он там обязательно поселится

     

  • 1.15, Mirraz (ok), 17:51, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Бедность поддерживаемых сетевых карт огорчает: http://dpdk.org/doc/nics
     
     
  • 2.16, Аноним (-), 17:57, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    http://dpdk.org/doc/guides/nics/overview.html#id1
     
     
  • 3.19, Mirraz (ok), 18:31, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И что это собственно значит? Я могу как-то завести DPDK на Realtek или D-Link карточках через некую виртуализацию?
     
     
  • 4.20, Начальник (?), 19:09, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А в чем смысл брат ?
    Там весь упор на железо по сути и делается, те на тесную работу, а ты шиш с маслом хочешь воткнуть и чтоб быстро и кошерно было ?
     
  • 4.24, Аноним (-), 20:54, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > И что это собственно значит? Я могу как-то завести DPDK на Realtek
    > или D-Link карточках через некую виртуализацию?

    Если ты это виртуализируешь то не получишь офигенной скорости работы. А раз так то зачем вообще эта возня была?

     
  • 2.17, Аноним (-), 18:15, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    вас не огорчает что 100-200Gbit/s сетевые делает 1-2 фирмы в принципе.
    Большинство слилось на 56Gbit/s.
     
  • 2.27, Led (ok), 00:03, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Бедность поддерживаемых сетевых карт огорчает: http://dpdk.org/doc/nics

    QLogic, Mellanox, Intel, Chelsio - всё есть. С остальными нет смысла заморачиваться.

     
     
  • 3.29, Аноним (-), 07:12, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Бедность поддерживаемых сетевых карт огорчает: http://dpdk.org/doc/nics
    > QLogic, Mellanox, Intel, Chelsio - всё есть. С остальными нет смысла заморачиваться.

    QLogic сдох, читаем Intel вместо этого,
    Chelsio - слился на 56Gbit/s, не вытянул выше.
    Intel с подпиткой от QLogic, смог сделать только Soft network card - называемые по недоразумению TrueScale (OPA), но где вся обработка ложится на плечи CPU. 200Gbit/s так и не смог осилить, не смотря на заявления о интеграции в мост.
    вывод ?:)

     
     
  • 4.30, Аноним (-), 09:55, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Mellanox всех уделал
     
  • 4.33, нэту (?), 11:50, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    да как бы у них OPA2 на подходе, где нормальный offload реализован...
     
     
  • 5.35, Аноним (-), 12:08, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > да как бы у них OPA2 на подходе, где нормальный offload реализован...

    вот как выпустят - так увидим. Пока что в случае CPU становится узким горлышком для серверов где Mellanox дает спокойно отдыхать, процессору. А PPS мочит карту и процессор еще быстрее.

     
  • 5.40, Аноним (-), 07:35, 22/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > да как бы у них OPA2 на подходе, где нормальный offload реализован...

    во. Свежак - при streamming имеем 21Gb/s через 2 интерфейса, только поверх этого запускаем MPI с кучей мелочевки,
    как скорость streamming падает в 2 раза :)
    Soft IB, он такой Soft IB.

     

  • 1.21, Аноним (-), 20:03, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Что-то мне кажется, что те, кому нужна высокая производительность, юзают fpga и асики
     
     
  • 2.23, Аноним (-), 20:53, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то мне кажется, что те, кому нужна высокая производительность, юзают fpga и асики

    Одно другому не мешает.

     
  • 2.25, Kroz (??), 22:49, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то мне кажется, что те, кому нужна высокая производительность, юзают fpga и асики

    ... и высокая производительность была доступна только таким девайсам. А здесь цель, чтобы обычная VNF'ка (читай - виртуальная машина) приблизилась к такому. Конечно, такой производительности как в asic не достичь, но приблизиться можно значительно.

     
  • 2.31, Аноним (-), 10:45, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    брат, сетевухи и есть ASIC (заказные микросхемы с фиксированной логикой) нонче. а FPGA это тип корпуса микросхемы - к чему ты это припер ?
     
     
  • 3.36, Аноним (-), 13:27, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не постесняйтесь, проверьте себя.
     

  • 1.38, Ю.Т. (?), 08:57, 21/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для кластеров, что ли? Низкой задержки в фичах нет.
     
     
  • 2.39, Аноним (-), 21:14, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    80 тактов на пакет.. это типа много ?:)
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру