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].
Краткое описание
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Infinibandport.jpg/220px-Infinibandport.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/SFF_8470.jpg/220px-SFF_8470.jpg)
Подобно многим современным шинам, например, 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 | XDR | GDR |
---|---|---|---|---|---|---|---|---|---|---|
Эффективная пропускная способность, Гбит/с, на 1x шину[7] | 2 | 4 | 8 | 10 | 14 | 25 | 50 | 100 | 200 | 400 |
Эффективные скорости для 4x и 12x шин, Гбит/с | 8, 24 | 16, 48 | 32, 96 | 41,25, 123,75 | 54,54, 163,64 | 100, 300 | 200, 600 | 400,
1200 |
800,
2400 |
400,
3200 |
Кодирование (бит) | 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] | 2022 |
Топология и соединения
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Gfx_00225.jpg/220px-Gfx_00225.jpg)
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 выполняются в форм-факторах:
Чтобы обеспечить максимальную пропускную способность, было принято решение ограничить допустимую длину кабеля 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[англ.], конец 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]:
- 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]
См. также
[править | править код]Примечания
[править | править код]- ↑ Vance, Ashlee China Wrests Supercomputer Title From U.S. New York Times (28 октября 2010). Дата обращения: 28 сентября 2017. Архивировано 27 сентября 2017 года.
- ↑ Storage Appliance | SFA12KX | DDN . Дата обращения: 17 января 2015. Архивировано из оригинала 7 июля 2017 года.
- ↑ InfiniBand Trade Association . Дата обращения: 28 ноября 2006. Архивировано 7 февраля 2006 года.
- ↑ HPC-AI Advisory Council - A community effort support center for HPC end-users . Дата обращения: 17 января 2015. Архивировано 24 сентября 2015 года.
- ↑ 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
- ↑ FDR InfiniBand Fact Sheet . Дата обращения: 17 января 2015. Архивировано 26 августа 2016 года.
- ↑ 1 2 3 InfiniBand Roadmap: IBTA — InfiniBand Trade Association . Дата обращения: 17 января 2015. Архивировано из оригинала 29 сентября 2011 года.
- ↑ http://www.hpcadvisorycouncil.com/events/2014/swiss-workshop/presos/Day_1/1_Mellanox.pdf Архивная копия от 19 августа 2019 на Wayback Machine // Mellanox, 2014
- ↑ InfiniBand Too Quick For Ethernet To Kill Архивная копия от 8 декабря 2015 на Wayback Machine / The Next Platform, Timothy Prickett Morgan, 2015-04
- ↑ 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 года.
- ↑ 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»
- ↑ HPC-AI Advisory Council - A community effort support center for HPC end-users . Дата обращения: 17 января 2015. Архивировано 24 сентября 2015 года.
- ↑ 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
- ↑ HPC-AI Advisory Council - A community effort support center for HPC end-users . Дата обращения: 17 января 2015. Архивировано 24 сентября 2015 года.
- ↑ 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 года.
- ↑ 1 2 3 Appendix A InfiniBand Concepts Архивная копия от 1 августа 2014 на Wayback Machine // Cisco SFS Product Family Element Manager User Guide.
- ↑ Pentakalos, Odysseas An Introduction to the InfiniBand Architecture . O'Reilly. Дата обращения: 28 июля 2014. Архивировано 9 августа 2014 года.
- ↑ 1 2 Kim, Ted Brief History of InfiniBand: Hype to Pragmatism . Oracle. Дата обращения: 28 июля 2014. Архивировано из оригинала 8 августа 2014 года.
- ↑ 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.»
- ↑ Timeline . Mellanox Technologies. Дата обращения: 28 июля 2014. Архивировано 29 ноября 2019 года.
- ↑ Sun confirms commitment to InfiniBand . The Register. Дата обращения: 28 июля 2014. Архивировано 4 марта 2016 года.
- ↑ Linux Kernel 2.6.11 Supports InfiniBand . Дата обращения: 29 июля 2014. Архивировано 21 октября 2020 года.
- ↑ "Is InfiniBand poised for a comeback?", Infostor, 10 (2), Архивировано 25 ноября 2020, Дата обращения: 17 января 2015 Источник . Дата обращения: 17 января 2015. Архивировано 25 ноября 2020 года.
- ↑ Lawson, Stephen Two rival supercomputers duke it out for top spot . COMPUTERWORLD. Дата обращения: 29 июля 2014. Архивировано из оригинала 10 января 2017 года.
- ↑ Mellanox Technologies Архивная копия от 3 декабря 2010 на Wayback Machine.
- ↑ Raffo, Dave Largest InfiniBand vendors merge; eye converged networks . Дата обращения: 29 июля 2014. Архивировано из оригинала 1 июля 2017 года.
- ↑ "Mellanox Demos Souped-Up Version of Infiniband". CIO. 2011-06-20. Архивировано 7 января 2014. Дата обращения: 1 августа 2011.
- ↑ Intel buys QLogic’s InfiniBand assets for $125 million Архивная копия от 25 августа 2012 на Wayback Machine. // ZDNet.
- ↑ "Intel Snaps Up InfiniBand Technology, Product Line from QLogic". HPCwire. 2012-01-23. Архивировано из оригинала 27 января 2012. Дата обращения: 27 января 2012.
- ↑ Mellanox shrugs off Intel’s InfiniBand buy Архивная копия от 27 апреля 2018 на Wayback Machine // The Reg 26 Jan 2012
- ↑ Nvidia в пику Intel поглотила единственного в мире производителя решений InfiniBand - CNews . Дата обращения: 12 марта 2019. Архивировано 15 марта 2019 года.
- ↑ NVIDIA to Acquire Mellanox for $6.9 Billion | NVIDIA Newsroom . Дата обращения: 12 марта 2019. Архивировано 11 марта 2019 года.
Литература
[править | править код]- Tom Shanley, Infiniband Network Architecture, Addison-Wesley, 2000, ISBN 0-201-726823, ISBN 0-201-726823zz (ошибоч.)
- GREGORY F. PFISTER, Chapter 42: An Introduction to the InfiniBand Architecture // High Performance Mass Storage and Parallel I/O: Technologies and Applications — Wiley, 2002, ISBN 978-0-471-20809-9, pages 617—632.
Ссылки
[править | править код]- InfiniBand Architecture Overview // Mellanox, 2009 (слайды)
- Обзор InfiniBand Архивная копия от 8 мая 2006 на Wayback Machine // МКА № 3, 2002
- Реклама: FDR InfiniBand — протокол нового поколения // PC Week Review: HPC-системы, февраль 2012