• nav


Что такое SmartNIC и почему сетевые карты для серверов стали умнее

В то время как мир вокруг нас становится с каждым днём «умнее», безусловно, потребительские технологии меняются быстрее остальных. Тем не менее, бэкэнд-инфраструктура для поддержки интеллектуальных устройств все еще тащит свои кости из эпохи динозавров. В течение десятилетий сетевая «магистраль», объединяющая эти устройства, создавалась с использованием запатентованных и специально созданных аппаратных устройств, таких как маршрутизаторы, коммутаторы, балансировщики нагрузки, межсетевой экран, CDN, ускорители WAN, шлюзы и т. д. Список можно продолжать и продолжать. Все эти специализированные и запатентованные аппаратные устройства отлично справляются со своими задачами, но они не являются гибкими, препятствуют инновациям и не масштабируются. Я называю аппаратное обеспечение всего мира «эпохой динозавров», потому что его трудно выдержать.

Гибкость и эффективность являются ключевыми факторами для долгосрочного успеха любого бизнеса. В 2007 году мы увидели движение, направленное на то, чтобы разрушить этот древний способ построения монолитной и закрытой сетевой инфраструктуры на базе решений одного поставщика. Программное обеспечение взяло на себя функции аппаратного обеспечения, и технологии с открытым исходным кодом, такие как виртуальная машина на основе ядра (KVM), открытый виртуальный коммутатор (OVS) и OpenStack, стали строительными блоками облачной инфраструктуры и произвели революцию в построении сетей следующего поколения. Основой этой трансформации, определяемой программным обеспечением, были гибкость, автоматизация и поддержка со стороны сообщества. Я бы назвал это программным обеспечением, определяющим весь мир. Маятник качнулся полностью к другому концу, и аппаратные средства стали товаром для вычислительной, сетевой инфраструктуры и инфраструктуры хранения. Программное обеспечение стало мозгом, и наиболее ценный актив в программном обеспечении определил весь мир. Мы вступили в эволюционную фазу с принципиально иным способом построения программно-определяемой инфраструктуры с виртуализацией серверов, виртуализацией сетей, программно-определяемыми сетями, виртуализацией сетевых функций и программно-определяемым хранилищем. Так много нововведений, все происходит довольно быстро. Хорошие новости для отрасли, верно? Ну, не совсем.

Запуск функции виртуальной сети (VNF) на центральном процессоре влияет на производительность сети с точки зрения пропускной способности, скорости передачи пакетов, задержки и операций ввода-вывода для рабочих нагрузок хранилища. Кроме того, дезагрегация программного и аппаратного обеспечения наряду с виртуализацией серверов и сетей потребляет еще больше ресурсов ЦП из-за высокой прослойки программного обеспечения. Подумайте о слоях абстракций, которые виртуализация программного обеспечения, таких как гипервизоры, виртуальные маршрутизаторы или оверлейные сети, создает, чтобы запускать рабочие нагрузки аппаратно-независимым образом. Результатом всего этого является снижение эффективности, которая выглядит примерно так, как показано ниже.

Как показано выше, мы начали с чистого листа, высокопроизводительного обычного сервера и из-за SDX, таких как виртуализация, дезагрегация и системы безопасности, получили только 20-25% вычислительной мощности, доступной для запуска бизнес-приложений или для передачи этой вычислительной мощности арендаторам для инфраструктуры как услуги (IaaS). Представьте себе сервер стоимостью 20 000 долларов с доступной вычислительной мощностью всего в 5000 долларов. По сути, из-за издержек на SDX нам нужно заплатить 400% от капитальных затрат, чтобы соответствовать вычислительной мощности голого сервера. Что касается экономии капитала, мы находимся в том же месте, что и раньше, или даже хуже, когда создаем инфраструктуру следующего поколения, определяемую программным обеспечением, с обычными серверами. В дополнение к увеличению CapEx, чисто программный мир работает хуже по сравнению с аппаратно-определяемым миром из-за связанной с ЦП сети и обработки данных.

В этот момент вы, очевидно, спросите: «Но какое это имеет отношение к Smart Era?» Ну дело в том, что мы вступаем в мир, в котором даже компоненты серверов, названные мною строительными материалами, должны достаточно поумнеть, чтобы решать наши задачи. Одними из первых, поумнели сетевые контроллеры, пройдя эволюцию от обычных NIC до SmartNIC. Все говорят об умных сетевых картах, но никогда не отвечают на один простой вопрос: что такое "SmartNIC" и чем они отличаются от обычных сетевых карт? Все мы знаем, что под аббревиатурой NIC скрывается "Network Interface Card" (сетевая интерфейсная карта); практически говоря, NIC-это PCI Express плата, устанавливаемая в сервер или СХД для подключения к сети Ethernet.

Что такое SmartNIC

