← All reviews

Paper Review

Sangam: Efficiently Serving Diffusion LLMs with the AR Stack

July 7, 2026 Nitin Kedia, Saurabh Agarwal, Myungjin Lee, Aditya Akella arXiv:2607.04206
dllmservingkv-cache

A dedicated serving system for cached diffusion-LLM inference introduces a deficit token-budget scheduler that manages prefill/decode interference without AR-style chunked prefill, sustaining 3x the query rate of an in-system Fast-dLLM baseline on LLaDA-8B and Dream-7B.

캐시된 diffusion LLM 추론을 위한 전용 서빙 시스템이 AR 방식 chunked prefill 없이 prefill/decode 간섭을 관리하는 deficit token-budget 스케줄러를 도입해, LLaDA-8B와 Dream-7B에서 in-system Fast-dLLM 베이스라인 대비 3배의 QPS를 유지한다.

LLaDA-8B decode iteration time climbs steeply with batch size while its AR counterpart LLaMA-3-8B stays nearly flat out to batch 64 — a dLLM decode batch saturates the GPU after only a few requests.
LLaDA-8B decode iteration time climbs steeply with batch size while its AR counterpart LLaMA-3-8B stays nearly flat out to batch 64 — a dLLM decode batch saturates the GPU after only a few requests. LLaDA-8B의 decode iteration 시간은 batch size에 따라 가파르게 증가하는 반면 AR 대응 모델인 LLaMA-3-8B는 batch 64까지 거의 평평하다 — dLLM decode 배치는 몇 개 요청만으로 GPU를 포화시킨다. Figure 3(a) from arXiv:2607.04206 — authors' figure
Mean end-to-end latency vs. arrival rate on the ShareGPT trace: the in-system Fast-dLLM baseline knees past QPS 0.3, while Sangam's colocated mode (τ=1024) sustains QPS 1.0 at comparable latency — the ~3x throughput gap.
Mean end-to-end latency vs. arrival rate on the ShareGPT trace: the in-system Fast-dLLM baseline knees past QPS 0.3, while Sangam's colocated mode (τ=1024) sustains QPS 1.0 at comparable latency — the ~3x throughput gap. ShareGPT trace에서의 평균 end-to-end 지연 vs. 요청률: in-system Fast-dLLM 베이스라인은 QPS 0.3을 넘으면 급격히 꺾이는 반면, Sangam colocated 모드(τ=1024)는 비슷한 지연으로 QPS 1.0을 유지한다 — 약 3배의 처리량 격차. Figure 8(a) from arXiv:2607.04206 — authors' figure

Background Diffusion LLMs (dLLMs) such as LLaDA and Dream generate text through iterative denoising and can commit multiple output positions per model call, but their bidirectional attention prevents exact autoregressive-style KV caching. In an AR model, causal attention keeps earlier tokens' KV activations stable, so they can be computed once and reused; in a dLLM every position attends to the full prompt-and-response context, so committing one masked position shifts the attention inputs — and thus the KV activations — of all the others. It is like a crossword puzzle: writing in one answer changes what can legally fit in every intersecting slot, so nothing filled in earlier is truly final.

배경 LLaDA, Dream 같은 diffusion LLM(dLLM)은 반복적 denoising으로 텍스트를 생성하며 한 번의 모델 호출로 여러 출력 위치를 동시에 확정할 수 있지만, bidirectional attention 때문에 정확한 autoregressive 방식 KV 캐싱을 쓸 수 없다. AR 모델에서는 causal attention이 앞선 토큰들의 KV activation을 고정시켜 한 번 계산해 재사용할 수 있지만, dLLM에서는 모든 위치가 프롬프트+응답 전체 컨텍스트에 attend하므로 마스크된 위치 하나를 확정하는 순간 나머지 위치들의 attention 입력, 즉 KV activation이 함께 바뀐다. 크로스워드 퍼즐과 같다 — 답 하나를 써넣으면 교차하는 모든 칸에 들어갈 수 있는 글자가 바뀌므로, 먼저 채운 칸도 진짜 확정이 아니다.

