DriftSched: Adaptive QoS-Aware Scheduling under Runtime Token Drift for Multi-Tenant GPU Inference
This paper presents DriftSched, a QoS-aware scheduling framework for multi-tenant LLM inference that utilizes an online feedback mechanism to correct runtime token estimation errors, demonstrating that while adaptive calibration significantly improves estimation accuracy, the Shortest-Job-First (SJF) scheduling policy yields the most substantial reductions in end-to-end and tail latency.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine you are running a very popular restaurant with only one kitchen (the GPU) and one chef. You have three types of customers:
- VIPs (Premium): Who want their food fast and are willing to pay extra.
- Regulars (Standard): Who just want a normal meal.
- Bulk Buyers (Batch): Who are ordering huge catering trays and don’t mind waiting.
The problem? The kitchen gets overwhelmed. Orders pile up, and some people wait forever while others get served quickly. The chef needs to decide who to cook for next. This is called "scheduling."
The Core Problem: Guessing the Workload
To decide who to serve next, the scheduler needs to know how much work each order is.
- Is it a simple salad (short job)?
- Or is it a complex 5-course meal (long job)?
If the scheduler guesses wrong, chaos ensues. If it thinks a huge catering order is small, it might serve it before a VIP’s quick appetizer, causing the VIP to wait too long. This is called "Workload Misclassification."
The Two Ways to Guess
The paper, DriftSched, tests two ways to guess how big an order is:
- The "Lazy Guess" (Whitespace Proxy): Imagine counting the words in the order ticket. If it has 10 words, it’s probably small. If it has 100, it’s big. This is fast and easy for the host to do, but it’s inaccurate. A short sentence can be complex to cook, and a long sentence might be simple.
- The "Expert Guess" (Tokenizer-Aware): Imagine the host actually reading the recipe and knowing exactly how many ingredients and steps are involved. This is accurate, but it takes a little more time and effort for the host to calculate.
The Solution: DriftSched
DriftSched is a smart system that manages this restaurant. It has a special feature called "Adaptive Calibration" (or EMA).
Think of it like this: If the host uses the "Lazy Guess" and realizes they consistently underestimated how long a "Technical Report" meal takes, DriftSched learns from its mistakes. It says, "Ah, every time we guess a Technical Report is small, it actually takes 20% longer. Next time, I’ll add 20% to the estimate."
Over time, the "Lazy Guess" becomes almost as good as the "Expert Guess" because the system corrects its own errors based on what actually happened in the kitchen.
The Five Scheduling Strategies
The paper tested five different rules for deciding who eats next:
- FIFO (First-In, First-Out): Like a standard ticket line. First come, first served. Fair, but if a Bulk Buyer is ahead of you with a huge order, you wait forever.
- Priority: VIPs always jump to the front of the line. Regulars and Bulk Buyers wait. Great for VIPs, terrible for everyone else.
- Weighted: A compromise. VIPs get served 50% of the time, Regulars 30%, and Bulk Buyers 20%. Everyone gets a turn, but VIPs get more.
- SJF (Shortest-Job-First): The chef always picks the smallest, quickest order next, regardless of who ordered it. If a Bulk Buyer has a tiny side dish, it gets cooked before a VIP’s main course.
- Aging Priority: Like Priority, but if a Bulk Buyer waits too long, their ticket gets a "stamp" that boosts their priority so they don’t starve.
What Did They Find?
1. Accuracy Matters, But Strategy Matters More
Using the "Expert Guess" (Tokenizer) is better than the "Lazy Guess" (Whitespace). However, the rule you use to pick the next customer (the Scheduling Policy) has a much bigger impact on wait times than how accurately you guessed the order size.
2. SJF is the Speed King
The Shortest-Job-First (SJF) rule was the fastest. It reduced the average wait time by about 42% compared to the standard line (FIFO). Why? Because by clearing out all the tiny, quick orders first, the kitchen stays busy and efficient, and fewer people are stuck waiting behind one giant order.
3. Priority is the VIP King
If you care about keeping the VIPs happy, Priority Scheduling is the best. VIPs waited only ~77 seconds, while Bulk Buyers waited ~427 seconds. SJF, on the other hand, didn’t care who you were; it just cared about how small your order was. In fact, under SJF, Bulk Buyers sometimes got served faster than VIPs because their orders happened to be smaller.
4. The "Lazy Guess" Can Be Fixed
The system’s self-correction feature (EMA) worked well. When using the inaccurate "Lazy Guess," the system learned to adjust its estimates over time, reducing errors by about 40%. However, if you already use the "Expert Guess," the self-correction doesn’t help much because the guesses were already accurate.
The Bottom Line
- If you want the fastest overall service: Use SJF (Shortest-Job-First). It clears the queue fastest.
- If you want to protect your most important customers: Use Priority Scheduling. It guarantees VIPs get served first, even if it makes others wait longer.
- Don’t worry too much about perfect guessing: Even if you use a rough estimate of how long an order takes, the scheduling rule you choose (SJF vs. Priority) matters much more for the final wait time. But if you can guess accurately (using the Tokenizer), the system runs smoother.
In short: How you line up the customers matters more than how perfectly you estimate their order size.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.