Концепция SmartNIC выходит за рамки простого подключения и уже подразумевает, что сама сетевая карта, а не центральный процессор сервера или СХД производят обработку не только сетевого трафика и протоколов, но даже каких-то вычислений самого приложения. То есть, SmartNIC берёт на себя разгрузку всего, что связано с коммуникациями, высвобождая ресурсы процессора на полезную мощность. Круто, правда?

Каждый из производителей SmartNIC видит концепцию умной сетевой карты по-своему, и основное - это, конечно же, процессор платы. На на уровне процессора, это могут быть решения типа ASIC, FPGA и System-on-a-Chip (SOC). Естественно, каждый производитель утверждает, что именно его SmartNIC правильный, а остальные типы умных сетевых карт таковыми не являются.

Особенности архитектуры, используемой для SmartNIC карт


ASIC

FPGA

SOC (NIC + процессор)

Отличное соотношение цены и производительности

Высокая производительность и высокая цена

Среднее соотношение цены и производительности

Высокая стоимость разработки

Очень сложно поддаётся программированию

Процессор программируется на языке C

Легко запрограммировать но область использования ограничена первоначальными сценариями

Оптимизация в зависимости от задач

Высочайшая гибкость, легко программируется

Как вы видите, идеального решения нет. ASIC-платы (например, Mellanox ConnectX-5) имеют очень низкую стоимость, но конечные функции будут ограничены теми, которые определены в ASIC-архитектуре. Сетевые карты на основе FPGA, такие как Mellanox Innova-2 Flex, наоборот - полностью настраиваемые, и при достаточном упорстве со стороны оператора справиться с любой возложенной на них задачей, однако затраты на программирование могут быть неоправданно высокими. Наилучшим решением является SoC (например Mellanox BlueField SmartNIC, использующий ARM-процессор), сочетающие в себе лёгкость программирования, максимальную гибкость и неплохое соотношение цены и производительности.

На какой архитектуре должны быть построены SmartNIC? Вообще, это не важно: на первое место выходит именно список того, что умеет ваш интерфейсный контроллер, а ASIC там или FPGA - не важно. У компании Mellanox есть сетевые карты, которые можно отнести к SmartNIC на всех трёх типах архитектур. Но проще посмотреть на следующую таблицу, в которой я определил три класса NIC: базовый NIC, интеллектуальный NIC (iNIC) и SmartNIC, основываясь на их способности ускорять определенную функциональность. Обычный NIC, или обычный сетевой контроллер, просто перемещают сетевой трафик и имеет несколько простых функций по аппаратной разгрузке TCP пакетов, а может и вообще не иметь никаких возможностей Offload-а. Как правило, к таким базовым NIC-ам относятся все сетевые карты Intel, все сетевые карты Realtek, да и вообще все сетевые карты, встроенные на материнские платы серверов и СХД, не говоря уже о рабочих станциях и десктопах.

Возможность

Где используется

Обычный сетевой контроллер NIC

Intellitent NIC (iNIC)

SmartNIC

Виртуализация начального уровня, передача больших объемов данных

Ускорение TCP/IP

Сеть предприятия

Да

Да

Да

Виртуализация NIC (SR-IOV)

Сеть предприятия

Да

Да

Да

Виртуализация сети (VXLAN)

Мультитанантные нагрузки

Да

Да

Да

Ускорение транспортных протоколов

Ускорение RoCE

VM, СХД, Big Data, машинное и глубинное обучение

Нет

Да

Да

DPDK

Функции виртуализирова-нных сетей

Нет

Да

Да

Ускорение Spark

Big Data

Нет

Да

Да

NVMe over Fabric Storage

Системы хранения данных

Нет

Да

Да

OVS Hardware Offload

Масштабируемые виртуализированные приложения

Нет

Да

Да

QoS и ACL ускорение

Web-серверы / CDN сети

Нет

Да

Да

Flow monitor / Report

Сетевой мониторинг, балансировка нагрузки, IBN

Нет

Да

Да

Flow match / action

Прогаммно определяемое хранилище

Нет

Да

Да

Fully Programmable Data Plane

Виртуализация сетевых функций

Нет

Да

Да

Виртуальная коммутация и маршрутизация ASAP2

NAT, балансировка нагрузки, Firewall

Нет

Да

Да

Умные сети и виртуализация

Политики виртуального коммутатора

OVS Control Plane

Нет

Нет

Да

Движок аналитики

DPI, сетевой мониторинг и диагностика

Нет

Нет

Да

Ускорение контейнеров

Машинное обучение, AI/ML, Big Data, аналитика

Нет

Нет

Да

Виртуализация Smart Cloud

Распределение серверов, работа с общими ресурсами

Нет

Нет

Да

Функции безопасности, компрессия, сетевая виртуализация, хранение данных

Публичные крипто ключи, RNG

Аутентификация, обмен ключами

Нет

Нет

Да

Изоляция домена / HA

Bare Metal Cloud

Нет

Нет

Да

Фильтрация IP / ACL