Problem Approximate caching schemes like Fast-dLLM and dKV-Cache periodically refresh KV activations — Fast-dLLM at block boundaries, dKV-Cache on a fixed refresh interval — which reintroduces a repeating prefill/decode structure at serving time. The interference is worse than in AR serving: every in-flight request keeps returning to the prefill queue as a recurring re-prefill source, and dLLM decodes are block-sized rather than token-sized, so a decode batch saturates the GPU after only a few requests (Figure 3). Yet the standard AR fix for this interference — chunked prefill — cannot be applied: under bidirectional attention every token's KV depends on the full context, so a prefill must run as one indivisible forward pass.

문제 Fast-dLLM, dKV-Cache 같은 근사 캐싱 기법은 KV activation을 주기적으로 갱신하는데 — Fast-dLLM은 block 경계에서, dKV-Cache는 고정 주기로 — 이것이 서빙 시점에 반복되는 prefill/decode 구조를 재도입한다. 이 간섭은 AR 서빙보다 훨씬 잦다: 진행 중인 모든 요청이 block 경계마다 re-prefill 소스로 되돌아오고, dLLM decode는 토큰 단위가 아니라 block 단위라 몇 개 요청만으로 decode 배치가 GPU를 포화시킨다(Figure 3). 그런데 이 간섭에 대한 AR의 표준 해법인 chunked prefill은 쓸 수 없다 — bidirectional attention에서는 모든 토큰의 KV가 전체 컨텍스트에 의존하므로 prefill은 쪼갤 수 없는 단일 forward pass로 실행되어야 한다.

Prior limitations Prior dLLM acceleration work such as Fast-dLLM optimizes the decoding algorithm itself but does not address how a server should schedule concurrent prefill and decode requests for cached dLLM inference. The paper identifies dInfer and dLLM-Serve as the only other serving engines built for LLaDA/Dream: dInfer contributes parallel-decoding and kernel optimizations evaluated at batch size 1, orthogonal to scheduling, while dLLM-Serve's "refresh-reuse" policy is essentially vLLM-style prefill prioritization. Sangam reproduces the latter in-system (as its τ=16384 colocated configuration) and shows it incurs exactly the prefill-decode interference that motivates this work.

기존 한계 Fast-dLLM 등 기존 dLLM 가속 연구는 디코딩 알고리즘 자체를 최적화할 뿐, 캐시된 dLLM 추론에서 서버가 동시 prefill/decode 요청을 어떻게 스케줄링해야 하는지는 다루지 않는다. 논문은 LLaDA/Dream용 서빙 엔진으로 dInfer와 dLLM-Serve만이 존재한다고 정리한다: dInfer는 batch size 1에서 평가된 병렬 디코딩·커널 최적화로 스케줄링과 직교하고, dLLM-Serve의 "refresh-reuse" 정책은 본질적으로 vLLM 스타일 prefill 우선 정책이다. Sangam은 후자를 in-system으로 재현해(τ=16384 colocated 설정) 그 정책이 바로 이 논문의 동기인 prefill-decode 간섭을 일으킴을 보인다.

Goal Build a serving system that achieves stall-free scheduling for cached dLLM inference on real multi-GPU hardware without relying on autoregressive-style chunked prefill. The framing is deliberately conservative: keep the AR serving stack — continuous batching, paged KV, prefill/decode disaggregation — as the starting point and adapt only the assumptions cached dLLMs actually violate: block-sized decodes, recurring prefills, and unchunkable prefills.

목표 AR 방식의 chunked prefill에 의존하지 않고, 실제 멀티-GPU 하드웨어에서 캐시된 dLLM 추론에 대해 stall 없는 스케줄링을 달성하는 서빙 시스템을 만드는 것. 프레이밍은 의도적으로 보수적이다: continuous batching, paged KV, prefill/decode disaggregation 같은 AR 서빙 스택을 출발점으로 유지하고, 캐시된 dLLM이 실제로 위반하는 세 가지 가정 — block 단위 decode, 반복되는 prefill, 쪼갤 수 없는 prefill — 만 고쳐 적응시킨다.

