Yandex hat praktische Erfahrungen geteilt, wie sie gelernt haben, ML-Traffic in InfiniBand-Netzwerken von GPU-Clustern zu priorisieren, damit wichtige Aufgaben nicht durch benachbarte Starts in der Geschwindigkeit einbrechen.
Wichtige Punkte:
InfiniBand verwendet einen zentralisierten Subnet Manager (OpenSM), der Adressierung, Routing und QoS-Richtlinien über die Kombination von Service Level (SL) und Virtual Lanes (VL) verwaltet.
QoS funktioniert so: Traffic verschiedener Typen wird in verschiedene SL „eingefärbt“, die auf VL mit unterschiedlicher Priorität und Gewichtung abgebildet werden; im Testschema erhält SL1 80% der Bandbreite, SL0 20%.
In den YATI-Clustern teilen sich mehrere Trainings verschiedener Benutzer eine InfiniBand-Fabric, daher werden große und kritische Trainings ohne QoS leicht von parallelen Aufgaben „überflutet“.
Bei einem FatTree-Cluster mit HDR sahen sie zunächst keine Wirkung, bis sie künstlich eine Überzeichnung erzeugten (Deaktivierung einiger Spine-Switches), woraufhin der SL1-Traffic bei Konkurrenz tatsächlich begann, SL0 zu verdrängen.
Bei DragonFly+ ist es komplizierter: Dort verwendet das Routing verschiedene VL für den direkten Pfad und +1/+3 Hop, um Credit-Loop-Deadlocks in einem verlustfreien Netzwerk zu vermeiden, daher wird die SL→VL-Abbildung Teil der Control Plane und die verfügbare Anzahl an „Farben“ reduziert sich faktisch.
Letztendlich hat Yandex QoS zu einem produktiven Mechanismus gemacht: Der Trainingsplaner markiert große Trainings (nach GPU-Schwellenwert pro Cluster, für jeden Cluster konfigurierbar) als priorisiert, ein Agent auf dem Host färbt deren Traffic in SL1 um, der Rest geht in SL0 – selbst wenn der Benutzer versucht hat, eigene SL zu setzen.
Als nächstes planen sie, denselben Ansatz zur Trennung von Training und Multi-Host-Inferenz zu verwenden, wobei Echtzeit-Inferenz über das Netzwerk priorisiert wird.
QoS in InfiniBand ist nicht nur „Warteschlangen am Port“, sondern eine enge Verknüpfung mit Topologie und Routing-Engine (insbesondere bei DragonFly+), sonst erhält man leicht entweder keine Wirkung oder das Risiko von Deadlocks.
#yandex #infiniband #qos #gpu #ml #mlops #networking #dragonflyplus #cloud #infrastructure
Комментарии
0Комментариев пока нет.