YC Paper Club · Edition 03Talk 5 / 6 · Inference infrastructure · advanced
  1. 1Specialized Chips
  2. 2ParallelKittens
  3. 3Intelligence / Watt
  4. 4AI Writes Kernels
  5. 5Heterogeneous AI
  6. 6Madrona

Why AI Inference Needs Heterogeneous Hardware — One Request, Many Engines.

Jul 30, 2026 · paperjuice · 10 min read · 2147 words advanced

Why AI Inference Needs Heterogeneous Hardware — One Request, Many Engines.

Presented by Misha Smelyanskiy (Marlo)

paperjuiceinferencehardwareservingarchitecture

Misha Smelyanskiy begins with an important disclaimer: this talk contains no benchmark data. He makes a first-principles case for workload-optimized heterogeneous infrastructure because inference phases stress compute, networking, storage, and memory bandwidth differently.

There is no single inference bottleneck. It moves as the request moves through orchestration, prefix-cache lookup, prefill, KV-cache handling, autoregressive decode, and speculative decoding.

Split the token loop first

Transformer inference has two visibly different phases. Prefill processes the prompt in parallel and builds the key-value cache; it benefits from high compute throughput. Decode generates one token at a time, repeatedly reading model weights and cache; it is often limited by memory bandwidth and latency. A GPU selected for maximal prefill throughput can be a costly, power-hungry decode engine.

A CPU system orchestrates, schedules, and batches the prompt. The system checks a prefix cache; uncached prompt tokens enter compute-intensive prefill. KV-cache creation may involve CPU or accelerator memory and network transfer. Decode produces one token at a time and is memory intensive and latency sensitive.

Lifecycle of an inference request: user request, CPU orchestration and prefix-cache lookup, accelerator prefill, growing KV state, token-by-token decode with optional speculative decoding, and the streamed output
One request crosses several hardware regimes. Compute dominates prefill; capacity and bandwidth shape KV state; latency and bandwidth constrain the decode loop. Swipe horizontally on a small screen to inspect every phase.

The roofline test

Misha uses arithmetic intensity: FLOPs divided by bytes moved. Above a machine’s peak-FLOPs-to-bandwidth ratio, work tends to be compute-bound; below it, memory-bandwidth-bound. Prefill can reuse weights across prompt tokens and is generally compute-bound. Decode advances one token at a time, so attention and even practical-batch MLP work are often bandwidth-bound.

Roofline comparison of transformer prefill and decode: prefill processes many tokens together and reaches higher arithmetic intensity, while token-by-token decode has low arithmetic intensity and is usually constrained by memory bandwidth
Prefill reuses weights across many tokens, increasing arithmetic intensity and favoring compute. Decode handles one new token per stream, so attention and small-batch MLP work remain bandwidth-bound. Swipe horizontally on a small screen to inspect the equations.

Disaggregation turns hardware into a scheduler problem

Interactive chat, long-context questions, coding agents, and long-running agents occupy different mixes of prefill and decode, concurrency, and latency. That variety is the basis for specialization.

Why an SRAM machine can help decode

An SRAM-oriented accelerator keeps much more of a weight matrix on die, offering high bandwidth and low latency for decode’s matrix-vector work. Its catch is capacity: on-die memory is limited by chip area, so large models must be sharded without losing the benefit.

Three disaggregation examples

  1. Prefill and decode: system A prefills and system B decodes. B is worthwhile only when its speedup offsets its added power. Short outputs can lose money; longer outputs spend enough time decoding to cross the break-even point.
  2. Attention and MoE: GPUs excel at high concurrency, but throughput falls as concurrency drops for interactivity. Offloading bandwidth- and latency-sensitive work to a second system can extend the responsive range, even if it is not the cheapest high-throughput configuration.
  3. Speculative decoding: system B runs the drafter while A runs the verifier. A faster or larger drafter can improve token acceptance and latency, and several verifiers may share it.

The full-stack bill

Heterogeneous systems change data-center power density, cooling, and rack configuration. Every A-to-B transfer makes network topology part of latency. Misha says co-design also needs a well-calibrated simulator to explore many design points.

The previous article introduced retrieval, tool execution, safety checks, local routing, observability, and resilience. Those are plausible topics, but Misha did not discuss them here, so they have been removed.

The takeaway

The argument is conditional: split a workload only when phase-specific gains exceed added power, networking, and system cost. Arithmetic intensity, sequence shape, concurrency, and latency identify candidates; calibrated measurement must eventually prove them.

Begin with the complete request, not the accelerator

