Подтвердить что ты не робот

Разница между IPoIB и TCP через Infiniband

Может кто-нибудь объяснить концепции IPoIB и TCP по сравнению с infiniband? Я понимаю общую концепцию и скорость передачи данных, предоставляемые native infiniband, но не совсем понимаю, как подходят TCP и IPoIB. Почему они нужны и что они делают? В чем разница, когда кто-то говорит, что их сеть использует IPoIB или TCP с infiniband? Какая из них лучше? Я не из сильного сетевого фона, поэтому было бы неплохо, если бы вы могли разработать.

Благодарим вас за помощь.

4b9b3361

Ответ 1

Адаптеры InfiniBand ( "HCAs" ) предоставляют несколько дополнительных функций, которые могут быть использованы через собственный интерфейс программирования "глаголов":

  • Передача данных может быть инициирована непосредственно из пользовательского пространства на аппаратное обеспечение, минуя ядро ​​и избегая накладных расходов на системный вызов.
  • Адаптер может обрабатывать весь сетевой протокол для взлома большого количества сообщений (даже много мегабайт) в пакеты, генерации/обработки ACK, повторной передачи потерянных пакетов и т.д. без использования какого-либо процессора на отправителе или получателе.

IPoIB (IP-over-InfiniBand) - это протокол, который определяет, как отправлять IP-пакеты через IB; и, например, Linux имеет драйвер "ib_ipoib", который реализует этот протокол. Этот драйвер создает сетевой интерфейс для каждого порта InfiniBand в системе, что делает HCA как обычную сетевую карту.

IPoIB не в полной мере использует возможности HCA; сетевой трафик проходит через обычный стек IP, что означает, что для каждого сообщения требуется системный вызов, а главный процессор должен обрабатывать взлома данных в пакеты и т.д. Однако это означает, что приложения, использующие обычные IP-сокеты, будут работать поверх (хотя процессор, вероятно, не сможет запустить IP-стек достаточно быстро, чтобы использовать канал IBDR 32 Гбит/с).

Так как IPoIB обеспечивает обычный интерфейс сетевого интерфейса NIC, на нем можно запускать сокеты TCP (или UDP). Пропускная способность TCP более 10 Гбит/с возможна с использованием последних систем, но это сгорит с достаточным количеством процессоров. На ваш вопрос нет никакой разницы между IPoIB и TCP с InfiniBand - они оба ссылаются на использование стандартного IP-стека поверх оборудования IB.

Реальное различие заключается в использовании IPoIB с обычным сокетным приложением по сравнению с использованием встроенного InfiniBand с приложением, которое было закодировано непосредственно в интерфейсе интерфейсов IB-глаголов. Натуральное приложение почти наверняка получит гораздо более высокую пропускную способность и более низкую задержку, в то же время тратит меньше ресурсов на сетевое взаимодействие.