← L'édition
IANouveau4 min de lecture

Sur un même cluster GPU, l’ordre des requêtes a fait gagner 33 points d’utilisation

Dans un article publié le 17 août 2026, Dharma AI explique qu’un ordonnanceur (scheduler) sensible aux contraintes a augmenté l’utilisation GPU jusqu’à **33 points** sur les mêmes machines et avec les mêmes charges de travail. Le résultat tient moins à une nouvelle puissance de calcul qu’à une règle simple : changer l’ordre dans lequel les jobs (tâches) sont placés. ([huggingface.co](https://huggingface.co/blog/Dharma-AI/gpu-management-pt2))

Fil « Optimiser l’utilisation GPU par l’ordre des requêtes »

Illustration de l'article — huggingface.co
Image : huggingface.co

Le point de départ est un comparatif contre un ordonnanceur FIFO (first in, first out : premier arrivé, premier servi), avec sept scénarios de benchmark (tests de référence) sur un cluster GPU identique. Selon l’article, l’utilisation GPU a gagné jusqu’à 33 points de pourcentage, et la valeur pondérée par priorité a augmenté dans tous les cas, jusqu’à 105,1 %. Les auteurs insistent sur un point important : le matériel n’a pas changé, seule la logique d’allocation a changé. (huggingface.co)

Ce qui bloque un cluster GPU en pratique

L’article rappelle qu’un cluster ne gère pas un seul type de charge. Il faut faire cohabiter de l’entraînement (training), de l’inférence temps réel (réponses servies à la demande), de l’inférence par lots (batch inference, exécution en paquet) et de la quantification (réduction de taille/format d’un modèle). Ces workloads (types de tâches) n’ont pas les mêmes contraintes : certaines demandent des blocs continus de GPU, d’autres doivent absorber des variations de trafic minute par minute. (huggingface.co)

Le problème du FIFO, selon les auteurs, est qu’il traite l’ordre d’arrivée comme une règle neutre, alors qu’en situation de contention (quand plusieurs jobs se disputent les mêmes GPU), cet ordre devient une décision de capacité. Ils montrent aussi qu’un système qui réserve à l’avance un maximum de GPU pour l’inférence temps réel peut immobiliser des ressources pendant des heures creuses : des GPU sont alors réservés, mais inutilisables pour les autres jobs. (huggingface.co)

Ce que fait l’allocateur proposé

La solution décrite n’est pas une simple liste de règles locales. L’article parle d’un problème d’optimisation combinatoire NP-difficile (donc coûteux à résoudre exactement), encodé avec des contraintes globales : un GPU ne sert qu’à un job par créneau, un job commencé ne peut pas être interrompu, les tâches batch doivent occuper des blocs contigus, et l’inférence temps réel a une limite sur le nombre de GPU qu’elle peut faire varier entre deux pas de temps. Un terme de pénalité protège la disponibilité temps réel : le manque de GPU sur ce type de charge coûte 5 à 10 fois plus cher qu’un GPU-timestep (un GPU sur un intervalle de temps) de travail batch équivalent. (huggingface.co)

Concrètement, l’allocateur regarde tout le stock de jobs en attente avant de placer le premier, puis il renvoie une grille de placement en 1 à 2 millisecondes sur les scénarios de contention, et 15 millisecondes dans le test à 64 GPU et 30 jobs. L’article distingue un mode rapide, utilisé sur le chemin critique (hot path, chemin d’exécution direct), et un mode complet qui repart de ce premier plan pour tenter de l’améliorer. C’est cette vue d’ensemble, plus que l’heuristique (règle pratique) elle-même, qui permet de garder des formes de placement compatibles avec les jobs restants. (huggingface.co)

Ce que ça change pour une équipe qui exploite de l’IA

Le point le plus utile pour une équipe produit n’est pas seulement “plus d’utilisation”, mais “plus d’utilisation avec plus de valeur”. L’article montre qu’un scénario peut afficher la même occupation GPU côté tableau de bord et pourtant produire un résultat économique différent : dans le test de scale (mise à l’échelle), FIFO et l’allocateur affichent tous deux 44,9 % d’utilisation et 27 jobs terminés sur 30, mais l’allocateur génère 15,9 % de valeur pondérée en plus. Autrement dit, remplir les GPU ne suffit pas ; il faut aussi prioriser ce qui rapporte vraiment. (huggingface.co)

Pour une équipe d’ingénierie IA, la leçon est simple : l’optimisation GPU ne se limite pas à ajouter des machines ou à réduire la taille des modèles. Elle passe aussi par la politique d’ordonnancement (qui passe avant qui), la qualité des prévisions de charge et la manière de gérer les pics sans immobiliser le cluster toute la journée. L’article défend une approche de type “optimiser la journée, engager seulement l’heure courante” : planifier sur 24 heures, mais ne figer que le créneau courant, puis relancer le calcul toutes les 30 à 60 minutes pour absorber l’erreur de prévision au lieu de la laisser s’accumuler. (huggingface.co)