Почему MPI использует IpoIB вместо собственного IB?

Я понимаю, что OpenMPI использует OpenIB, а OpenIB использует Ip over Infiniband (IPoIB).

Я не понимаю, почему бы не использовать родной ИБ, если он быстрее, чем IPoIB?

Есть ли реализация MPI, использующая собственный IB?


person Brayme Guaman    schedule 27.03.2017    source источник
comment
Ни одна разумная реализация MPI для кластеров не использует IPoIB по умолчанию, и Open MPI не является исключением.   -  person Hristo Iliev    schedule 28.03.2017


Ответы (2)


OpenIB — это раннее название, используемое Open Fabrics Alliance. Уже в 2005 году название OpenIB было заменено на Open Fabrics. Open Fabrics Alliance распространяет программный стек OFED, который поддерживает множество протоколов и API, включая DAPL, IPoIB, SCSI через RDMA и многие другие. OFED использует низкоуровневые драйверы устройств, предоставляемые поставщиками оборудования.

Некоторые поставщики оборудования распространяют свои собственные сборки OFED. Эти пользовательские сборки мало чем отличаются от любого другого дистрибутива OFED, за исключением того, что они поставляются вместе с драйверами устройств.

В прошлом OFED включал реализацию MPI, а именно OpenMPI, но больше этого не делает (вы, вероятно, читали часто задаваемые вопросы по OpenMPI).

OpenMPI по-прежнему использует имя openib для своего компонента уровня передачи байтов InfiniBand на основе OFED.

В разные периоды времени OpenMPI также поддерживал специфичные для поставщиков API-интерфейсы InfiniBand, такие как Mellanox mVAPI (mvapi BTL) и Mellanox Messaging Library mxm.

Тем не менее, openib обеспечивает переносимость, и если вы используете последние версии, вы, вероятно, будете иметь такую ​​же производительность, как и у конкретных API-интерфейсов поставщика.

Компонент openib не использует IP поверх IB. Если вы хотите использовать IP поверх IB, используйте вместо этого компонент tcp и соответствующим образом настройте mpiexec hostfiles.

person Dmitri Chubarov    schedule 27.03.2017
comment
Спасибо, но я все еще не понимаю. Зачем использовать IPoIB вместо нативного IB? В чем преимущество IPoIB? - person Brayme Guaman; 28.03.2017
comment
Здесь написано pkg-ofed.alioth.debian.org/howto/ infiniband-howto-6.html Openmpi использует IPoIB от openib. - person Brayme Guaman; 28.03.2017
comment
@BraymeGuaman хорошая мысль. В документации, на которую вы ссылаетесь, говорится, что IPoIB используется только для запуска процессов, когда среда MPI еще не настроена. IPoIB не используется для фактического перемещения данных между процессами MPI с openib BTL. - person Dmitri Chubarov; 29.03.2017

Насколько мне известно, MVAPICH2 — это дистрибутив MPI, который не использует IPoIB, т. е. напрямую использует глаголы.

person Anuj Kalia    schedule 27.03.2017
comment
Что вы имеете в виду под глаголами? Я новичок в инфинибэнде. - person Brayme Guaman; 28.03.2017
comment
Глаголы относятся к общему интерфейсу пользовательского режима для устройств RDMA, подобных InfiniBand. Он состоит из таких функций, как ibv_post_send и ibv_post_recv для отправки и получения данных соответственно. Это может быть полезно: hpcadvisorycouncil.com /pdf/. - person Anuj Kalia; 28.03.2017