• 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




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

Обзор ИБП APC SMV200CAI

Сегодня у нас на тестировании новенький линейно-интерактивный ИБП от компании APC by Schneider Electric серии Easy UPS, предназначенной для питания такой нагрузки, как настольные компьютеры, телевизионная аппаратура, банкоматы и те...

Настраиваем Mesh-сеть на Keenetic: теория и практика

Узнайте, почему Mesh - самая горячая Wi-Fi технология этого года, почему там, где раньше были две точки доступа, теперь появляется и третья, и насколько роутеры Keenetic готовы к построению бесшовных Wi-Fi сетей в вашем доме и офис...

SD-WAN или MPLS: почему SD-WAN является лучшим выбором

Решение о переходе на SD-WAN имеет значительные последствия для бизнеса. Если коротко, то ответ будет следующим: технология SD-WAN обеспечивает более высокую прозрачность, лучшую доступность и повышенную производительность, а также...

Обзор QNAP TS-2483XU-RP: NAS с головным устройством на 24 диска

У компании QNAP получаются очень интересные монструозные NAS-ы для работы с большими объёмами данных. Рассматриваемая сегодня система хранения данных с головным устройством на 24 жёстких диска формата 3.5 дюйма даёт возможность упа...

10 тезисов об SD-WAN, которые вам нужно знать

SD-WAN является самой горячей новой технологией в сети, и многие распределенные организации уже или скоро примут на вооружение эту технологию. Мы приведём вам 10 основных тезисов, касаемых технологии SD-WAN, которые позволят вам пр...


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



НОВЫЕ СТАТЬИ
Обзор трёх miniITX корпусов CrownMicro серии CMC-170

Сегодня речь пойдёт о трёх корпусах бренда CrownMicro для сборки ультракомпактных miniITX систем, а именно: CMC-170-113, CMC-170-303 и CMC-170-803. Эти модели имеют стильный дизайн, внешние блоки питания, VESA крепление...

Экспресс-тест видеокарты Palit GeForce RTX 2080 Super в задачах машинного обучения

Если вы выбираете GPU не только для игр, но и для научных расчётов, вам интересно видеть видеокарту с тензорными ядрами и современной памятью GDDR6 объёмом 8 Гб. Благодаря поддержке FP16, в некоторых теслах она показывает...