InfiniBand

Материал из Википедии — свободной энциклопедии
(перенаправлено с «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).
  2. Storage Appliance | SFA12KX | DDN (недоступная ссылка). Дата обращения: 17 января 2015. Архивировано 7 июля 2017 года.
  3. InfiniBand Trade Association
  4. HPC-AI Advisory Council - A community effort support center for HPC end-users
  5. 1 2 3 4 http://www.snia.org/sites/default/education/tutorials/2008/spring/networking/Goldenberg-D_InfiniBand_Technology_Overview.pdf 2008
  6. FDR InfiniBand Fact Sheet
  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 // Mellanox, 2014
  9. InfiniBand Too Quick For Ethernet To Kill / 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.
  11. 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»
  12. HPC-AI Advisory Council - A community effort support center for HPC end-users
  13. Annex A6: 120 Gb/s 12x Small Form-factor Pluggable (CXP) // 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
  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.
  16. 1 2 3 Appendix A InfiniBand Concepts // Cisco SFS Product Family Element Manager User Guide.
  17. An Introduction to the InfiniBand Architecture. O'Reilly. Дата обращения: 28 июля 2014.
  18. 1 2 Brief History of InfiniBand: Hype to Pragmatism (недоступная ссылка). Oracle. Дата обращения: 28 июля 2014. Архивировано 8 августа 2014 года.
  19. 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.»
  20. Timeline. Mellanox Technologies. Дата обращения: 28 июля 2014.
  21. Sun confirms commitment to InfiniBand. The Register. Дата обращения: 28 июля 2014.
  22. Linux Kernel 2.6.11 Supports InfiniBand. Дата обращения: 29 июля 2014.
  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> 
  24. Two rival supercomputers duke it out for top spot (недоступная ссылка). COMPUTERWORLD. Дата обращения: 29 июля 2014. Архивировано 10 января 2017 года.
  25. Mellanox Technologies Архивная копия от 3 декабря 2010 на Wayback Machine.
  26. Largest InfiniBand vendors merge; eye converged networks (недоступная ссылка). Дата обращения: 29 июля 2014. Архивировано 1 июля 2017 года.
  27. Mellanox Demos Souped-Up Version of Infiniband, CIO (20 June 2011). Дата обращения 1 августа 2011.
  28. Intel buys QLogic’s InfiniBand assets for $125 million. // ZDNet.
  29. Intel Snaps Up InfiniBand Technology, Product Line from QLogic, HPCwire (January 23, 2012). Архивировано 27 января 2012 года. Дата обращения 27 января 2012.
  30. Mellanox shrugs off Intel’s InfiniBand buy // The Reg 26 Jan 2012
  31. Nvidia в пику Intel поглотила единственного в мире производителя решений InfiniBand - CNews
  32. NVIDIA to Acquire Mellanox for $6.9 Billion | NVIDIA Newsroom

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

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