KV cache jest podzielony na fizyczne bloki w HBM (typowo 16 tokenów per blok per warstwa). Każda sekwencja w batchu posiada logiczną listę bloków (block table) mapującą indeks logicznego bloku na fizyczny adres w HBM. Bloki są alokowane on-demand w miarę wzrostu sekwencji — brak preallokacji max_context. Custom CUDA kernel attention obsługuje non-contiguous cache, czytając bloki przez block table. Sharing prefixów realizowany przez reference counting na blokach: gdy dwie sekwencje mają wspólny prefix, dzielą fizyczne bloki tego prefixu. Modyfikacja (zapis do współdzielonego bloku) wyzwala copy-on-write. Continuous batching dynamicznie dodaje/usuwa sekwencje z batcha bez restartu, jako że alokacja per-blok eliminuje konieczność rezerwowania ciągłego obszaru.
Tradycyjne serwowanie LLM alokuje KV cache jako ciągły blok per request o rozmiarze max_context, co prowadzi do 60-80% marnotrawstwa pamięci HBM przez fragmentację — drastycznie ogranicza throughput i maksymalny batch size.
Per-sekwencja mapowanie logicznych indeksów bloków na fizyczne adresy w HBM — analog page table w OS.
Komponent alokujący/zwalniający fizyczne bloki KV cache w HBM, utrzymujący wolną pulę bloków.
Wyspecjalizowany kernel attention obsługujący non-contiguous KV cache poprzez indirection przez block table.
Mechanizm sharing bloków prefixu między sekwencjami z lazy duplication przy modyfikacji.
Standard attention kernels (FlashAttention, cuDNN) zakładają contiguous KV cache. PagedAttention wymaga dedykowanego kernela z indirection przez block table.
Mały block size = mniej marnotrawstwa, ale więcej overhead block table i mniej regularny dostęp do pamięci. Duży block size = większe marnotrawstwo dla krótkich sekwencji.
Block manager, reference counting, copy-on-write to znaczna złożoność systemowa — debugowanie problemów pamięci jest trudniejsze niż w prostszych serwerach.
Zespół UC Berkeley uwalnia vLLM jako open-source jeszcze przed publikacją papieru — natychmiastowa adopcja w społeczności.
Formalna publikacja PagedAttention na flagowej konferencji systemowej. 2-4× throughput vs konkurencja, near-zero memory waste.
vLLM staje się najpopularniejszym serwerem inferencji open-source. PagedAttention adoptowane przez TensorRT-LLM, SGLang, LMDeploy.
Rozszerzenie PagedAttention o automatyczne wykrywanie i sharing prefixów między requestami bez konieczności jawnego zaznaczania.
PagedAttention eliminuje fragmentację bez wprowadzania znaczącego narzutu obliczeniowego. Indirection przez block table dodaje minimalny overhead (~1-2%) skompensowany przez wyższy throughput z batchowania.
Nie zmienia matematyki attention ani modelu — czysto systemowa optymalizacja zarządzania pamięcią cache.