InfiniBand

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Краткое описание[править | править код]

Ранние версии Infiniband использовали электрические кабели 4x с разъёмами CX4 (SFF 8470). Показан фрагмент коммутатора Voltaire ISR-6000 с портами SDR 4x.
CX4 (SFF 8470) кабель InfiniBand для SDR 4x.

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

Для портов существует несколько режимов передачи данных по шинам. Более ранние режимы использовали для балансировки сигнала кодирование 8B/10B[5] (каждые 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 Гбит/с[6], 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 NDR
Эффективная пропускная способность, Гбит/с, на 1x шину[7] 2 4 8 10 14 25 50 100
Эффективные скорости для 4x и 12x шин, Гбит/с 8, 24 16, 48 32, 96 41,25, 123,75 54,54, 163,64 100, 300 200, 600 400,

1200

Кодирование (бит) 8/10 8/10 8/10 64/66 64/66 64/66 64/66 64/66
Типичные задержки, мкс[8][9] 5 2,5 1,3 0,7 0,7 0,5
Год появления[10] 2001,
2003
2005 2007 2011 2014[7] ~2017[7] позднее 2020

Топология и соединения[править | править код]

Два двухпортовых HCA-адаптера, подключаемые к компьютеру по PCI Express.

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

Для периферийных устройств предполагалось использование TCA-адаптеров (target channel adapter), но они не получили распространения, а такие периферийные устройства создаются на базе стандартных материнских плат[11].

HCA-адаптеры обычно имеют один или два порта 4x, которые могут подключаться либо к таким же портам HCA и TCA, либо к коммутаторам (свитчам). Коммутаторы могут быть организованы в сети с топологиями типа утолщённое дерево (Fat Tree), Сеть Клоза, реже — многомерный тор, двойная звезда, и в различных гибридных комбинациях[5][12].

Порты и кабели 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)[5]
  • CXP[13]

Чтобы обеспечить максимальную пропускную способность, было принято решение ограничить допустимую длину кабеля 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[14], комбинирующий в себе некоторые свойства RC и RD

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

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

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

С помощью verbs или uDAPL могут быть реализованы высокоуровневые программные интерфейсы и протоколы, в частности:

  • MPI (Message Passing Interface) — популярный стандарт пересылки сообщений в компьютерных кластерах. Существует множество реализаций MPI, поддерживающих сети Infiniband.
  • SHMEM, GASnet и другие популярные интерфейсы для работы с RDMA
  • IPoIB (IP over Infiniband) — группа протоколов, описывающих передачу IP-пакетов поверх Infiniband[16]:
    • 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 Protocol) — протокол обмена данными между SCSI-устройствами с использованием RDMA[16]. Определён в стандарте ANSI INCITS 365—2002.
  • DDP (англ. Direct Data Placement): RFC 4296 —— архитектура для реализации прямого размещения данных (DDP) и удалённого прямого доступа к памяти (RDMA) в Internet-сетях.
  • SDP (англ. Socket Direct Protocol) — протокол установления виртуальных соединений и обмена данными между сокетами поверх Infiniband[16], передача данных не использует TCP-стек операционной системы, однако использует IP-адреса и может использовать IPoIB для их разрешения.
  • iSER (англ. iSCSI Extensions for RDMA) — IETF-стандарт для адаптации iSCSI к RDMA сетям[5]

История[править | править код]

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