Misha’s lifecycle diagram is a useful antidote to a common simplification. An inference request is often summarized as “run the model on a GPU.” In reality, a user or API creates a request, CPU software authenticates and schedules it, caches are consulted, prompt tokens are processed, KV state is stored, new tokens are generated, and output is streamed.

Each phase has a different unit of work. Orchestration handles control flow and queues. Prefix lookup handles metadata and stored state. Prefill performs dense parallel computation across prompt tokens. KV storage consumes capacity and bandwidth. Decode repeats a latency-sensitive loop. Speculative decoding introduces a draft-and-verify pipeline.

Arithmetic intensity step by step

Arithmetic intensity divides useful floating-point operations by bytes transferred from memory. If an operation performs many calculations on each fetched byte, adding compute helps. If it performs little work before needing more data, memory bandwidth sets the limit.

The machine ratio divides peak arithmetic throughput by peak memory bandwidth. The roofline model compares application intensity with this ratio. Below it, attainable FLOPs rise with bandwidth. Above it, the operation approaches the machine’s compute ceiling.

This is a first-order model. Real kernels encounter cache effects, instruction dependencies, launch overhead, synchronization, imperfect vectorization, and network traffic. Yet the model is powerful because it identifies the resource that no amount of unrelated optimization can overcome.

Why prefill has higher intensity

Prefill receives many prompt tokens together. A weight tile loaded from memory can participate in computation for several tokens before it is discarded. In attention, work grows with sequence relationships; in dense layers, batching tokens turns matrix-vector behavior into more efficient matrix-matrix work.

As the product of batch and sequence length grows, the same weights are reused more. Arithmetic intensity rises and the accelerator’s compute units become valuable. Prefill therefore often favors GPUs or accelerators with high matrix throughput.

Why decode falls toward bandwidth

Autoregressive decode produces one new token per active stream at each step. The model weights must be visited again for a small amount of new work. Attention reads the growing KV history. If the active batch is modest because users need low latency, there is not enough reuse to amortize those bytes.

The roofline illustration shows attention intensity near one in a simplified decode case and dense-layer intensity related to batch size. These formulas are approximations, not universal performance predictions. Their purpose is to show why larger batches help and why interactive decode remains difficult.

Context length changes the request over time

The KV cache grows as tokens accumulate. Early decode steps read a short history; later steps read more state. Long conversations therefore increase both memory capacity and bandwidth pressure. The bottleneck moves even within one decode stream.

Cache layout, quantization, paging, and eviction policies can matter as much as raw arithmetic. A system that fits weights comfortably may still fail when many long-context users create enormous KV state.

Different products occupy different points

An interactive chat may have a moderate prompt, a moderate answer, and a strict time-to-first-token target. A document-analysis request may spend most of its time in prefill. A coding agent may alternate long prompts, tool pauses, and long generations. An overnight agent can accept relaxed latency while sustaining high concurrency.

Therefore a benchmark with one input length, output length, and batch cannot select infrastructure for every product. Builders need distributions: percentiles of prompt size, generation size, concurrency, and latency objectives.

Inference workload space plotted by input and output length. Interactive chat has short inputs and outputs with low concurrency and strict latency. Long-context queries have long inputs and short outputs dominated by prefill. Coding agents have longer inputs and outputs. Long-running agents combine long inputs, long outputs, and high concurrency.
There is no single representative inference request. Input-heavy workloads emphasize compute-heavy prefill; output-heavy workloads emphasize bandwidth-heavy decode; concurrency and latency determine whether those phases can be efficiently batched. Swipe horizontally on a small screen to inspect each workload.

SRAM machines in plain language

HBM offers large capacity and high bandwidth, but data still travels from separate memory stacks into compute. SRAM placed on the processor die is much closer and can expose enormous bandwidth with low latency. Keeping weights in SRAM makes repeated matrix-vector operations attractive.

The physical cost is area. SRAM consumes many transistors, so capacity is far smaller than HBM. A large model must span many chips. Once sharded, inter-chip communication becomes part of every layer, and the system must prove that network cost does not consume the SRAM advantage.

Comparison of batch-one decode GEMV on a GPU with off-chip HBM and an SRAM machine with weights beside compute. HBM provides much greater capacity but streams the weight matrix across the package for every decoded token. Local SRAM provides far higher bandwidth and a lower ideal read-time floor, but its smaller capacity requires model weights to be sharded across chips or a wafer.
At batch one, decode performs roughly one operation per weight byte, so moving the matrix can set the latency floor. Local SRAM shortens that path and exposes massive parallel bandwidth, but the comparison is not a complete benchmark: limited SRAM capacity, model sharding, communication, utilization, and end-to-end overhead still determine whether a real system wins. Swipe horizontally on a small screen to inspect the comparison.

