I. Что такое сеть InfiniBand?
InfiniBand, часто сокращенно называемый «IB», представляет собой стандарт сетевой связи и один из протоколов, реализующих технологию RDMA (Remote Direct Memory Access). Он использует технологию высокоскоростной дифференциальной передачи сигналов и механизмы многоканальной параллельной передачи данных. Его основными целями являются обеспечение «высокой производительности, низкой задержки и высокой надежности».
InfiniBand — это технология межкомпонентной связи, предназначенная для высокопроизводительных вычислений (HPC) в серверной среде. Она отличается чрезвычайно высокой пропускной способностью и исключительно низкой задержкой и используется для обмена данными между компьютерами (например, для репликации или распределенных рабочих нагрузок). InfiniBand также используется в качестве прямого или коммутируемого межсетевого соединения между серверами и системами хранения (такими как SAN и системы хранения с прямым подключением), а также между самими системами хранения. Кроме того, она облегчает обмен данными между серверами и сетями (такими как локальные и глобальные сети, а также Интернет). Она широко используется в центрах обработки данных и в сферах HPC и хранения данных. Впоследствии, с развитием искусственного интеллекта, она стала предпочтительной технологией сетевого соединения для подключения серверов с графическими процессорами.
II. История развития InfiniBand
В начале 1990-х годов компания Intel первой внедрила архитектуру шины PCI в стандартную архитектуру ПК для поддержки растущего числа внешних устройств. Однако по мере стремительного совершенствования процессоров, памяти, жестких дисков и других компонентов более медленное развитие шины PCI стало «узким местом» для всей системы. Для решения этой проблемы гиганты ИТ-индустрии, включая Compaq, Dell, HP, IBM, Intel, Microsoft и Sun, вместе с более чем 180 другими компаниями, совместно основали **IBTA (InfiniBand Trade Association)**.
Целью IBTA было изучение новых альтернативных технологий, призванных заменить PCI и решить проблему узких мест в передаче данных. В результате в 2000 году была официально выпущена **спецификация архитектуры InfiniBand версии 1.0**. В ней был представлен протокол RDMA, обеспечивающий меньшую задержку, большую пропускную способность, более высокую надежность и значительно более высокую производительность ввода-вывода, что позволило ему стать новым стандартом в области технологий межсистемных соединений.
Разговор об InfiniBand неизбежно приводит к израильской компании — **Mellanox** (китайское название: , которое легко запомнить как «продажа винтов»). Основанная в Израиле в мае 1999 года несколькими бывшими сотрудниками Intel и Galileo Technology, компания Mellanox присоединилась к отраслевому альянсу InfiniBand вскоре после его создания. В 2001 году они выпустили свой первый продукт на базе InfiniBand.
В 2002 году лагерь InfiniBand пережил серьезный кризис. Компания Intel «покинула корабль», решив перенести основные усилия в области разработки на **PCI Express (PCIe)**, который был выпущен в 2004 году. Другой гигант, Microsoft, также вышел из разработки InfiniBand. Хотя такие компании, как Sun и Hitachi, остались верны проекту, будущее InfiniBand оказалось под угрозой.
Начиная с 2003 года, технология InfiniBand переориентировалась на новую область применения: «соединение компьютерных кластеров». В 2005 году появилось еще одно новое направление применения: «подключение устройств хранения данных». После 2012 года, благодаря постоянному росту спроса в сфере высокопроизводительных вычислений (HPC), технология InfiniBand стремительно развивалась, неуклонно увеличивая свою долю рынка.
По мере того как технология InfiniBand постепенно завоевывала популярность, компания Mellanox также развивалась и стала "лидер рынка" в сфере InfiniBand. В 2010 году компания Mellanox объединилась с Voltaire, в результате чего основными поставщиками решений InfiniBand остались Mellanox (приобретенная NVIDIA в 2019 году) и QLogic (приобретенная Intel в 2012 году).
В 2013 году компания Mellanox приобрела компанию Kotura, специализирующуюся на технологиях кремниевой фотоники, а также производителя микросхем для параллельных оптических межсоединений IPtronics, что позволило ей еще больше укрепить свой портфель продуктов в данной отрасли.
В 2015 году доля технологии InfiniBand в "TOP500" доля суперкомпьютеров в рейтинге впервые превысила 50 %. Это ознаменовало первое превосходство технологии InfiniBand над Ethernet, став "предпочтительная технология межкластерной связи для суперкомпьютеров".
К 2015 году компания Mellanox занимала "доля в 80 %" мирового рынка InfiniBand. Сфера их деятельности расширилась с производства микросхем до всего спектра продукции: сетевых адаптеров, коммутаторов/шлюзов, систем удаленной связи, а также кабелей и модулей, что позволило им занять позицию поставщика сетевого оборудования мирового уровня.
В 2019 году компания NVIDIA сделала важный шаг, приобретя компанию Mellanox за "6,9 млрд долларов". Дженсен Хуанг, генеральный директор NVIDIA, заявил: «Это объединение двух мировых лидеров в области высокопроизводительных вычислений. NVIDIA специализируется на ускоренных вычислениях, а Mellanox — на межкомпонентных соединениях и системах хранения данных». Оглядываясь назад, можно сказать, что NVIDIA продемонстрировала замечательную дальновидность: обучение больших моделей в значительной степени зависит от высокопроизводительных вычислительных кластеров, а сети InfiniBand являются "идеальный партнер" для таких кластеров.
III. Принцип работы InfiniBand
Принципы работы InfiniBand могут показаться сложными тем, кто не является специалистом в области сетей. Новичкам рекомендуется ознакомиться с основами или пропустить этот раздел. Протокол InfiniBand также использует "многоуровневая архитектура", при этом каждый уровень является автономным и предоставляет услуги вышестоящему уровню.
Физический уровень: определяет, как битовые сигналы объединяются в символы на физическом канале связи, а затем в кадры, символы данных и заполняющие данные между пакетами. Здесь подробно описаны протоколы сигнализации для построения допустимых пакетов и т. д.
Уровень канала: Определяет формат пакетов данных и протоколы для работы с пакетами, такие как управление потоком, маршрутизация, кодирование, декодирование и т. д.
Сетевой уровень: Осуществляет маршрутизацию путем добавления к пакету 40-байтового глобального заголовка маршрута (GRH). При пересылке маршрутизаторы выполняют только проверку с переменным CRC, обеспечивая "целостность данных при сквозной передаче".
Транспортный уровень: доставляет пакеты в определенную пару очередей (QP) и передает QP инструкции по обработке пакета. Сетевой транспорт InfiniBand использует технологию управления потоком на основе кредитов (CBFC) для обеспечения надежности и эффективности передачи данных. Этот механизм управляет кредитом (представляющим объем данных, который может принять получатель) между отправителем и получателем, чтобы предотвратить потерю пакетов и перегрузку.

