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 abhaengt. 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 hinzuzufuegen.
Das FIFO-Problem
Herkommliche FIFO-Scheduler reservieren GPUs fuer 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, haelt alle 6 den ganzen Tag – die 4 ungenutzten sind fuer keinen Batch-Job verfuegbar. Unter Contention kommt das Bestell-Problem hinzu: FIFO ignoriert Prioritaeten 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 fuellen die Taeller ausserhalb der Spitzenzeiten, begrenzt durch eine Obergrenze fuer GPU-Wechsel zwischen Timesteps. Batch-Jobs werden nach Prioritaet ueber den gesamten Zeitraum platziert statt nach Ankunftsreihenfolge. Funf Constraints definieren eine legale Allokation: eine GPU pro Job pro Timestep, kontinuierliche Bloecke fuer 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 staerkste 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 wuerde den Unterschied nicht sehen.
Die zentrale Erkenntnis: Auslastung ist notwendig, aber Prioritaet ist was daraus Wert macht. Ein Scheduler der Prioritaet nicht bewertet, kann das Cluster auf genau dasselbe Level fuellen, dieselbe Anzahl Jobs beenden, und trotzdem weniger Wert liefern.
Link: HuggingFace Blog - Same Cluster, 33 Points More Utilization