
Я пишу, потому что столкнулся с проблемой, которую не могу решить, пытаясь настроить кластер с главным узлом (или узлом Frontend) в качестве виртуальной машины, управляющей узлами с помощью сети Infiniband.
Я использую Slurm на этих узлах, фронтенд-узлом является контроллер Slurm.
Каждый вычислительный узел имеет интерфейс Ethernet и InfiniBand, главный узел (или узел Frontend) имеет только интерфейс Ethernet.
Когда я запускаю задание с узла фронтенд-виртуальной машины, сетевой трафик вычислительных узлов (между ними) проходит через интерфейс Ethernet, я не нашел способа принудительно использовать интерфейс Infiniband.
Я обнаружил, что запуск заданий с вычислительного узла вместо VM Frontend решает проблему! Есть ли способ принудительно использовать интерфейс IB? Что я здесь упускаю?
Любая идея будет высоко оценена.
С наилучшими пожеланиями, Симо
решение1
Я новичок в работе с HPC, английский не мой родной язык... но я предполагаю, что это можно сделать с помощью взвешенных маршрутов:
Назначьте на каждой машине маршрут для сегмента сети IB с очень низкой стоимостью для интерфейса и всех остальных сегментов сети с высокой стоимостью для интерфейсов IB (и наоборот: Ethernet с очень высоким весом для сегмента IB).
Вид раздельного доступа, упомянутый здесь:
https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html
Единственный недостаток, который я вижу, это то, что трафик SSH может отправляться через Infiniband вместо Ethernet, но должен быть способ обойти это.