
Ich schreibe, weil ich auf ein Problem stoße, das ich nicht lösen kann, wenn ich versuche, einen Cluster mit einem Masterknoten (oder Frontend-Knoten) als virtuelle Maschine zu konfigurieren, die Knoten mit einem Infiniband-Netzwerk verwaltet.
Ich verwende Slurm auf diesen Knoten, der Frontend-Knoten ist der Slurm-Controller.
Jeder Rechenknoten hat eine Ethernet- und Infiniband-Schnittstelle, der Masterknoten (oder Frontend-Knoten) hat nur eine Ethernet-Schnittstelle.
Wenn ich einen Job vom Frontend-VM-Knoten aus starte, läuft der Netzwerkverkehr der Rechenknoten (zwischen ihnen) über die Ethernet-Schnittstelle. Ich habe keine Möglichkeit gefunden, die Verwendung der Infiniband-Schnittstelle zu erzwingen.
Ich habe herausgefunden, dass das Starten von Jobs von einem Compute-Knoten statt vom VM-Frontend das Problem löst! Gibt es eine Möglichkeit, die Verwendung der IB-Schnittstelle zu erzwingen? Was übersehe ich hier?
jede Idee wird sehr geschätzt.
Freundliche Grüße, Simo
Antwort1
Ich bin neu in der HPC-Arbeit, Englisch ist nicht meine Muttersprache … aber ich würde vermuten, dass es über gewichtete Routen läuft:
Weisen Sie in jeder Maschine die Route für das IB-Netzsegment mit sehr geringen Kosten für die Schnittstelle und alle anderen Netzsegmente mit hohen Kosten für die IB-Schnittstellen zu (und umgekehrt: Ethernet mit sehr hoher Gewichtung für das IB-Segment).
Art des hier erwähnten geteilten Zugriffs:
https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html
Der einzige Nachteil, den ich sehe, ist, dass SSH-Verkehr möglicherweise über Infiniband statt über Ethernet gesendet wird, aber dafür muss es einen Workaround geben.