Disaggregating prefill and decode

Let system A excel at compute-heavy prefill and system B excel at bandwidth-heavy decode. Requests begin on A, then their KV state becomes available to B. The pools scale independently: more A capacity for long prompts, more B capacity for long outputs.

The split pays only when B’s decode acceleration offsets its added power, capital, and transfer cost. A workload with short outputs barely uses B and may lose total-cost efficiency. A workload with long outputs spends enough time on B to justify it.

This break-even changes with KV transfer bandwidth, queueing, and utilization. If A and B cannot be kept busy simultaneously, specialization creates stranded capacity rather than savings.

Attention and MoE disaggregation

Attention and mixture-of-experts layers do not stress hardware identically. Attention interacts with sequence state and can be bandwidth-sensitive. Expert MLPs can create larger dense computations but also require token routing.

At high concurrency, a GPU batches enough work to deliver excellent throughput. As concurrency falls for interactivity, kernels shrink, overheads become visible, and memory bandwidth is used inefficiently. A second system optimized for low-batch bandwidth can extend the latency range that the service supports.

Misha does not claim this always minimizes cost. He explicitly frames a region where interactivity matters more than the best high-concurrency TCO. Product requirements determine whether that trade is rational.

Speculative decoding across systems

A draft model proposes several future tokens. The main model verifies them together and accepts a prefix. Speed depends on how quickly the drafter proposes and how often the verifier accepts.

If system B can run a stronger drafter at low latency, acceptance may rise. System A remains the authoritative verifier. Several verifier instances may share draft capacity, improving utilization. But network latency between draft and verify steps can destroy the gain, so topology is part of the algorithm.

Networking is not a footnote

Every heterogeneous boundary creates a transfer. Prefill-to-decode moves KV state. Attention-to-expert partitioning moves activations. Speculative systems exchange draft tokens and verification results. The data path must be included in the critical path.

Placement matters: devices in one server, rack, or data hall experience different latency and bandwidth. Network protocols, serialization, congestion, and failure recovery add costs absent from an isolated accelerator benchmark.

Data-center consequences

Different systems may require different power density and cooling. A rack designed for GPUs may not suit a wafer-scale or SRAM-heavy system. Operators need spare capacity, firmware management, monitoring, and replacement plans for each platform.

Heterogeneity can improve workload fit while increasing operational complexity. The system must earn that complexity with measurable end-to-end gains.

Why Misha asks for a simulator

The design space contains hardware speeds, memory capacities, network topologies, arrival patterns, prompt and output distributions, and scheduling policies. Building every combination is impossible. A calibrated simulator can reject poor designs and estimate break-even regions.

Calibration is crucial. A simulator that ignores launch overhead or queueing may confidently recommend the wrong architecture. Measurements from real components must continually correct the model.

An end-to-end evaluation plan

  1. Collect real request distributions rather than average lengths.
  2. Measure prefill and decode separately across concurrency.
  3. Track KV size and transfer time.
  4. Include idle and peak power for every pool.
  5. Model queues, failures, and fallback paths.
  6. Compare time to first token, inter-token latency, throughput, and TCO.
  7. Validate the simulator against a smaller real deployment.

Common interpretation mistakes

“Prefill is compute-bound” does not mean every prefill kernel reaches peak compute. Short prompts and small batches can remain inefficient. “Decode is bandwidth-bound” does not mean compute never matters. Quantization, attention variants, and very large batches move points on the roofline.

Likewise, “heterogeneous” does not mean assigning every function to a different chip. Each boundary has a cost. The best design may use one platform for several phases and specialize only the dominant bottleneck.

A builder’s decision table

Observed problemLikely investigationPossible specialization
long TTFT on large promptsprefill compute and queueingcompute-heavy prefill pool
slow token cadence at low batchweight and KV bandwidthbandwidth-oriented decode
KV capacity exhaustioncontext distribution and pagingmemory tier or cache redesign
poor speculative acceptancedraft quality and latencystronger dedicated drafter
gain lost after splittingnetwork and stranded capacityco-location or fewer boundaries

The precise conclusion

Misha presents hypotheses from first principles, not completed benchmark proof. The roofline model explains why phases may prefer different machines. The three examples show where separation could help. The data-center and simulation discussion explains what must be solved before claiming a production win.

The responsible takeaway is conditional: identify the phase, model its arithmetic and data movement, price every boundary, and validate end to end. Heterogeneity is a tool for matching physics to workload—not a goal by itself.

Sources and further reading

← prev: AI Writes Kernelsnext: Madrona →
© cvam — written in plaintext, served warm