Версия 1.0 спецификации InfiniBand — InfiniBand Architecture Specification — была выпущена в 2000 году. Изначально в ней предполагалось, что IB одновременно сможет стать заменой медленной шины PCI для ввода-вывода, сетей Ethernet, специализированных кластерных сетей и Fibre Channel.[18][19]

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

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

  • 2001: Mellanox начала поставки устройств серии InfiniBridge, работающих на скоростях 10 Гбит/с (4x SDR) и поставила более 10 тысяч InfiniBand портов.[20]
  • 2002: Intel объявил, что вместо поставок чипов IB займется развитием шины PCI Express. Microsoft прекратила поддержку проекта, переключившись на расширение Ethernet. Sun и Hitachi продолжили поддерживать IB.[21]
  • 2004: IB начинает применяться в качестве кластерной сети, предлагая более низкие задержки, чем Ethernet-сети.[18] Альянс OpenFabrics Alliance разрабатывает стандартизированный программный стек InfiniBand для ОС Linux. На следующий год ядро Linux получает поддержку IB.[22]
  • 2005: IB начинает использоваться как сеть для подключения устройств хранения информации.[23]
  • 2005: Компания Topspin была приобретена компанией Cisco.
  • 2009: Среди Top500 суперкомьютеров мира Gigabit Ethernet использовался в 259, а InfiniBand в 181 кластере.[24]
  • 2010: Лидеры рынка Infiniband, компании Mellanox и Voltaire объединяются[25][26]. Кроме них, остался ещё один производитель IB-устройств, QLogic, который, однако производит больше устройств Fibre Channel. Oracle делает крупные инвестиции в Mellanox.
  • 2011: На конференции International Supercomputing Conference анонсируются коммутаторы и адаптеры FDR.[27]
  • 2012: Intel приобретает технологии QLogic, связанные с InfiniBand.[28][29][30]
  • 2019: NVIDIA поглощает компанию Mellanox и становится эксклюзивным поставщиком решений на основе InfiniBand[31][32]

См. также[править | править код]

