Infiniband (иногда сокр. IB) — высокоскоростная коммутируемая компьютерная сеть, используемая в высокопроизводительных вычислениях, имеющая очень большую пропускную способность и низкую задержку. Также используется для внутренних соединений в некоторых вычислительных комплексах. По состоянию на 2014 год Infiniband являлся наиболее популярной сетью для суперкомпьютеров. Контроллеры Infiniband (host channel adapter) и сетевые коммутаторы производятся компаниями Mellanox и Intel. При создании Infiniband в него закладывалась масштабируемость, сеть использует сетевую топологию на основе коммутаторов (Switched fabric).

В качестве коммуникационной сети кластеров Infiniband конкурирует с группой стандартов Ethernet и проприетарными технологиями, например, компаний Cray и IBM. При построении компьютерных сетей IB конкурирует с Gigabit Ethernet, 10 Gigabit Ethernet и 40/100 Gigabit Ethernet. Также IB используется для подключения накопителей информации DAS. Развитием и стандартизацией технологий Infiniband занимается .

Краткое описание

Подобно многим современным шинам, например, PCI Express, SATA, USB 3.0, в Infiniband используются дифференциальные пары для передачи последовательных сигналов. Две пары вместе составляют одну базовую двунаправленную последовательную шину (), обозначаемую 1х. Базовая скорость — 2,5 Гбит/с в каждом направлении. Порты Infiniband состоят из одной шины или агрегированных групп 4x или 12x базовых двунаправленных шин. Чаще всего применяются порты 4x.

Для портов существует несколько режимов передачи данных по шинам. Более ранние режимы использовали для балансировки сигнала кодирование 8B/10B (каждые 8 бит данных передаются по шине как 10 бит) с накладными расходами в 20 %: Single Data Rate (SDR, 1999) — работа с базовой скоростью 2,5 Гбит/с, эффективная скорость (с учётом расходов на кодирование) 2 Гбит/с на каждую шину Double Data Rate (DDR, 2004) — битовая скорость равна удвоенной базовой (5 Гбит/с, эффективная 4 Гбит/с). 4x порт имеет физическую скорость 20 Гбит/с и эффективную 16 Гбит/с Quad Data Rate (QDR, 2008) — соответственно, учетверённой (базовая 10 Гбит/с), эффективная для 4x порта 32 Гбит/с. Начиная с режима FDR-10 применяется намного более экономичное кодирование 64B/66B: Fourteen Data Rate 10 (FDR-10) — эффективная скорость на 1x шину чуть более 10 Гбит/с, для 4x порта 40 Гбит/с Fourteen Data Rate (FDR, 2011) — базовая скорость 1х шины 14,0625 Гбит/с, 4x порт предоставляет около 56 Гбит/с Enhanced Data Rate (EDR) — скорость 1x 25,78125 Гбит/с, 4x — около 100 Гбит/с

Основное назначение Infiniband — межсерверные соединения, в том числе и для организации RDMA (Remote Direct Memory Access).

+Производительность Поколение: SDR DDR QDR FDR-10 FDR EDR HDR NDRXDRGDR Эффективная пропускная способность, Гбит/с, на 1x шину 2 4 8 10 14 25 50 100200400 Эффективные скорости для 4x и 12x шин, Гбит/с 8, 24 16, 48 32, 96 41,25, 123,75 54,54, 163,64 100, 300 200, 600 400, 1200800, 24001600, 4800 Кодирование (бит) 8/10 64/66 256/257 + RS-FECв разработке Типичные задержки, мксhttp://www.hpcadvisorycouncil.com/events/2014/swiss-workshop/presos/Day_1/1_Mellanox.pdf // Mellanox, 2014InfiniBand Too Quick For Ethernet To Kill / The Next Platform, Timothy Prickett Morgan, 2015-04 5 2,5 1,3 0,7 0,7 0,5 Год появления 2001,2003 2005 2007 2011 2014 ~2017 2022

Топология и соединения

InfiniBand использует коммутируемую среду с соединениями точка-точка, в отличие от ранних вариантов сетей Ethernet, которые использовали общую среду и, изначально — шинное соединение. Все передачи начинаются и заканчиваются на адаптере канала. Каждый вычислительный узел содержит HCA-адаптер (host channel adapter), подключаемый к процессору по интерфейсу PCI Express (ранее — через PCI-X). Между адаптерами пересылаются данные и управляющая информация, в том числе — необходимая для реализации QoS.

