8.2 Стандарт InfiniBand

8.2 Стандарт InfiniBand

Новый стандарт (и архитектура) InfiniBand предназначен для соединения коммутируемых связных архитектур между узлом и хранилищем или сетевыми периферийными устройствами. Разработкой спецификации InfiniBand занимается ассоциация IBTA (InfiniBand Trade Association). Эта ассоциация была сформирована после слияния двух конкурирующих спецификаций: Future I/O, продвигавшейся усилиями компании Intel, и Next Generation I/O, разрабатываемой компаниями IBM, HP и Compaq.

Архитектура InfiniBand предлагает несколько модификаций, в частности замену шины ввода-вывода (например, PCI) сетью коммутируемой связной архитектуры. Последовательная коммутируемая связная архитектура обладает определенными преимуществами по сравнению с обычной шиной ввода- вывода. Наиболее заметное преимущество состоит в поддержке большего количества устройств на значительно большем расстоянии с использованием на порядок меньшего количества электрических проводников. Кроме того, связная архитектура поддерживает несколько одновременных сеансов передачи данных и обеспечивает устойчивость к ошибкам. Прежде чем подробно обсуждать архитектуру InfiniBand, рассмотрим недостатки шины PCI.

Хотя шина PCI обладает определенными позитивными свойствами, например в свое время она заменила сразу несколько конкурирующих стандартов (ISA, EISA, MCA), в свете быстрого развития центральных процессоров, памяти и технологий периферийных устройств ее ограничения становятся все более явными. Приведем некоторые из них.

Хотя шина PCI обладала достаточным быстродействием в момент своего появления, ее пропускная способность более не соответствует современным требованиям: шина FSB центрального процессора имеет пропускную способность 1066 Мбит/с, а для устройств Gigabit Ethernet и высокоуровневых устройств хранения (SCSI 3) шина PCI станет «бутылочным горлышком», ограничивающим эффективность работы.

Шина PCI имеет определенные проблемы в управлении вообще и в обнаружении ошибок в частности. Одна некорректно работающая плата PCI может привести к неисправности всей системы, в то время как обнаружить поврежденную плату крайне сложно.

Существуют физические ограничения на длину шины и скорость передачи данных, кроме того ограничено количество шин. При использовании наибольшей скорости передачи данных к шине можно подключить только одно периферийное устройство.

Обратите внимание: хотя технология InfiniBand изначально позиционировалась как замена шины PCI, с появлением технологии 3GIO роль InfiniBand в качестве PCI нового поколения заметно снизилась.

8.2.1 Преимущества технологии InfiniBand

Технология InfiniBand предоставляет множество преимуществ.

Сокращение сложности кабельных подключений, так как InfiniBand позволяет заменить три кабеля – Ethernet, кабели к подсистеме хранения и кабели межпроцессного взаимодействия – одним соединением. В результате намного упрощается аппаратная структура монтажной платы, разводка соединителей на платах и общая структура системы. Более того, монтажные платы подключаются к граничным разъемам и из стойки доступна только пара высокоскоростных соединений.

Встроенное обнаружение ошибок, упрощающее поиск неисправного компонента.

Сокращение потребления пропускной способности памяти, так как сокращается количество операций копирования в память и из нее.

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

Уменьшение накладных расходов, например при вычислении контрольных сумм TCP/IP.

Обеспечение отказоустойчивости за счет использования альтернативных маршрутизаторов в среде связной архитектуры и таких избыточных компонентов; как маршрутизаторы и коммутаторы. Избыточные маршруты позволяют выполнять отправку данных по нескольким маршрутам и балансировать общую нагрузку. Более того, компоненты InfiniBand поддерживают «горячую» замену.

Технология InfiniBand обеспечивает эффективную загрузку монтажной платы из внешнего устройства, что позволяет еще более упростить аппаратную структуру платы.

8.2.2 Архитектура InfiniBand

Архитектурой InfiniBand определена топология логического подключения «точка-точка», которое формируется поверх связной архитектуры. Непосредственно коммутируемая связная архитектура содержит следующие компоненты:

? адаптеры канала узла;

Рис. 8.9. Шина ввода-вывода InfiniBand

адаптеры канала целевого устройства;

коммутаторы InfiniBand;

физический носитель.

На рис. 8.9 демонстрируется структура шины ввода-вывода InfiniBand и взаимоотношение различных компонентов, которые более подробно рассматриваются далее.

Адаптер канала узла (host channel adapter – НСА) представляет собой устройство, которое работает в качестве точки соединения центрального процессора узла и связной архитектуры InfiniBand. Адаптеры каналов узла тесно связаны с серверами и размещаются рядом с ними. Адаптер НСА уменьшает количество прерываний, сдерживает «вмешательство» операционной системы и может обмениваться данными непосредственно с памятью. Каждый адаптер имеет уникальный идентификатор, созданный на основе адреса протокола IPv6.

Адаптер канала целевого устройства (target channel adapter – ТС А) является аналогом адаптера НСА, предназначенного для периферийных устройств, а не ЦПУ узлов. Адаптеры ТС А обычно взаимодействуют с периферийными устройствами и также размещены недалеко от них.