Method Sangam introduces a deficit token-budget scheduler, inspired by Deficit Round-Robin from packet scheduling: each iteration carries a token budget τ, in-flight decodes are seated first and never displaced, waiting prefills are admitted whole — in request-arrival order — only while the remaining budget plus the deficit carried over from previous iterations covers them, and unused budget rolls forward. An idle rule admits the head prefill even over budget when the microbatch would otherwise be empty, so the GPU never sits idle — a restaurant host's policy: diners mid-meal are never unseated, a large party is admitted only when tables free up for the whole group, yet an oversized party gets in if the room would otherwise stand empty. A two-level architecture on top (a central CPU scheduler routes prefills and block-boundary re-prefills across GPU workers by load; each worker builds microbatches locally) supports a hybrid mode that overflows prefills onto decode-role workers once every prefill worker exceeds a load threshold θ, with the same deficit budget protecting those workers' decodes.

방법 Sangam은 패킷 스케줄링의 Deficit Round-Robin에서 영감을 받은 deficit token-budget 스케줄러를 도입한다: 매 반복이 token budget τ를 갖고, 진행 중인 decode를 먼저 앉힌 뒤(절대 밀려나지 않음), 대기 중인 prefill은 도착 순서대로 남은 budget(+이전 반복에서 이월된 deficit)이 전체를 덮을 때만 통째로 수용하며, 안 쓴 budget은 다음 반복으로 이월한다. microbatch가 비어 있을 때는 budget을 초과해도 선두 prefill을 수용하는 idle rule로 GPU가 놀지 않게 한다 — 식사 중인 손님은 절대 내보내지 않고, 단체 손님은 자리가 통째로 날 때만 받되, 홀이 비면 초과 단체라도 들이는 레스토랑 호스트의 규칙과 같다. 그 위의 2단 아키텍처(중앙 CPU 스케줄러가 prefill과 block 경계 re-prefill을 부하 기준으로 GPU worker에 라우팅하고, 각 worker는 로컬로 microbatch를 구성)가 hybrid 모드를 지원한다 — 모든 prefill worker가 부하 임계값 θ를 넘으면 prefill을 decode 역할 worker로 오버플로우시키되, 같은 deficit budget으로 그 worker의 decode를 보호한다.

Key idea Because a dLLM prefill cannot be split across scheduling iterations, admission is treated as an all-or-nothing decision paced by a rolling token budget rather than token-level chunking. With indivisible prefills, per-iteration stall-free batching is unattainable by construction, so the scheduler recovers it in an amortized sense: over any busy period, admitted prefill tokens average out to at most τ per iteration. It works like a rolling allowance for an item that cannot be bought in installments — instead of buying it piece by piece, you carry unspent budget forward across weeks until the whole purchase fits.

핵심 아이디어 dLLM prefill은 스케줄링 반복 사이에서 분할할 수 없으므로, 토큰 단위 chunking 대신 롤링 token budget으로 페이싱되는 전부-아니면-전무 방식의 admission으로 처리한다. 쪼갤 수 없는 prefill 앞에서 반복 단위의 stall-free batching은 원천적으로 불가능하므로, 스케줄러는 이를 amortized로 복원한다: 어떤 busy 구간에서도 수용된 prefill 토큰의 평균이 반복당 τ를 넘지 않는다. 할부가 안 되는 물건을 사는 용돈 이월과 같다 — 조각내 사는 대신, 안 쓴 예산을 몇 주 모아 전체 금액이 맞을 때 통째로 산다.

Validation Evaluated on LLaDA-8B-Instruct and Dream-7B-Instruct (bfloat16) on a single AWS p5.48xlarge node with 8×H100 80GB GPUs, using two traces with opposite profiles: ShareGPT chat (median prompt 795 / output 266 tokens, decode-heavy) and arXiv summarization (median prompt 2827 / output 162 tokens, prefill-heavy). Colocated, disaggregated (5P3D), and hybrid (5P3C) strategies are compared against each other and against an in-system Fast-dLLM-style baseline running at batch size 1. The paper deliberately reports end-to-end latency (mean and p99) instead of AR-style TTFT/TBT, arguing that re-prefills leave no single time-to-first-token and that high p99 TBT is intrinsic to any colocated dLLM system as long as prefills are indivisible.

