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
Эффективные скорости для 4x и 12x шин, Гбит/с 8, 24 16, 48 32, 96 41.25, 123.75 54.54, 163.64 100, 300 200, 600
Кодирование (бит) 8/10 8/10 8/10 64/66 64/66 64/66
Типичные задержки, мкс[8] 5 2.5 1.3 0.7 0.7 0.5
Год появления[9] 2001,
2003
2005 2007 2011 2014[7] ~2017[7] позднее 2020

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

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

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

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

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

Порты и кабели 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[12]

Кабели Infiniband могут иметь различное исполнение:

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

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

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

Протоколы и API[править | править вики-текст]

На физическом уровне InfiniBand передает данные в виде пакетов длиной до 4 КБ (килобайт), которые после объединения формируют сообщение. Некоторые устройства поддерживают меньший максимальный размер пакетов, например 2 КБ. Типы сообщений:

  • операция доступа к памяти - чтение или запись в память получателя (RDMA).
  • канальные операции пересылки сообщений (отправитель посылает сообщение с данными, получатель принимает его в заранее выделенный буфер)
  • транзакционная операция
  • передача нескольким получателям (multicast, поддерживается не всеми коммутаторами)
  • атомарная операция в память удаленного узла (атомарное сложение и сравнение-с-обменом для 64-битных целых)

Сообщения Infiniband разделяются на сервисы в зависимости от гарантий доставки и необходимости инициализации соединения перед обменом:

  • Reliable Connected (RC) - надежная доставка, необходима инициализация соединения между получателем и отправителем
  • Unreliable Connected (UC) - ненадежная доставка, необходима инициализация
  • Reliable Datagram (RD) - опциональный сервис, реализуется редко. Надежная доставка без инициализации
  • Unreliable Datagram (UD) - ненадежная доставка, не требует инициализации
  • Позже был введен сервис XRC[13], комбинирующий в себе некоторые свойства RC и RD

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

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

  • 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[15]:
    • 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[15]. Определён в стандарте ANSI INCITS 365—2002.
  • DDP (англ. Direct Data Placement): RFC 4296 —— архитектура для реализации прямого размещения данных (DDP) и удаленного прямого доступа к памяти (RDMA) в Internet-сетях.
  • SDP (англ. Socket Direct Protocol) — протокол установления виртуальных соединений и обмена данными между сокетами поверх Infiniband[15], передача данных не использует 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.[16]

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

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

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

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

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

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

  1. Vance, Ashlee China Wrests Supercomputer Title From U.S.. New York Times (28 октября 2010).
  2. Storage Appliance | SFA12KX | DDN
  3. InfiniBand Trade Association
  4. http://www.hpcadvisorycouncil.com/events/switzerland_workshop/pdf/Presentations/Day%201/13_Mellanox%20InfiniBand%20Training.pdf#page=9
  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
  8. http://www.hpcadvisorycouncil.com/events/2014/swiss-workshop/presos/Day_1/1_Mellanox.pdf // Mellanox
  9. 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.
  10. 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"
  11. http://www.hpcadvisorycouncil.com/events/switzerland_workshop/pdf/Presentations/Day%201/13_Mellanox%20InfiniBand%20Training.pdf#page=36
  12. Annex A6: 120 Gb/s 12x Small Form-factor Pluggable (CXP) // Supplement to InfiniBand Architecture Specification Volume 2 Release 1.2.1, 2009
  13. http://www.hpcadvisorycouncil.com/events/switzerland_workshop/pdf/Presentations/Day%201/13_Mellanox%20InfiniBand%20Training.pdf#page=26
  14. 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.
  15. 1 2 3 Appendix A InfiniBand Concepts // Cisco SFS Product Family Element Manager User Guide.
  16. An Introduction to the InfiniBand Architecture. Проверено 28 июля 2014.
  17. 1 2 Brief History of InfiniBand: Hype to Pragmatism. Oracle. Проверено 28 июля 2014.
  18. 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."
  19. Timeline. Mellanox Technologies. Проверено 28 июля 2014.
  20. Sun confirms commitment to InfiniBand. Проверено 28 июля 2014.
  21. Linux Kernel 2.6.11 Supports InfiniBand. Проверено 29 июля 2014.
  22. "«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> 
  23. Two rival supercomputers duke it out for top spot. COMPUTERWORLD. Проверено 29 июля 2014.
  24. Mellanox Technologies.
  25. Largest InfiniBand vendors merge; eye converged networks. Проверено 29 июля 2014.
  26. Mellanox Demos Souped-Up Version of Infiniband, CIO (20 June 2011). Проверено 1 августа 2011.
  27. Intel buys QLogic’s InfiniBand assets for $125 million. // ZDNet.
  28. Intel Snaps Up InfiniBand Technology, Product Line from QLogic, HPCwire (January 23, 2012). Проверено 27 января 2012.
  29. Mellanox shrugs off Intel's InfiniBand buy // The Reg 26 Jan 2012

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]