QP (Queue Pair) — это базовая единица обмена данными в технологии RDMA. Она состоит из пары очередей: SQ (очередь отправки) и RQ (очередь приема). Когда пользователи вызывают API-интерфейсы для отправки или получения данных, они, по сути, помещают данные в QP. Затем запросы в QP обрабатываются поочередно методом опроса.
Преимущества "CBFC" Технологию можно кратко описать тремя основными пунктами:
1. Предотвращение перегрузки сети: благодаря динамической регулировке пропускной способности и передаче данных без потерь технология CBFC эффективно предотвращает перегрузку сети и потерю пакетов.
2. Повышение эффективности: отправитель может непрерывно передавать данные, не дожидаясь подтверждений, до тех пор, пока не исчерпается кредит, что повышает эффективность передачи данных.
3. Автоматическая настройка: механизм управления потоком данных запускается автоматически после физической установки устройств InfiniBand, что исключает необходимость ручной настройки со стороны пользователя.
Как видно, InfiniBand определяет собственные форматы уровней 1–4 (физический, канальный, сетевой, транспортный), образуя полноценный сетевой протокол. Сквозное управление потоком является основой для отправки и приема сетевых пакетов InfiniBand, что позволяет создать высокоэффективную сеть без потерь.
Конечно, обеспечение высокой скорости и отсутствия потерь в сети InfiniBand также зависит от таких технологий и функций, как Socket Direct, адаптивная маршрутизация, Subnet Manager (SM) для управления подсетями, разбиение сети на сегменты, а также механизм SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) для оптимизации сети. В совокупности эти компоненты обеспечивают характерные для этой технологии высокую производительность, низкую задержку и простоту масштабирования.