Plutux

Sub-system

Serving engines: scheduling requests onto accelerators

A serving engine is the software between an API request and the accelerator. Its job is to keep the hardware saturated with work from many concurrent requests while none of them waits too long, and the techniques it uses are worth several times more than the difference between adjacent chip generations.

In one sentence

A serving engine is the runtime that schedules many concurrent inference requests onto accelerators — batching them dynamically, managing the memory each holds, and applying decoding optimisations to raise throughput without breaking latency targets.

The naive approach — collect a fixed batch, run it to completion, collect the next — wastes most of the hardware. Requests finish at different times, so the batch runs at the pace of its longest member while finished slots sit idle. Modern engines instead admit and retire requests continuously, so a finished request's slot is refilled on the very next step.

The second problem is memory. Each in-flight request holds a cache of its context that grows as it generates. Reserving the worst case for every request wastes most of the memory; managing it in small pages, allocated on demand, allows far more concurrent requests on the same hardware.

How it works

Continuous batching

The scheduler works at the granularity of one generation step rather than one request. Every step it decides which live requests advance, admits new ones into free slots, and retires finished ones. That single change typically multiplies throughput, because the accelerator stops waiting for the slowest member of a fixed batch.

Paged attention memory

The context cache is stored in fixed-size blocks with an index, rather than one contiguous reservation per request. Blocks are allocated as generation proceeds and freed immediately at completion, and identical prefixes across requests can share the same blocks — which matters enormously when many requests share a long system prompt.

Speculative decoding

A small, fast model proposes several tokens ahead; the large model verifies them in a single pass and accepts the prefix that matches what it would have produced. Because verification is one arithmetic-heavy pass rather than several bandwidth-bound ones, accepted tokens come almost free. The output is identical to what the large model would have generated alone.

What this depends on

Technology dependencies are solved by engineering; supply dependencies are solved by building something, which takes years.

  • Technology

    Optimised attention and matrix kernels

    The engine's scheduling only helps if the underlying kernels reach a high fraction of the hardware's capability.

    Programming models
  • Technology

    Context cache management

    How many requests fit at once is decided by cache memory management more than by anything else in the system.

    Context and caching
  • Technology

    Cluster routing and autoscaling

    Above one node, a router that places requests where the relevant cache and weights already live is part of the engine's job.

    Cluster orchestration
  • Technology

    Quantisation

    Most of the memory and bandwidth headroom the scheduler exploits comes from serving weights at reduced precision. At full precision far fewer requests fit on a device and the batching machinery has much less to work with.

    Quantisation
  • Technology

    Scale-up interconnect for large models

    A model whose weights exceed one device is served across several joined into one memory domain, and every token crosses that link. If it is slow, per-token latency is set by the network rather than by the arithmetic.

    Scale-up fabrics

What depends on this

Other pages in this map that name Serving engines as something they cannot do without.

Who supplies this

What each company supplies at this step, and — where a public figure exists — its share of this specific market — with what that share measures, the period it covers and who published it. Some rows also show the company’s own reported revenue for the segment covering this step, which is a different thing: it says how much this business matters to that company, not how much of the market it holds. Not a ranking and not a recommendation.

  • NVIDIANVDA

    Supplies TensorRT-LLM, Triton and Dynamo, the serving stack tuned to its own accelerators.

  • International Business MachinesIBM

    Sponsors vLLM through Red Hat, the open engine most self-hosted serving now uses.

  • Together AIPrivate

    Operates a serving platform and contributes the kernels behind much of the open tooling.

  • Fireworks AIPrivate

    Operates a hosted inference platform tuned for low latency on open weights.

  • BasetenPrivate

    Supplies managed serving infrastructure for teams deploying their own models.

  • DatabricksPrivate

    Serves models inside the same platform that holds the customer's data.

  • AlphabetGOOGL

    Maintains the serving stack for its own accelerators, and the port that runs the open engines on them.

  • MicrosoftMSFT

    Operates the largest hosted serving fleet, and maintains the runtime under much of the non-GPU inference.

  • Amazon.comAMZN

    Serves other developers' models as a product, which is where most enterprise inference is actually executed.

  • Advanced Micro DevicesAMD

    Funds the work that keeps the open engines running on its accelerators, which is the condition of them being bought at all.

  • Hugging FacePrivate

    Maintains the serving library and endpoints most teams use before they operate their own.

  • AnyscalePrivate

    Supplies the serving layer built on Ray, used where inference sits inside a larger distributed application.

What would change the picture

  • Whether prompt-processing and token-generation phases are increasingly run on separate, differently specified hardware pools.

  • Whether open serving engines remain the default over vendor-specific runtimes.

  • How much of the remaining gap to theoretical hardware limits is left for scheduling to close.

Questions people ask about this

How much does the serving engine actually matter?
A great deal. Moving from fixed batching with reserved cache memory to continuous batching with paged memory routinely multiplies throughput on identical hardware. It is normally the cheapest large improvement available to anyone serving models at scale.
Does speculative decoding change the answer?
No. The large model verifies each proposed token and rejects any that differ from what it would have produced, so the output distribution is preserved. The gain comes from checking several tokens in one pass instead of generating them one at a time.

How these pages are written

Each page explains one technology in plain language, states what it depends on, and names companies by what they supply at that step. Company roles are described qualitatively and deliberately carry no market shares, revenue figures or rankings — those change faster than an explainer can, and a stale number is worse than none. Ticker links point at company pages on this site and are provided for reference only.

Nothing here is investment advice, a recommendation, or a forecast. A company named on a page about a technology is not thereby a good investment, and the chokepoints described are structural facts about supply chains rather than predictions about prices. Technology moves; where a page describes something as unresolved or in development, that was true when it was written.

Plutux는 투자자문업자가 아닙니다. 시장 데이터와 AI가 생성한 분석은 정보 제공 및 교육 목적일 뿐 투자 자문이 아닙니다. 면책 조항

© Plutux Technology Limited 2026
Serving engines — Inference and serving: How It Works and What It Depends On | Plutux