Рубрика «DPDK»

Сегодня расскажем об Open vSwitch, интегрированном с Data Plane Development Kit (OvS-DPDK). Это – высокопроизводительный виртуальный многоуровневый коммутатор с открытым исходным кодом, доступный по лицензии Apache 2.0. Интеграция OvS с DPDK позволяет значительно повысить скорость обработки сетевых пакетов.

image


Open vSwitch нашёл практическое применение во множестве проектов. Коммутатор поддерживает протокол OpenFlow, подходит для работы в программно-определяемых сетях (Software Defined Network, SDN). OvS можно конфигурировать с помощью протокола управления OVSDB.
Читать полностью »

DPDK

За последние несколько лет тема производительности сетевого стека Linux обрела особую актуальность. Это вполне понятно: объёмы передаваемых по сети данных и соответствующие нагрузки растут не по дням, а по часам.

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

В этой статье описывается настройка ограничения скорости входящего трафика для интерфейса Data Plane Development Kit (DPDK) в Open vSwitch (OVS) с DPDK. Эта статья предназначена для сетевых администраторов, которые могут использовать ограничение скорости Open vSwitch, чтобы обеспечить гарантированную скорость приема для портов DPDK на развернутых серверах Open vSwitch. Эта статья дополняет статью Настройка и использование качества обслуживания для Open vSwitch* с DPDK, поскольку ограничение скорости и качество обслуживания действуют соответственно в трактах приема и передачи, используя уникальные команды API для настройки и работы.

Настройка и использование ограничения скорости для Open vSwitch с DPDK - 1
Читать полностью »

Data Plane Development Kit (DPDK): приступая к работе - 1Для быстрой обработки пакетов требуется обнаруживать битовые шаблоны и быстро (со скоростью работы канала) принимать решения о нужных действиях на основе наличных битовых шаблонов. Эти битовые шаблоны могут принадлежать одному из нескольких заголовков, присутствующих в пакете, которые, в свою очередь, могут находиться на одном из нескольких уровней, например Ethernet, VLAN, IP, MPLS или TCP/UDP. Действия, определяемые по битовым шаблонам, могут различаться — от простого перенаправления пакетов в другой порт до сложных операций перезаписи, для которых требуется сопоставление заголовка пакета из одного набора протоколов с другими. К этому следует добавить функции управления трафика и политик трафика, брандмауэры, виртуальные частные сети и т. п., вследствие чего сложность операций, которые необходимо выполнять с каждым пакетом, многократно возрастает.

Чтобы добиться работы на ожидаемом уровне производительности при скорости канала 10 Гбит/с и размере пакета в 84 байта, процессор должен обрабатывать 14,88 миллиона пакетов в секунду. Оборудование общего назначения было недостаточно мощным для обработки пакетов с такой скоростью. Поэтому в большинстве рабочих сетевых систем обработкой пакетов в каналах данных занимаются контроллеры ASIC и сетевые процессоры NPU. К очевидным недостаткам такого подхода относятся: недостаточная гибкость, высокая стоимость, длительные циклы разработки, зависимость от определенного поставщика. Тем не менее, благодаря доступности более быстрых и дешевых ЦП и программных ускорителей, таких как Data Plane Development Kit (DPDK), можно переложить эту нагрузку на оборудование общего назначения.
Читать полностью »

Пакет Data Plane Development Kit (DPDK) предоставляет высокопроизводительные библиотеки обработки пакетов и драйверы пользовательского пространства. Начиная с Open vSwitch (OVS) версии 2.4 мы имеем возможность использовать оптимизированный с помощью DPDK путь vHost в OVS. Поддержка DPDK была доступна OVS с версии 2.2.

Использование DPDK в OVS дает существенные преимущества с точки зрения производительности. Как и в других приложениях, использующих DPDK, резко повышается сетевая пропускная способность (количество передаваемых сетевых пакетов) при существенном снижении задержек. Кроме того, с помощью библиотек обработки пакетов DPDK была оптимизирована производительность некоторых наиболее важных сегментов OVS.

В этом документе мы рассмотрим настройку OVS с DPDK для использования между виртуальными машинами. Каждый порт будет подключен к отдельной виртуальной машине. Затем мы запустим простой тест пропускной способности iperf3 и сравним производительность с работой конфигурации OVS без DPDK, чтобы оценить, какие преимущества мы получаем в OVS с DPDK.
Читать полностью »