검증 LLaDA-8B-Instruct와 Dream-7B-Instruct(bfloat16)를 단일 AWS p5.48xlarge 노드(8×H100 80GB)에서, 성격이 반대인 두 trace로 평가했다: ShareGPT 채팅(중앙값 프롬프트 795/출력 266 토큰, decode-heavy)과 arXiv 요약(중앙값 프롬프트 2827/출력 162 토큰, prefill-heavy). Colocated·disaggregated(5P3D)·hybrid(5P3C) 전략을 서로, 그리고 batch size 1의 in-system Fast-dLLM 스타일 베이스라인과 비교한다. 지표로는 AR식 TTFT/TBT 대신 end-to-end 지연(mean·p99)을 의도적으로 택했다 — re-prefill 때문에 단일 TTFT가 정의되지 않고, prefill이 쪼개지지 않는 한 높은 p99 TBT는 colocated dLLM 시스템에 본질적이라는 이유다.

Results Colocated serving cuts mean end-to-end latency 9-20% versus hybrid on the decode-heavy workload, hybrid cuts it 8-20% versus colocated on the prefill-heavy workload, and colocated Sangam sustains 3x the query rate of an in-system Fast-dLLM baseline at matched latency (QPS 1.0 vs. 0.3). The paper itself frames the Fast-dLLM gap as a floor rather than a headline — since the baseline serves one request at a time, the gap isolates the value of online batched serving. Among the three strategies, static disaggregation saturates first in every (model, trace) pair: at QPS 7.5 on LLaDA-8B ShareGPT its mean latency reaches 11.8s against 7.1s for colocated and 9.0s for hybrid. The budget sweep shows τ is a real knob: τ=1024 holds the lowest p99 across a broad range on the decode-heavy trace, while the near-prefill-prioritizing τ=16384 wins by a small margin on the prefill-heavy one.

결과 Colocated 서빙은 decode-heavy 워크로드에서 hybrid 대비 평균 end-to-end 지연을 9-20% 줄이고, hybrid는 prefill-heavy 워크로드에서 colocated 대비 8-20% 줄이며, colocated Sangam은 동일 지연 기준 in-system Fast-dLLM 베이스라인 대비 3배의 QPS(1.0 vs 0.3)를 유지한다. 논문 스스로 Fast-dLLM 격차를 헤드라인이 아닌 바닥(floor)으로 규정한다 — 베이스라인이 요청을 하나씩 처리하므로 이 격차는 온라인 배치 서빙 자체의 가치를 분리해 보여줄 뿐이다. 세 전략 중 static disaggregation이 모든 (모델, trace) 쌍에서 가장 먼저 포화된다: LLaDA-8B ShareGPT의 QPS 7.5에서 평균 지연이 11.8s로, colocated 7.1s·hybrid 9.0s와 대비된다. budget 스윕은 τ가 실제 조절 손잡이임을 보여준다 — decode-heavy trace에서는 τ=1024가 넓은 구간에서 최저 p99를 지키고, prefill-heavy trace에서는 prefill 우선에 가까운 τ=16384가 근소하게 최선이다.

Comparison The paper compares colocated, disaggregated, and hybrid serving strategies against each other and against a reproduced Fast-dLLM baseline, but does not report a matched-quality throughput comparison against an autoregressive model on a standard AR serving stack such as vLLM. Comparisons with the other dLLM serving engines are indirect by design: dLLM-Serve's refresh-reuse policy is reproduced in-system as the τ=16384 configuration rather than run from its codebase, and dInfer is not compared directly since its batch-1 decoding optimizations are orthogonal to scheduling. This keeps every number on identical model, trace, and hardware — at the cost of never benchmarking a competing system's actual implementation.

비교 논문은 colocated·disaggregated·hybrid 서빙 전략들을 서로, 그리고 재현한 Fast-dLLM 베이스라인과 비교하지만, vLLM 같은 표준 AR 서빙 스택 위의 autoregressive 모델과의 동일 품질 처리량 비교는 보고하지 않는다. 다른 dLLM 서빙 엔진과의 비교도 설계상 간접적이다: dLLM-Serve의 refresh-reuse 정책은 해당 코드베이스 대신 in-system의 τ=16384 설정으로 재현했고, dInfer는 batch 1 디코딩 최적화가 스케줄링과 직교한다는 이유로 직접 비교하지 않는다. 덕분에 모든 수치가 동일한 모델·trace·하드웨어에서 나오지만, 경쟁 시스템의 실제 구현을 벤치마크하지는 않는다는 비용이 따른다.