Балансировка нагрузки, IPD/IDS/UTM

Нет

Нет

Да

Хранение: хэшинг, ECC, компрессия

Дедупликация, тонкое распределение ресурсов, Erasure coding

Нет

Нет

Да

Шифрование / дешифрование

Data at rest

Нет

Нет

Да

Security VNF

Firewall, IDS, IPS, Anti-malware, Anti-DDos

Нет

Нет

Да

Иногда заказчики полагают, что для им нужны сетевые карты типа SmartNIC, но когда они смотрят на функции, используемые в их рабочих задачах, то в конечном итоге решают, что обычные продвинутые сетевые карты семейства Connect-X имеют достаточно механизмов offload-а. Это семейство ASIC-плат принято называть Intelligent NIC, и хотя на русский язык это слово переводится так же, как SmartNIC, здесь важно не запутаться: умные контроллеры умны по-разному.

То есть, давайте подведём итог.

  • Вот, например, обычные сетевые карты Intel, такие как X520-DA2, или X550-T2 - это просто сетевые карты
  • Mellanox ConnectX - это Intelligent NIC, тоже умные, но только по сравнению с Intel-овскими
  • Mellanox Innova - это уже SmartNIC в классическом представлении
  • Mellanox BlueField - это самый умный из SmartNIC -ов в настоящее время

То есть, SmartNIC - это сетевой адаптер, который ускоряет определённую сетевую функциональность и разгружает за счёт этого процессор сервера.

Какой SmartNIC выбрать?

Пожалуй, вы уже поняли, что для большинства транспортных задач, где требуется разгрузка процессора за счёт аппаратного движка сетевой карты, достаточно интеллектуальных NIC-ов на базе ASIC-процессоров, таких как Connect-X. Однозначно, гибкость не является их сильной стороной, но сравнительно невысокая стоимость - основной критерий выбора. Но уже при высокой нагрузке на виртуальный коммутатор (vSwitch) или виртуальный роутер (vRouter), придётся использовать полноценный SmartNIC последнего поколения, такой как Mellanox BlueField.

По мере того, как окружающий нас мир становится все умнее, крайне важно, чтобы инфраструктура облачного масштаба следующего поколения, которая помогает соединять миллиарды этих умных вещей с потребителями, и бизнес также становились. Современное оборудование не готово к скоростям выше 100 Гбит/с без аппаратной разгрузки протоколов, а на горизонте уже маячат 400-гигабитные сети.

Производители SmartNIC:

Рон Амадео
25/04.2019




ПОХОЖИЕ СТАТЬИ:

Synology MailPlus - тестируем отказоустойчивый почтовый кластер на NAS-ах

В этой статье мы рассмотрим возможности локального почтового сервера, который вы можете настроить на NAS-ах Synology, протестируем скорость и посмотрим на методы защиты от спама.

...

Выясняем на примере QNAP TVS-951X, нужен ли быстрый NAS в цифровой студии

В этой статье мы будем выяснять, нужен ли в компании, занимающейся созданием цифрового контента быстрый 10-гигабитный NAS, ускоренный SSD-накопителями? Изучим новые технологии для работы с SSD и проведём тесты в реальных приложения...

Технологии телеметрии Mellanox WJH для выявления проблем с сетью и хранилищем

Поскольку сеть позволяет получать доступ к приложениям, обмениваться данными и подключаться к хранилищу, хорошая потоковая телеметрия позволяет обнаружить даже ошибки приложений. Компания Mellanox решила, что её ASIC-и достаточно х...

Обзор решения для малого офиса от Zyxel: VPN шлюз ZyWall VPN2S и точка доступа NWA1123-ACv2

Простое устройство, которым вы можете отключить вашим сотрудникам доступ к развлекательным сайтам, блокировать доступ в интернет целыми категориями веб-сайтов, настроить быстрый VPN и отказоустойчивую работу двух провайдеров.

...

Как SmartNIC платы меняют концепцию безопасности сервера в частности и облака в целом

SmartNIC использует скорость DMA для быстрого доступа к памяти, работает в изолированном окружении, все вычисления происходят на ARM-процессоре сетевой карты, все вычислительные ресурсы сервера остаются доступными для пользователей...


НА ФОРУМЕ ГОВОРЯТ



НОВЫЕ СТАТЬИ
Как работают системы бесперебойного энергоснабжения в ЦОДах

В этой статье мы расскажем как в ЦОД обеспечивается бесперебойная работа оборудования с точки зрения резервирования источников питания. В качестве практического кейса в завершение статьи мы рассмотрим недавний инцидент во...

Каковы шансы у AMD на серверном рынке? Экспертное мнение и аналитика.

Почему AMD возлагает свои надежды на второе поколение процессоров, объявленное 7 августа 2019 года и суждено ли этим надеждам сбыться? Мы совершим небольшой экскурс в историю, и посмотрим, почему так получилось с Opteron-ами,...