Для периферийных устройств предполагалось использование TCA-адаптеров (target channel adapter), но они не получили распространения, а такие периферийные устройства создаются на базе стандартных материнских платIntroduction to InfiniBand for End Users «The concept of a TCA is not widely deployed today; instead most I/O devices are implemented using standard server motherboards».

HCA-адаптеры обычно имеют один или два порта 4x, которые могут подключаться либо к таким же портам HCA и TCA, либо к коммутаторам (свитчам). Коммутаторы могут быть организованы в сети с топологиями типа утолщённое дерево (Fat Tree), Сеть Клоза, реже — многомерный тор, двойная звезда, и в различных гибридных комбинацияхhttp://www.snia.org/sites/default/education/tutorials/2008/spring/networking/Goldenberg-D_InfiniBand_Technology_Overview.pdf 2008.

Порты и кабели Infiniband 4x имеют форм-факторы: CX4 (SFF-8470, например, Fujitsu MicroGiGaCN), только до скоростей DDR (иногда — до QDR) QSFP (SFF-8435, SFF-8436, 40 Гбит/с) QSFP+ (QSFP14, SFF-8685, 56 Гбит/с) zQSFP+ (QSFP28, SFF-8665, 100 Гбит/с).

Более редкие порты 12x выполняются в форм-факторах: 12x MicroGiGaCN (Fujitsu FCN-260C024) CXPAnnex A6: 120 Gb/s 12x Small Form-factor Pluggable (CXP) // Supplement to InfiniBand Architecture Specification Volume 2 Release 1.2.1, 2009

Чтобы обеспечить максимальную пропускную способность, было принято решение ограничить допустимую длину кабеля InfiniBand до 10 метров (только активный кабель).

Кабели Infiniband могут иметь различное исполнение: Пассивные электрические кабели (медные многожильные провода), длиной обычно в единицы метров, иногда — до 30 м. Для более длинных кабелей доступны меньшие скорости (7 м — для QDR) Активные электрические кабели (то же, но с усилителями, позволяют немного увеличить максимальную длину кабеля для данной скорости) Активные оптические кабели с интегрированным оптоволоконным кабелем длиной от единиц до десятков и сотен метров. Активные оптические модули с оптическим коннектором MTP/MTO для подключения оптоволоконных кабелей типа OM3/OM4 (8 волокон), либо SR4, либо LC/LC

Также при использовании универсальных Infiniband/Ethernet- адаптеров в Ethernet-инфраструктуре могут применяться переходники на порты SFP+.

Сигналы Infiniband могут передаваться на несколько дюймов по печатным платам, в том числе через внутренние разъёмы с подходящими частотными характеристиками, при условии почти одинаковой длины всех пар в порту.

Протоколы и API На канальном (англ. Data Link) уровне InfiniBand передаёт данные в виде пакетов длиной до 4 КБ (килобайт), которые после объединения формируют сообщение. Некоторые устройства поддерживают меньший максимальный размер пакетов, например, 2 КБ. Типы сообщений: операция доступа к памяти — чтение или запись в память получателя (RDMA). канальные операции пересылки сообщений (отправитель посылает сообщение с данными, получатель принимает его в заранее выделенный буфер) транзакционная операция передача нескольким получателям (multicast, поддерживается не всеми коммутаторами) атомарная операция в память удалённого узла (атомарное сложение и сравнение-с-обменом для 64-битных целых)

Сообщения Infiniband разделяются на сервисы в зависимости от гарантий доставки и необходимости инициализации соединения перед обменом: Reliable Connected (RC) — надёжная доставка, необходима инициализация соединения между получателем и отправителем Unreliable Connected (UC) — ненадёжная доставка, необходима инициализация Reliable Datagram (RD) — опциональный сервис, реализуется редко. Надёжная доставка без инициализации Unreliable Datagram (UD) — ненадёжная доставка, не требует инициализации Позже был введён сервис XRC, комбинирующий в себе некоторые свойства RC и RD

Infiniband позволяет использовать принцип RDMA ( — удалённый прямой доступ к памяти), при котором передача данных из памяти удалённого компьютера в локальную память инициатора запроса производится непосредственно сетевым контроллером, при этом исключается участие CPU удалённого узла. RDMA позволяет передавать данные без дополнительной буферизации и не требует активной работы ОС, библиотек или приложения на узле, к памяти которого производится обращение.