Коммутатор InfiniBand предоставляет возможность подключения нескольких адаптеров ТСА к одному адаптеру НСА. Кроме того, коммутаторы поддерживают маршрутизацию нескольких логических элементов связной архитектуры (они называются подсетями). В то время как коммутаторы InfiniBand поддерживают подключения внутри подсети, маршрутизаторы InfiniBand реализуют подключение между подсетями. Маршрутизаторы обычно настраиваются так, чтобы дополнять возможности коммутаторов новыми функциями.

Технология InfiniBand поддерживает использование обычных медных или оптических кабелей, при этом линии связи могут достигать 17 метров для медных носителей и 100 метров для оптических кабелей. Подключение InfiniBand может включать в себя разное количество линий связи, каждая из которых имеет быстродействие 2,5 Гбит/с. Поддерживаются комбинации от IX (1 кабель) до 4Х (4 кабеля) для быстродействия 10 Гбит/с или 12Х (12 кабелей) для быстродействия 30 Гбит/с.

Архитектура InfiniBand включает в себя не только физические, но и логические компоненты, описанные далее.

8.2.2.1 Линии связи InfiniBand и сетевые уровни

На уровне канала передачи данных (уровень 2 модели OSI) каждая линия InfiniBand делится максимум на 16 потоков и минимум на 2 потока. Один из потоков всегда выделяется на управление связной архитектурой. Потоки получают приоритеты QoS, а поток управления поЛучает наивысший приоритет (виртуальный поток 15; потоки 0–14 используются для передачи данных) и соответствующий уровень QoS.

Следует отметить, что, в отличие от потока, канал передачи данных представляет собой физический компонент. Поток позволяет двум узловым системам связываться друг с другом. Установившие сеанс связи системы могут поддерживать различное количество виртуальных потоков, для чего в спецификации InfiniBand описан соответствующий алгоритм. Установившие связь конечные точки называются парой очереди (queue pair). Пары очереди имеют связанные с ними буферы приема и отправки. Каждый виртуальный поток (virtual lane – VL) предоставляет собственное управление потоком на кредитной основе. Пакеты управления обеспечивают перечисление устройств, управления подсетями и устойчивость к ошибкам.

Технология InfiniBand поддерживает одновременную передачу данных без коллизий[20]. Для обеспечения надежной передачи данных технология InfiniBand использует сквозное управление потоком и не одну, а две проверки целостности по алгоритму CRC. Управление потоком выполняется с помощью выделения буферов на принимающем узле и передачи количества буферов отправляющему узлу. Этим значением указывается количество буферов данных, которые можно отправить без подтверждения приема. Два значения CRC подсчитываются и передаются вместе с данными. Получающая сторона также подсчитывает эти значения. Значение CRC размером 32 бит создается для связи «точка-точка». В то же время данные могут передаваться через промежуточные узлы. Между промежуточными узлами или между промежуточным и конечным узлами используются значения размером 16 бит.

В архитектуре InfiniBand базовой единицей передачи является сообщение (message). Сообщение может быть отправлено или принято с помощью операции RDMA, операции отправки или приема или с помощью операции групповой отправки. Операция удаленного прямого доступа к памяти (Remote Direct Memory Access – RDMA) обеспечивает непосредственный обмен сообщениями между памятью узлов, минуя прерывания операционной системы и не требуя использования служб. Технологией InfiniBand определено шесть режимов передачи данных.

Надежное соединение, при котором аппаратное обеспечение отвечает за генерацию и проверку номеров последовательности пакетов, реализуя тем самым надежность соединения; кроме того, аппаратное обеспечение отвечает за обнаружение дублированных и потерянных пакетов, а также восстановление после ошибок.

Ненадежное соединение.

Надежная дейтаграмма.

Ненадежная дейтаграмма.

Соединение групповой отправки (реализация необязательна).

Пакетная передача (реализация необязательна).

Сообщение InfiniBand может состоять из одного или нескольких пактов. Пакеты могут иметь размер до 4096 байт. На виртуальных потоках (VL) возможно чередование пакетов. Маршрутизация проводится на уровне пакетов, причем пакеты, маршрутизируемые между подсетями, содержат глобальный заголовок, благодаря которому и реализуется маршрутизация.

Кроме того, в архитектуре InfiniBand определен сетевой уровень, обеспечивающий маршрутизацию между различными подсетями. Подсети позволяют локализовать передачу данных в пределах определенной подсети; например широковещательные пакеты и пакеты групповой отправки не выходят за рамки подсети. Подсети предоставляют функции, аналогичные возможностям виртуальной LAN (VLAN), и могут использоваться для обеспечения безопасности. Для каждого устройства в подсети используется 16-разрядный идентификатор, уникальный в пределах подсети. Каждый маршрутизируемый пакет содержит адреса IPv6 исходного узла и узла назначения.

8.2.3 Компания Microsoft и технология InfiniBand

Компания Microsoft в свое время указала, что в неопределенном будущем семейство операционных систем Microsoft Windows будет поддерживать технологию InfiniBand. В третьем квартале 2002 года Microsoft и другие лидеры индустрии информационных технологий сообщили о пересмотре своих планов подцержки технологии InfiniBand; в частности, Microsoft сообщила о перераспределении ресурсов, направленных ранее на поддержку технологии InfiniBand, на другие области, включая IP Storage поверх Gigabit Ethernet. Таким образом, данный раздел может показаться неполным, поскольку не существует конкретной реализации InfiniBand от Microsoft, которую можно было бы описать в полной мере.