Significance It is among the first systems papers to treat diffusion-LLM serving as a first-class scheduling problem, showing that AR-style prefill/decode interference reappears under cached dLLM serving and needs a dLLM-specific scheduler rather than a reused AR one. The AR serving stack turns out to be a useful map of the territory — the same two forces, prefill-decode interference and prefill/decode partitioning, govern the design space — but one of the map's main roads, chunked prefill, simply does not exist under bidirectional attention, forcing a new scheduling primitive. The authors argue this cyclic prefill/decode structure is shared by any cached dLLM, including block-causal models that merely re-prefill less often, so the mechanisms should carry across the class.

의의 Diffusion LLM 서빙을 1급 스케줄링 문제로 다룬 초기 시스템 논문 중 하나로, 캐시된 dLLM 서빙에서도 AR 방식의 prefill/decode 간섭이 재현되며 이를 위해서는 AR용을 재사용하는 대신 dLLM 전용 스케줄러가 필요함을 보인다. AR 서빙 스택은 유용한 지도로 판명된다 — prefill-decode 간섭과 prefill/decode 분할이라는 같은 두 힘이 설계 공간을 지배한다 — 하지만 그 지도의 간선도로 하나인 chunked prefill이 bidirectional attention에는 아예 존재하지 않아 새로운 스케줄링 primitive가 강제된다. 저자들은 이 순환적 prefill/decode 구조가 re-prefill 빈도만 낮은 block-causal 모델을 포함해 모든 캐시된 dLLM에 공통이므로, 같은 메커니즘이 클래스 전체로 이월된다고 주장한다.