Infiniband может использоваться с двумя низкоуровневыми универсальными программно-аппаратными интерфейсами (API), которые были разработаны на базе U-Net (Cornell, середина 1990-х) и VIA (, конец 1990-х):

Infiniband verbs (IB verbs, OFED verbs) — стандартизация программного интерфейса от группы Open Fabrics Alliance uDAPL (от , также kDAPL, kernel DAPL) — стандарт на API для абстрактного транспорта прямого доступа (, DAT) от DAT Collaborative.

С помощью verbs или uDAPL могут быть реализованы высокоуровневые программные интерфейсы и протоколы, в частности: MPI (Message Passing Interface) — популярный стандарт пересылки сообщений в компьютерных кластерах. Существует множество реализаций MPI, поддерживающих сети Infiniband. SHMEM, GASnet и другие популярные интерфейсы для работы с RDMA IPoIB (IP over Infiniband) — группа протоколов, описывающих передачу IP-пакетов поверх InfinibandAppendix A InfiniBand Concepts // Cisco SFS Product Family Element Manager User Guide.: RFC 4390 «Dynamic Host Configuration Protocol (DHCP) over InfiniBand» RFC 4391 «Transmission of IP over InfiniBand (IPoIB)» RFC 4392 «IP over InfiniBand (IPoIB) Architecture» SRP () — протокол обмена данными между SCSI-устройствами с использованием RDMA. Определён в стандарте ANSI INCITS 365—2002. DDP (): RFC 4296 —— архитектура для реализации прямого размещения данных (DDP) и удалённого прямого доступа к памяти (RDMA) в Internet-сетях. SDP () — протокол установления виртуальных соединений и обмена данными между сокетами поверх Infiniband, передача данных не использует TCP-стек операционной системы, однако использует IP-адреса и может использовать IPoIB для их разрешения. iSER () — IETF-стандарт для адаптации iSCSI к RDMA сетям

История InfiniBand появился в 1999 году при объединении двух конкурировавших проектов: Future I/O и Next Generation I/O. При этом была сформирована ассоциация InfiniBand Trade Association, в которую вошли Compaq, Dell, Hewlett-Packard, IBM, Intel, Microsoft, и Sun.

Версия 1.0 спецификации InfiniBand — InfiniBand Architecture Specification — была выпущена в 2000 году. Изначально в ней предполагалось, что IB одновременно сможет стать заменой медленной шины PCI для ввода-вывода, сетей Ethernet, специализированных кластерных сетей и Fibre Channel.Understanding PCI Bus, PCI-Express and InfiniBand Architecture // Mellanox Whitepaper, 2006: «So many members of the IBTA and the IBTA itself promoted InfiniBand as a replacement for PCI.»

Оборудование Infiniband производили: Qlogic, Mellanox, Voltaire, Topspin.

Основные даты:

2001: Mellanox начала поставки устройств серии InfiniBridge, работающих на скоростях 10 Гбит/с (4x SDR) и поставила более 10 тысяч InfiniBand портов. 2002: Intel объявил, что вместо поставок чипов IB займется развитием шины PCI Express. Microsoft прекратила поддержку проекта, переключившись на расширение Ethernet. Sun и Hitachi продолжили поддерживать IB. 2004: IB начинает применяться в качестве кластерной сети, предлагая более низкие задержки, чем Ethernet-сети. Альянс OpenFabrics Alliance разрабатывает стандартизированный программный стек InfiniBand для ОС Linux. На следующий год ядро Linux получает поддержку IB. 2005: IB начинает использоваться как сеть для подключения устройств хранения информации. 2005: Компания Topspin была приобретена компанией Cisco. 2009: Среди Top500 суперкомьютеров мира Gigabit Ethernet использовался в 259, а InfiniBand в 181 кластере. 2010: Лидеры рынка Infiniband, компании Mellanox и Voltaire объединяютсяMellanox Technologies .. Кроме них, остался ещё один производитель IB-устройств, QLogic, который, однако производит больше устройств Fibre Channel. Oracle делает крупные инвестиции в Mellanox. 2011: На конференции International Supercomputing Conference анонсируются коммутаторы и адаптеры FDR.