Infiniband транспортный слой

У меня возникают проблемы с пониманием контекста с http://www.redbooks.ibm.com/redbooks/pdfs/sg247351.pdf

Он описывает, как реализован транспортный уровень, но каждая информация, которую я только что прочитал, объясняет особенности, а не то, как реализован транспортный уровень.

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

Есть ли способ узнать основную идею о том, как функции реализованы в аппаратном обеспечении для транспортного уровня Infiniband? Например, использует ли он логические элементы управления и регистры для запуска всех необходимых функций транспортного уровня?

2 ответа

Решение

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

Общий процесс

1) Приложение написано для использования InfiniBand.

2) Интерфейсы в драйвере Mellanox (например, MPI) позволяют приложению через драйвер записывать данные непосредственно в область памяти (отправляя рабочий запрос) на сервере (теперь мы находимся на транспортном уровне).

3) Детали пространства памяти между исходным и целевым серверами обмениваются, так что теперь обмен данными будет происходить между этими областями оперативной памяти. Это является ключевым преимуществом InfiniBand, поскольку он обходит ядро ​​/ ЦП и обменивается данными на аппаратном уровне (между областями памяти, используя пары очередей между HCA (адаптерами). Когда мы говорим, что данные обмениваются на аппаратном уровне, мы говорим о памяти сервера и ГКА.

4) HCA будет сегментировать пакеты в соответствии с MTU и передавать данные на провод. На другом конце он будет снова собран. Это все еще "Транспортный уровень".

5) Когда биты проталкиваются на провод - это физический уровень.

Заключение

Драйвер находится в фоновом режиме, сообщая ОС, как взаимодействовать с HCA (выбор транспортного протокола InfiniBand, vs, Ethernet, MTU, CM vs, режима обмена пар очереди RD и т. Д.). Кроме того, он предоставляет программные интерфейсы InfiniBand и дополнительные утилиты для устранения неполадок и т. Д. Я думаю, вы могли бы сказать, что здесь есть некоторая логика, обеспечиваемая драйвером OFED HCA.

InfiniBand - это четко определенный сквозной протокол межсоединений, который официально определен и поддерживается Торговой ассоциацией InfiniBand.

Вы можете найти полные спецификации на сайте IBTA: http://www.infinibandta.org/content/pages.php?pg=technology_public_specification

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

Другие вопросы по тегам