Infiniband транспортный слой - PullRequest
0 голосов
/ 11 мая 2018

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

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

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

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

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

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

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

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

Заключение

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

0 голосов
/ 14 мая 2018

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

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

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

...