Limitations The evaluation covers only a single 8-GPU node; the paper acknowledges inter-node bandwidths are lower and points to layerwise KV streaming and transfer-decode overlap as offsets, but neither implements nor measures them. It reports no accuracy or generation-quality numbers, since it is a pure latency/throughput systems study (reviewer judgment: quality comparison is outside this paper's scope, and decoding uses the Fast-dLLM default confidence threshold of 0.9 throughout). The budget τ and overflow threshold θ are operator-set constants, and the sweep shows the best τ flips with workload mix (1024 vs. 16384), so a deployment must retune when its traffic changes.

한계 평가가 단일 8-GPU 노드로 한정되어 있으며, 논문은 노드 간 대역폭이 더 낮다는 점을 인정하면서 layerwise KV streaming과 transfer-decode overlap으로 상쇄 가능하다고 언급할 뿐 실제로 구현하거나 실측하지는 않았다. 순수 지연/처리량 시스템 연구이므로 정확도나 생성 품질 수치는 보고하지 않는다(리뷰어 판단: 품질 비교는 이 논문의 범위 밖이고, 디코딩은 전 구간 Fast-dLLM 기본값인 confidence threshold 0.9를 쓴다). budget τ와 오버플로우 임계값 θ는 운영자가 정하는 상수인데, 스윕에서 최적 τ가 워크로드 성격에 따라 뒤집히므로(1024 vs 16384) 트래픽이 바뀌면 재튜닝이 필요하다.

Future work The paper names layerwise KV streaming and overlapping KV transfer with decode computation as optimizations that could offset lower inter-node bandwidth but are not employed. Extension to block-causal dLLMs — which the authors argue the same mechanisms cover, since those models merely re-prefill less often — remains an analysis rather than a measurement (reviewer judgment). A matched-quality throughput comparison against an AR serving stack, and adaptive selection of the budget τ instead of manual tuning, are natural next steps (reviewer judgment).

향후 과제 논문은 layerwise KV streaming과 KV 전송을 decode 연산과 오버랩하는 것을, 노드 간 대역폭 한계를 상쇄할 수 있지만 아직 채택하지 않은 최적화로 언급한다. block-causal dLLM으로의 확장은 — re-prefill 빈도만 낮을 뿐 같은 메커니즘이 적용된다고 주장하지만 — 분석일 뿐 측정되지 않았다(리뷰어 판단). AR 서빙 스택과의 동일 품질 처리량 비교, 그리고 수동 튜닝 대신 budget τ의 적응적 선택도 자연스러운 다음 단계다(리뷰어 판단).

Released resources Code is released on GitHub as the UT-InfraAI/sangam repository; no separate model checkpoints are required since Sangam is a serving layer on top of existing LLaDA/Dream models. The system is roughly 16K lines of Python on PyTorch and HuggingFace transformers, with a central CPU scheduler, a gRPC control plane, NCCL-streamed KV transfers, PagedAttention-style paged-KV management, FlashInfer attention kernels, and CUDA Graphs.

자원 공개 코드는 GitHub에 UT-InfraAI/sangam 저장소로 공개되어 있으며, Sangam은 기존 LLaDA/Dream 모델 위의 서빙 레이어이므로 별도의 모델 체크포인트는 필요하지 않다. 시스템은 PyTorch와 HuggingFace transformers 위에 약 16K 라인의 Python으로 구현되었고, 중앙 CPU 스케줄러, gRPC 컨트롤 플레인, NCCL 스트리밍 KV 전송, PagedAttention 방식 paged KV 관리, FlashInfer attention 커널과 CUDA Graphs를 사용한다.

The research thread

Where this paper sits 연구의 흐름

Sangam — the word means a confluence of rivers — sits exactly where two research lines meet. One is the AR serving-systems canon: Orca introduced continuous batching, vLLM added PagedAttention, Sarathi-Serve tamed prefill/decode interference with chunked prefill, and DistServe and Splitwise split the two phases across GPU pools — the line that turned LLM serving from a batch job into a scheduling discipline. The other is the diffusion-LLM acceleration line: LLaDA and Dream made open 7-8B dLLMs real, and Fast-dLLM and dKV-Cache made them cacheable — but as decoding algorithms, evaluated one request at a time. The only serving engines built for these models, dInfer and dLLM-Serve, either optimized batch-1 kernels or transplanted vLLM's prefill-first policy unchanged. Sangam poses the confluence question directly: when the model underneath denoises instead of predicting the next token, what survives of the AR serving stack?

The conceptual move is to treat the AR stack as a map rather than a toolbox. Approximate caching had already changed what a dLLM is at serving time: once Fast-dLLM-style block refreshes exist, every request cycles between prefill-like and decode-like phases, so both AR forces — prefill/decode interference and phase partitioning — return amplified. But one of the map's main roads is washed out: chunked prefill assumes work can be split, and under bidirectional attention a prefill is one indivisible forward pass. Sangam's answer is to change the primitive itself — pace admission instead of splitting work. A deficit token budget, borrowed from 1990s packet scheduling (Deficit Round-Robin), admits indivisible prefills whole, recovering stall-freedom amortized rather than per iteration. The guarantee moves from "every iteration is balanced" to "every busy period averages out" — exactly the concession an unsplittable unit of work demands.

What this opens is the serving layer of the dLLM stack as contested territory. The near-term moves are already legible at the paper's edges: multi-node serving, where the unimplemented layerwise KV streaming and transfer-decode overlap will decide success; adaptive budgets, since the sweep shows the best τ flips with workload mix; and head-to-head comparisons of dLLM serving engines on shared traces, which the in-system-reproduction methodology deliberately deferred.

The deeper tension is that Sangam takes the caching algorithm's refresh schedule as given and schedules around it, while the algorithmic line treats that refresh cadence as its own knob — two layers, designed by different communities, that jointly set throughput and generation quality. Some form of co-design looks inevitable, and one argued-but-unmeasured claim remains: block-causal dLLMs need the same machinery, only with rarer re-prefills — yet as re-prefills grow rare, the problem slides back toward classical AR scheduling. Whether dLLM serving stays its own discipline or becomes a limiting case of AR serving is — fittingly for a paper named after a confluence — the open question.

Sangam — 강이 합류하는 지점을 뜻하는 단어다 — 은 두 연구 계보가 만나는 자리에 정확히 서 있다. 하나는 AR serving 시스템의 정전(canon)이다: Orca가 continuous batching을 도입했고, vLLM이 PagedAttention을 더했으며, Sarathi-Serve가 chunked prefill로 prefill/decode 간섭을 길들였고, DistServe와 Splitwise가 두 phase를 GPU pool 단위로 분리했다 — LLM serving을 일괄 처리 작업에서 스케줄링 학문으로 바꿔놓은 계보다. 다른 하나는 diffusion LLM 가속 계보다: LLaDA와 Dream이 open 7-8B dLLM을 현실로 만들었고, Fast-dLLM과 dKV-Cache가 이를 캐시 가능하게 만들었지만 — 어디까지나 요청 하나씩 평가되는 디코딩 알고리즘으로서였다. 이 모델들을 위해 만들어진 서빙 엔진은 dInfer와 dLLM-Serve뿐이었는데, 전자는 batch-1 커널 최적화였고 후자는 vLLM의 prefill 우선 정책을 그대로 이식한 것이었다. Sangam은 합류 질문을 정면으로 던진다: 밑의 모델이 next-token 예측 대신 denoising을 할 때, AR serving 스택에서 살아남는 것은 무엇인가?

개념적 이동은 AR 스택을 도구상자가 아니라 지도로 다루는 것이다. 근사 캐싱은 이미 serving 시점의 dLLM이 무엇인지를 바꿔놓았다: Fast-dLLM식 block refresh가 존재하는 순간 모든 요청이 prefill성 구간과 decode성 구간을 순환하므로, AR의 두 힘 — prefill/decode 간섭과 phase 분할 — 이 증폭된 형태로 되돌아온다. 그런데 그 지도의 간선도로 하나가 유실되어 있다: chunked prefill은 작업을 쪼갤 수 있다는 가정 위에 서 있는데, bidirectional attention에서 prefill은 쪼갤 수 없는 단일 forward pass다. Sangam의 답은 primitive 자체를 바꾸는 것이다 — 작업을 쪼개는 대신 admission을 페이싱한다. 1990년대 패킷 스케줄링의 Deficit Round-Robin에서 빌려온 deficit token budget이 쪼갤 수 없는 prefill을 통째로 수용하되, stall-freedom을 반복 단위가 아니라 amortized로 복원한다. 보장이 "모든 iteration이 균형 잡힌다"에서 "모든 busy 구간의 평균이 맞는다"로 옮겨가는데, 이것이 바로 쪼갤 수 없는 작업 단위가 요구하는 양보다.

이것이 여는 것은 dLLM 스택의 serving 레이어가 각축장이 된다는 사실이다. 단기 수순은 논문의 가장자리에서 이미 읽힌다: 미구현으로 남겨둔 layerwise KV streaming과 transfer-decode overlap이 성패를 가를 multi-node serving, 스윕에서 최적 τ가 워크로드 성격에 따라 뒤집히므로 필요해지는 adaptive budget, 그리고 in-system 재현 방법론이 의도적으로 미룬 dLLM serving 엔진 간 공통 trace 정면 비교.

더 깊은 긴장은 Sangam이 캐싱 알고리즘의 refresh 스케줄을 주어진 것으로 받아 그 주위를 스케줄링하는 반면, 알고리즘 계보는 그 refresh 주기 자체를 자기 손잡이로 다룬다는 점이다 — 현재 서로 다른 커뮤니티가 설계하는 두 레이어가 처리량과 생성 품질을 함께 결정한다. 어떤 형태로든 co-design은 불가피해 보이고, 저자들이 주장만 하고 측정하지 않은 질문도 남아 있다: block-causal dLLM은 re-prefill이 드물 뿐 같은 메커니즘이 적용된다는데, re-prefill이 드물어질수록 문제는 고전적 AR 스케줄링 쪽으로 도로 미끄러진다. dLLM serving이 독자적 학문으로 남을지 AR serving의 극한 사례가 될지 — 합류점의 이름을 가진 논문답게, 그것이 열린 질문이다.

Sparks — where one could take this 아이디어의 씨앗

  • One could implement the layerwise KV streaming and transfer-decode overlap the paper names but does not build, and measure whether deficit-budget scheduling holds up once re-prefills cross node boundaries at lower bandwidth. 논문이 이름만 대고 구현하지 않은 layerwise KV streaming과 transfer-decode overlap을 실제로 구축해, re-prefill이 노드 경계를 넘고 대역폭이 낮아져도 deficit-budget 스케줄링이 유지되는지 측정해볼 수 있다.

  • One could replace the operator-set budget τ and threshold θ with an online controller that estimates the live prefill/decode token mix and adapts the budget, since the sweep shows the optimal τ flips between workloads. 운영자가 정하는 budget τ와 임계값 θ를 실시간 prefill/decode 토큰 비율을 추정해 budget을 적응시키는 online controller로 바꿔볼 수 있다 — 스윕에서 최적 τ가 워크로드에 따라 뒤집히기 때문이다.

  • One could quantify how far the deficit budgets benefit shrinks as re-prefills become rare, locating the point where dLLM serving reduces to classical AR scheduling — a claim the paper argues but never measures. re-prefill이 드물어질수록 deficit budget의 이득이 어디까지 줄어드는지 정량화해, dLLM serving이 고전적 AR scheduling으로 수렴하는 지점을 찾아볼 수 있다 — 논문이 주장만 하고 측정하지 않은 부분이다.

Seeds grounded in the paper's own stated limitations and open questions. 논문이 스스로 밝힌 limitations와 open questions에 뿌리를 둔 씨앗입니다.

Notes

Notes

Sangam is a systems paper, not an algorithmic one — its contribution is a scheduler, not a new caching or quantization method. The interesting design constraint it surfaces is that bidirectional attention makes dLLM prefill fundamentally atomic (unsplittable), which rules out AR’s chunked-prefill trick and forces a different scheduling primitive (deficit token-budget admission). Worth watching how future systems work narrows the maturity gap between dLLM serving and the far older AR serving stack.

Linked reviews

diffusion-llm

Fast-dLLM: Training-Free Acceleration of Diffusion LLMs via KV Cache and Parallel Decoding

A block-wise approximate KV cache plus confidence-thresholded parallel decoding accelerates open diffusion LLMs by up to 27.6x end-to-end with 1-2 point accuracy loss, entirely training-free.

Jul 04, 2026 · NVIDIA / MIT / HKU
on-device

CODA: Algorithm-Hardware Co-design for Edge Video Diffusion via NMP-Enabled Compute-Cache Operator Disaggregation

Moves video-diffusion's cross-timestep activation cache off the GPU onto a DIMM-side near-memory-processing engine so caching stops competing with compute for VRAM and bandwidth on edge GPUs.

Jul 18, 2026
dllm

FlowBlock: Wavefront-Parallel Decoding for Self-Correcting Diffusion Language Models

FlowBlock is a training-free decoding framework for block-diffusion language models that turns each block's self-correction ability into scheduling slack, letting adjacent blocks decode in an overlapping wavefront instead of strictly one-after-another, for up to 4.01x higher throughput and a small accuracy gain over serial LLaDA-2.x decoding.

Jul 21, 2026
serving

HyMCache: A KV Cache Framework for Multi-Turn LLM Serving with CXL-Hybrid Memory

HyMCache stages KV-cache blocks in a CXL-hybrid memory tier (a little device DRAM in front of large SSD-backed capacity) for multi-turn LLM serving, using request-level prefix prefetching to exploit the read-dominant, append-only nature of multi-turn access, reaching 3.0x the throughput of local LMCache at a matched DRAM budget while using 16x less DRAM than a 1TB distributed-DRAM Mooncake deployment.

Jul 21, 2026
dllm

Nemotron-Labs-Diffusion: A Tri-Mode Language Model Unifying Autoregressive, Diffusion, and Self-Speculation Decoding

A single NVIDIA model switches between autoregressive, block-wise diffusion, and self-speculative decoding from one set of weights, with self-speculation (diffusion drafts, the same model's AR pass verifies) beating multi-token prediction and the 8B model decoding 6x more tokens per forward than Qwen3-8B at comparable accuracy.

Jul 08, 2026 · NVIDIA
diffusion-llm

Serving Masked Diffusion LLMs: Characterization and Design Principles from Real Hardware

The first real-hardware characterization of masked-diffusion LLM serving finds that denoising-step difficulty clusters into 11 discrete, unpredictable levels, that CPU dispatch (not GPU compute) is the dominant per-request cost, and derives a batch-timeout rule from measured queueing behavior.

Aug 27, 2026

Back to the review vault