Models
Gleiches Cluster, 33 Punkte mehr Auslastung -- die Reihenfolge macht den Unterschied
Ein Team von Dharma-AI hat gezeigt, dass GPU-Auslastung nicht nur eine Frage der Hardware ist, sondern massiv von der Reihenfolge der Allokationsentscheidungen abhängt. Mit einem constraint-basierten Allocator erreichten sie auf identischer Hardware und identischen Workloads bis zu 33 Prozentpunkte mehr Auslastung und bis zu 105 Prozent mehr prioritaetsgewichteten Output – ohne eine einzige GPU hinzuzufügen.
Das FIFO-Problem
Herkommliche FIFO-Scheduler reservieren GPUs für Real-Time-Inference basierend auf der Tagespitzenlast und halten sie den ganzen Tag blockiert. Eine Anwendung, die mittags 6 GPUs braucht und um 4 Uhr morgens nur 2, hält alle 6 den ganzen Tag – die 4 ungenutzten sind für keinen Batch-Job verfügbar. Unter Contention kommt das Bestell-Problem hinzu: FIFO ignoriert Prioritäten und platziert Jobs in Ankunftsreihenfolge, sodass hochpriorisierte Arbeit hinter dem wartet, was zuerst kam.
Der constraint-basierte Allocator
Die Alternative behandelt Real-Time-Demand als Kurve statt als Decke. Batch-Jobs füllen die Taeller außerhalb der Spitzenzeiten, begrenzt durch eine Obergrenze für GPU-Wechsel zwischen Timesteps. Batch-Jobs werden nach Priorität über den gesamten Zeitraum platziert statt nach Ankunftsreihenfolge. Funf Constraints definieren eine legale Allokation: eine GPU pro Job pro Timestep, kontinuierliche Blöcke für Batch-Jobs, Real-Time-Swap-Limits und kein Preemption laufender Jobs.
Die Zahlen
In sieben Benchmark-Szenarien stieg die Auslastung von einem 52-85 Prozent Band auf 72-88 Prozent. Der stärkste Fall war ein Training-Heavy-Workload auf 8 GPUs: Auslastung von 53,6 auf 87,0 Prozent, bei dem sich der Wert mehr als verdoppelte. Ein Scale-Test mit 30 Jobs auf 64 GPUs zeigte identische Auslastung (44,9 Prozent) und identischen Durchsatz (27 von 30 Jobs) – aber der Allocator lieferte 15,9 Prozent mehr prioritaetsgewichteten Output. Das Dashboard allein würde den Unterschied nicht sehen.
Die zentrale Erkenntnis: Auslastung ist notwendig, aber Priorität ist was daraus Wert macht. Ein Scheduler der Priorität nicht bewertet, kann das Cluster auf genau dasselbe Level füllen, dieselbe Anzahl Jobs beenden, und trotzdem weniger Wert liefern.
Link: HuggingFace Blog - Same Cluster, 33 Points More Utilization