Yandex a partagé son expérience pratique sur la façon dont ils ont appris à prioriser le trafic ML dans les réseaux InfiniBand des clusters GPU, afin que les tâches importantes ne soient pas ralenties par les lancements voisins.
Points clés :
InfiniBand utilise un Subnet Manager centralisé (OpenSM) qui gère l'adressage, le routage et les politiques QoS via une combinaison de Service Level (SL) et de Virtual Lanes (VL).
La QoS se construit ainsi : le trafic de différents types est « coloré » dans différents SL, qui sont mappés à des VL avec différentes priorités et poids ; dans le schéma de test, SL1 reçoit 80 % de la bande passante, SL0 — 20 %.
Dans les clusters YATI, plusieurs entraînements de différents utilisateurs partagent une même fabrique InfiniBand, donc sans QoS, les entraînements volumineux et critiques sont facilement « noyés » par des tâches parallèles.
Sur un cluster FatTree avec HDR, ils n'ont d'abord vu aucun effet jusqu'à ce qu'ils créent artificiellement une sursouscription (en désactivant une partie des commutateurs spine), après quoi le trafic SL1 a réellement commencé à évincer SL0 en cas de concurrence.
Dans DragonFly+, c'est plus complexe : le routage utilise différents VL pour le chemin direct et les sauts +1/+3, afin d'éviter un credit loop deadlock dans un réseau sans perte, donc le mappage SL→VL fait partie du plan de contrôle, et le nombre de « couleurs » disponibles est effectivement réduit.
Finalement, Yandex a transformé la QoS en un mécanisme produit : le planificateur d'entraînement marque les grands entraînements (selon un seuil de GPU par cluster, configurable pour chaque cluster) comme prioritaires, un agent sur l'hôte recolore leur trafic en SL1, les autres vont en SL0 — même si l'utilisateur a essayé de définir ses propres SL.
Ensuite, cette même approche sera utilisée pour séparer l'entraînement et l'inférence multi-hôtes, en donnant la priorité à l'inférence en temps réel sur le réseau.
La QoS dans InfiniBand n'est pas simplement des « files d'attente sur le port », mais une combinaison étroite avec la topologie et le moteur de routage (surtout dans DragonFly+), sinon on risque soit une absence d'effet, soit un risque de deadlocks.
#yandex #infiniband #qos #gpu #ml #mlops #networking #dragonflyplus #cloud #infrastructure
Commentaires
0Aucun commentaire pour le moment.
Connectez-vous pour participer à la discussion.