Примечания[править | править код]

  1. Vance, Ashlee China Wrests Supercomputer Title From U.S.. New York Times (28 октября 2010). Дата обращения: 28 сентября 2017. Архивировано 27 сентября 2017 года.
  2. Storage Appliance | SFA12KX | DDN (недоступная ссылка). Дата обращения: 17 января 2015. Архивировано 7 июля 2017 года.
  3. InfiniBand Trade Association. Дата обращения: 28 ноября 2006. Архивировано 7 февраля 2006 года.
  4. HPC-AI Advisory Council - A community effort support center for HPC end-users. Дата обращения: 17 января 2015. Архивировано 24 сентября 2015 года.
  5. 1 2 3 4 http://www.snia.org/sites/default/education/tutorials/2008/spring/networking/Goldenberg-D_InfiniBand_Technology_Overview.pdf Архивная копия от 24 сентября 2015 на Wayback Machine 2008
  6. FDR InfiniBand Fact Sheet. Дата обращения: 17 января 2015. Архивировано 26 августа 2016 года.
  7. 1 2 3 InfiniBand Roadmap: IBTA — InfiniBand Trade Association (недоступная ссылка). Дата обращения: 17 января 2015. Архивировано 29 сентября 2011 года.
  8. http://www.hpcadvisorycouncil.com/events/2014/swiss-workshop/presos/Day_1/1_Mellanox.pdf Архивная копия от 19 августа 2019 на Wayback Machine // Mellanox, 2014
  9. InfiniBand Too Quick For Ethernet To Kill Архивная копия от 8 декабря 2015 на Wayback Machine / The Next Platform, Timothy Prickett Morgan, 2015-04
  10. Panda, Dhabaleswar K. Network Speed Acceleration with IB and HSE. Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Ethernet 23. Newport Beach, CA, USA: CCGrid 2011 (2011). Дата обращения: 13 сентября 2014. Архивировано 13 июня 2020 года.
  11. Introduction to InfiniBand for End Users Архивная копия от 26 сентября 2014 на Wayback Machine «The concept of a TCA is not widely deployed today; instead most I/O devices are implemented using standard server motherboards»
  12. HPC-AI Advisory Council - A community effort support center for HPC end-users. Дата обращения: 17 января 2015. Архивировано 24 сентября 2015 года.
  13. Annex A6: 120 Gb/s 12x Small Form-factor Pluggable (CXP) Архивная копия от 9 января 2014 на Wayback Machine // Supplement to InfiniBand Architecture Specification Volume 2 Release 1.2.1, 2009
  14. HPC-AI Advisory Council - A community effort support center for HPC end-users. Дата обращения: 17 января 2015. Архивировано 24 сентября 2015 года.
  15. Ron Brightwell, Keith Underwood. Chapter 6 Network Programming Interfaces for High Performance Computing; 6.3 Low-Level Network Programming Interfaces // Attaining High Performance Communications: A Vertical Approach / Ada Gavrilovska. — Бока-Ратон (Флорида): CRC Press, 2009. — С. 152. — 416 с. — ISBN 9781420093131. Архивная копия от 27 декабря 2014 на Wayback Machine
  16. 1 2 3 Appendix A InfiniBand Concepts Архивная копия от 1 августа 2014 на Wayback Machine // Cisco SFS Product Family Element Manager User Guide.
  17. Pentakalos, Odysseas An Introduction to the InfiniBand Architecture. O'Reilly. Дата обращения: 28 июля 2014. Архивировано 9 августа 2014 года.
  18. 1 2 Kim, Ted Brief History of InfiniBand: Hype to Pragmatism (недоступная ссылка). Oracle. Дата обращения: 28 июля 2014. Архивировано 8 августа 2014 года.
  19. Understanding PCI Bus, PCI-Express and InfiniBand Architecture Архивная копия от 24 июля 2015 на Wayback Machine // Mellanox Whitepaper, 2006: «So many members of the IBTA and the IBTA itself promoted InfiniBand as a replacement for PCI.»
  20. Timeline. Mellanox Technologies. Дата обращения: 28 июля 2014. Архивировано 29 ноября 2019 года.
  21. Sun confirms commitment to InfiniBand. The Register. Дата обращения: 28 июля 2014. Архивировано 4 марта 2016 года.
  22. Linux Kernel 2.6.11 Supports InfiniBand. Дата обращения: 29 июля 2014. Архивировано 21 октября 2020 года.
  23. Is InfiniBand poised for a comeback?, Infostor Т. 10 (2), <http://www.infostor.com/index/articles/display/248655/articles/infostor/volume-10/issue-2/news-analysis-trends/news-analysis-trends/is-infiniband-poised-for-a-comeback.html>  Архивная копия от 25 ноября 2020 на Wayback Machine
  24. Lawson, Stephen Two rival supercomputers duke it out for top spot (недоступная ссылка). COMPUTERWORLD. Дата обращения: 29 июля 2014. Архивировано 10 января 2017 года.
  25. Mellanox Technologies Архивная копия от 3 декабря 2010 на Wayback Machine.
  26. Raffo, Dave Largest InfiniBand vendors merge; eye converged networks (недоступная ссылка). Дата обращения: 29 июля 2014. Архивировано 1 июля 2017 года.
  27. Mellanox Demos Souped-Up Version of Infiniband, CIO (20 июня 2011). Архивировано 7 января 2014 года. Дата обращения 1 августа 2011.
  28. Intel buys QLogic’s InfiniBand assets for $125 million Архивная копия от 25 августа 2012 на Wayback Machine. // ZDNet.
  29. Intel Snaps Up InfiniBand Technology, Product Line from QLogic, HPCwire (23 января 2012). Архивировано 27 января 2012 года. Дата обращения 27 января 2012.
  30. Mellanox shrugs off Intel’s InfiniBand buy Архивная копия от 27 апреля 2018 на Wayback Machine // The Reg 26 Jan 2012
  31. Nvidia в пику Intel поглотила единственного в мире производителя решений InfiniBand - CNews. Дата обращения: 12 марта 2019. Архивировано 15 марта 2019 года.
  32. NVIDIA to Acquire Mellanox for $6.9 Billion | NVIDIA Newsroom. Дата обращения: 12 марта 2019. Архивировано 11 марта 2019 года.

Литература[править | править код]

Ссылки[править | править код]