🛠️ Behind the scenes of Ai2’s GPU scheduler: Design decisions, rollout lessons, & what’s next
We’re sharing the engineering work behind Ai2’s GPU scheduler—our new approach to allocating compute across research teams. 👇
On our largest H100 cluster, median queue wait fell from 5 minutes to 24 seconds.
Under our old scheduler, every scheduled workload eventually used HIGH priority. Some researchers kept idle jobs running to reserve GPUs for experiments. The incentives rewarded holding on to capacity even when there were no active jobs.
Managers now assign GPU-time budgets to research programs & projects. Our fair-share scheduler compares recent use with those budgets, moving work from underused allocations ahead in-queue.
Jobs declare the minimum runtime needed to make progress. Budgeted work is protected until then. Afterward, it can keep running or be interrupted; resumable jobs return to the queue.
Over a 30-day test with our new scheduler, teams received 98% of the GPU hours they were owed, accounting for actual demand. Cluster occupancy stayed at 98%, with spare capacity available to interruptible work that didn’t draw down a team’s budget.
📝 Read more about the design decisions behind our scheduler, rollout lessons, & what we’re tackling next: https://allenai.org/blog/impactful-scheduling