Opens in a new tab
Explainer

The GPU is still there. Why are the answers taking longer?

In brief

Unchanged code can still leave people waiting. Follow a slowing GPU pool from its operating limits to the requests it can finish, and the traffic it can safely take back.

5 min read

Is this the right starting point?
Before you read
Basic service-capacity and inference-workload familiarity; GPU clocks, queues and admission control are explained.
What you will take away
Connect device constraints to useful completions and plan a bounded demand-response and restoration rehearsal.
Sources
A Cray-2 and its cooling apparatus at Musée Bolo, photographed in 2011.
A Cray-2 and its cooling apparatus at Musée Bolo, photographed in 2011. Historical illustration of computing’s physical requirements, not evidence of modern GPU efficiency. Rama · CC BY-SA 3.0 France. Resized; uncropped.
On this page4 sections

The answer is taking longer than it did this morning. You check the release history: same application, same model. Meanwhile, more requests join the queue than the service finishes. Nothing in the code has changed, but something about the work has.

In this illustrative case, the chips running the model may be doing less work because of a power or cooling limit. These graphics processing units, or GPUs, still have the same specifications. What matters to the person waiting is how much useful work they can sustain now. A different mix of requests, a change in how requests are grouped, or a software fault could produce a similar slowdown, so the physical explanation still needs investigation.

You do not have to finish that investigation before looking after the queue. Application owners can use an agreed demand limit while infrastructure owners examine the hardware and its surroundings. Those are different responsibilities, and they can move forward together.

A lower clock needs a little context

A GPU's clock sets how many cycles its circuits attempt each second. Reducing that frequency can reduce the work completed each second, along with power demand and heat. Hardware may lower it to stay within a power or temperature limit.

NVIDIA's management documentation describes readings for clocks, power, temperature and the reasons clocks are being limited. Which fields are available depends on the device and driver. Put those readings beside the queue and the rate of completed requests. Does the device change coincide with less useful work getting through?

One low reading is not enough. A GPU with nothing to do may lower its clock quite normally. Look at demand and the reported reason, and compare devices doing similar work where possible. Otherwise, a sensible response to idleness can look like the explanation for a busy service's delay.

Suppose our hypothetical busy pool reports tighter operating limits while its queue grows. The infrastructure team can investigate power and cooling. The application team can contain incoming demand under the agreed policy. Neither team has to pretend it owns the other's controls.

Follow reduced capacity to the user symptom
Follow reduced capacity to the user symptom. One possible chain under sustained demand: a power or temperature limit reduces useful capacity, requests accumulate, and people wait longer. A lower clock alone does not establish that chain; compare the workload with device readings.
One possible chain under sustained demand: a power or temperature limit reduces useful capacity, requests accumulate, and people wait longer. A lower clock alone does not establish that chain; compare the workload with device readings.
Read diagram description

One possible chain under sustained demand: a power or temperature limit reduces useful capacity, requests accumulate, and people wait longer. A lower clock alone does not establish that chain; compare the workload with device readings. Diagram labels: Power or thermal constraint: Check relevant device event reasons; Reduced sustained capacity: Confirm fewer useful completions under demand; Arrival rate exceeds completions: Queued work grows; User impact: Longer waits, timeouts or rejected requests.

That demand limit buys room for the investigation without promising that the original capacity has returned. When useful completions recover, the same policy can guide a gradual increase in traffic. Device readings help explain the change; finished work shows what the service can actually accommodate.

The number you can keep delivering

A quick benchmark on a cool, lightly loaded device can be encouraging. It does not tell you what happens after the pool has spent a sustained period serving the requests people actually send.

A useful capacity trial needs representative request sizes, batching choices, concurrent work and power settings. Batching means processing requests together; concurrency is how much work is in progress at once. Run the approved trial long enough to observe heating and queues, rather than treating the first burst of completions as the capacity plan.

Watch what finishes usefully, not just how busy the GPUs look. Retries can occupy a device without completing another person's task. Inefficient batches can do much the same. Compare arriving work with useful completions to understand how much room remains for a burst of demand or a loss of hardware performance.

The facility matters, too. Whether power can be reduced, how much warning you receive and what restoration commitments apply depend on the provider, contract and operation. Ask those questions about the environment you actually use. A control available in one location is not a promise about another.

Make the next request an explicit choice

When the pool cannot keep up, accepting everything does not make everything finish. It can turn a capacity problem into a steadily longer wait. Admission control makes the choice before the queue grows without limit: accept the next request, defer it or reject it under the agreed policy.

Moving work elsewhere may help, but the destination needs a compatible model, suitable access to the data and spare capacity. A smaller model or a shorter answer may also reduce the work, but changes what the person receives. That is a product choice whose quality needs evaluation, not an invisible substitute for restoring the original service.

A restart is no substitute for power or cooling either. It may add model-loading work and remove information useful to the investigation. Responders need a route to the infrastructure owner and a clear condition under which they may change demand, not a restart as the only available gesture.

Even recovery brings work with it. Models load, caches refill with reusable data, and old requests wait alongside new ones. Returning all traffic as soon as a warning clears can consume the spare capacity immediately. Bring demand back gradually while watching useful completions.

Practise the smaller service, not an overheated machine

You can rehearse this response without overheating equipment. Use an approved, controlled reduction in capacity in a test environment. Infrastructure owners handle device settings; application responders practise the demand response they actually own.

Watch the queue bounds, requests that time out, messages shown to users and the return of traffic. Connect the procedure to the service-level objective, or SLO, the service's agreed reliability target, and to its capacity plan. The next responder should be able to find both the available containment action and the observations needed before restoring more demand.

Back in our illustrative slowdown, a warning disappears and the team starts returning traffic. If the queue grows again, arrivals are still outpacing completions. Pause the return at the demand the pool can sustain and keep the agreed limit in place while investigation continues. The person waiting for an answer benefits from work that finishes, not merely from a warning that has gone away.

Sources & context

Sources linked in this article. Read alongside the author’s analysis; a citation does not independently verify a publisher’s claims.

Report an error or outdated detail

Keep reading

Where to go next