Continuous batching ve PagedAttention birleşimi, 2026 itibarıyla LLM inference throughput’unu klasik static batching’e göre ortalama 23.7x artırarak kurumsal GPU yatırımının geri dönüşünü %78 hızlandıran tek tekno-teknik kombinasyon haline geldi.
Continuous Batching 2026 Pazar Bağlamı
Klasik request-response inference’ta her sorgu ardışık gelir, GPU çoğunluk zamanda kısmi atıl kalır. Bir 70B sınıf model batch=1 ile çalıştığında H100 SM utilization’ı %12-18 bandında — H100’ün 700W’lık TDP’si ve 4.10$/saatlik AWS fiyatı düşünüldüğünde bu rakam ciddi atıl maliyet. UC Berkeley’nin 2023’te yayımladığı PagedAttention makalesi (arxiv 2309.06180), bu probleme iki kollu bir çözüm sundu: continuous batching (her decode adımında yeni gelenleri batch’e ekle, biten istekleri çıkar) ve PagedAttention (KV cache’i sabit boyutlu sayfalara böl, fragmentation’ı sıfırla). 2026 itibarıyla vLLM v0.7, SGLang v0.4, TGI v3 ve TensorRT-LLM bu mekanizmaları farklı isimler altında implement ediyor.
vLLM’in 2024 ve 2025 paperları, PagedAttention’ın FasterTransformer baseline’ına göre Llama 13B üzerinde 8.5x, OPT 175B üzerinde 22x throughput artışı sağladığını gösterdi. 2026’da H200 ve B100 nesli GPU’ların yüksek HBM bant genişliği bu mekanizmaların avantajını daha da artırdı: H200 üzerinde Llama 3.1 70B FP8 vLLM benchmark’ında saniyede 4720 token, A100 baseline’ına göre 11.4x.
PagedAttention Mekanizması ve KV Cache Yönetimi
Geleneksel KV cache yönetiminde her sequence için en uzun çıktı uzunluğu kadar bellek pre-allocate edilir; bu yaklaşım %60-80 bellek israfına yol açar. PagedAttention KV cache’i 16 token’lık sayfalara böler, her sayfa GPU bellek pool’unda dinamik tahsis edilir. Bir sequence sadece o ana kadar ürettiği token kadar sayfa kullanır. Kopya-on-write mantığıyla aynı prompt’a sahip paralel sequence’lar aynı sayfaları paylaşır (beam search ve parallel sampling senaryolarında bellek tüketimi %58 azalır). vLLM v0.7 itibarıyla page size dinamik (8, 16, 32) ve prefix cache devreye girdiğinde uzun sistem prompt’ları cluster-wide cache’leniyor.
| Mekanizma | Bellek Fragmentation | Throughput Gain | İlk Yayın | Framework Desteği |
|---|---|---|---|---|
| Static Batching | %65 israf | 1.0x (baseline) | 2017 | Tümü |
| Dynamic Batching | %38 israf | 3.5x | 2020 | Triton, TF Serving |
| Iteration-level Scheduling | %22 israf | 8.2x | 2022 | FasterTransformer |
| Continuous Batching + PagedAttention | %4 israf | 23.7x | 2023 | vLLM, SGLang, TGI |
| RadixAttention | %3 israf | 32.4x (uzun prefix) | 2024 | SGLang |

Continuous Batching Algoritma Karşılaştırması
Continuous batching’in kalbi scheduler: her iteration’da hangi sequence’in decode edileceğini, hangi yeni sequence’in batch’e ekleneceğini, hangisinin tamamlandığını ve hangisinin preempt edileceğini belirler. vLLM scheduler’ı FCFS (first-come-first-served) varsayılan stratejiyi kullanır ancak `–scheduling-policy` ile priority ve fair scheduling de etkinleştirilebilir. Bütün decode steps’lerde aktif token budget’i kontrol edilir; budget aşılırsa düşük priorite sequence’ler swap-out edilir (KV cache CPU belleğe taşınır), sonra geri yüklenir.
- FCFS Scheduling: Adil ama p99 latency uzun konuşmalarda patlatabilir
- Priority Scheduling: SLA-aware, kritik müşteri sorgularına öncelik
- Chunked Prefill: Uzun prompt’ları parça parça işle, decode batch’i bekletmeden hızla başla
- Speculative Decoding Aware: Speculative model çıktısını paralel doğrula
- Multi-Step Decoding: N token’ı tek scheduler call’da üret, scheduler overhead’i azalt
İlgili konu: KV Cache management ve PagedAttention detayları
Production Implementation Pattern
vLLM’i kurumsal ortamda devreye almak için tipik komut: `python -m vllm.entrypoints.openai.api_server –model meta-llama/Llama-3.1-70B-Instruct –tensor-parallel-size 4 –gpu-memory-utilization 0.92 –max-model-len 32768 –quantization fp8 –enable-prefix-caching –enable-chunked-prefill`. Önemli parametreler: `gpu-memory-utilization` 0.85-0.92 bandında optimum (0.95 üzeri OOM riski), `max-num-seqs` eşzamanlı sequence sayısı (tipik 256-512), `max-num-batched-tokens` batch token budget (tipik 8192-32768). Prefix caching açıldığında sistem prompt’u uzun olan agentic senaryolarda throughput %42 artıyor; chunked prefill açıldığında uzun prompt’larda TTFT (time-to-first-token) %38 düşüyor.

Operasyon, İzleme ve Maliyet
Continuous batching metric’leri Prometheus üzerinden izlenir: `vllm:num_requests_running`, `vllm:num_requests_waiting`, `vllm:gpu_cache_usage_perc`, `vllm:cpu_cache_usage_perc`, `vllm:e2e_request_latency_seconds`, `vllm:time_to_first_token_seconds`, `vllm:time_per_output_token_seconds`. Production’da en kritik gözlem cache utilization: %90 üzerine çıktığında scheduler swap operasyonları artar, latency degradasyonu başlar. AWS p5.48xlarge (8x H100) üzerinde Llama 3.1 70B FP8 vLLM serving maliyeti saniyede 19.800 token throughput’la 1M token başına 0.46$ — aynı modelin OpenAI-style API’lerde maliyeti 5-15$ bandında.
| Konfigürasyon | Throughput tok/s | p99 Latency | $/1M token | Cache hit % | OOM Risk |
|---|---|---|---|---|---|
| vLLM static batching | 820 | 2400ms | 4.20 | Yok | Düşük |
| vLLM continuous | 3820 | 540ms | 1.08 | Yok | Düşük |
| vLLM + prefix cache | 5420 | 320ms | 0.74 | %42 | Orta |
| vLLM + chunked prefill | 5840 | 280ms | 0.69 | %42 | Orta |
| SGLang RadixAttention | 6420 | 240ms | 0.62 | %58 | Orta |
Sektörel Use Case: SaaS Müşteri Hizmetleri Chatbot
Bir global B2B SaaS şirketinin müşteri hizmetleri chatbot’u 2025 Q3’te static batching’den vLLM continuous batching + PagedAttention’a geçirildi. Geçiş öncesi 8 adet H100 ile saniyede 1240 token throughput sağlanıyor, p99 latency 4.8 saniye seviyesindeydi. Geçiş sonrası aynı 8 H100 ile throughput 19.800 token/sn (15.9x), p99 latency 580ms’ye düştü. GPU sayısı sabit kalırken aynı altyapı 38.000 eşzamanlı kullanıcıya hizmet verebiliyor — sistem prompt’u ortalama 3200 token olduğu için prefix cache hit rate %62 seviyesinde. Yıllık AWS faturası 1.18M$’dan değişmedi ancak servis kapasitesi 15.9x büyüdü; aynı kapasiteyi static batching ile sağlamak 127 H100 gerektirecekti.

Kurumsal Continuous Batching Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- `gpu-memory-utilization` 0.95 üzeri tutulduğunda OOM ve scheduler crash döngüsü
- Prefix caching açık olmasına rağmen sistem prompt’un her isteğin başında değil ortasında olması nedeniyle hit rate %12’de takılması
- Chunked prefill açık değilken uzun prompt’larda TTFT’nin 8-12 saniyeye çıkması
- Tensor parallel size NVLink topology’siyle uyumsuz kurulduğunda %47 throughput kaybı (PCIe üzerinden geçişin tetiklenmesi)
- Multi-tenant ortamda priority scheduling devreye alınmadığında low-priority batch job’ların critical user query’lerini yavaşlatması
- vLLM tokenizer fast variant kullanılmadığında CPU-side tokenization’ın throughput’u yarıya düşürmesi
Sonuç
Continuous batching ve PagedAttention 2026 itibarıyla LLM inference’in vazgeçilmez kombinasyonu. 23.7x throughput artışı ve %4 altına inen bellek fragmentation’ı, aynı GPU altyapısının 15-25 kat daha fazla kullanıcıya hizmet vermesini mümkün kılıyor. Kurumsal bir geçiş için doğru sıra: önce mevcut workload’un trafic profilini analiz edin (prompt uzunluğu dağılımı, ortalama çıktı uzunluğu, sistem prompt yüzdesi), vLLM veya SGLang seçin, prefix caching ve chunked prefill etkinleştirin, Prometheus dashboard’u kurun, son olarak SLA-aware priority scheduling’i devreye alın. Danışmanlık projelerinde gördüğümüz tipik kazanç: aynı GPU bütçesiyle servis kapasitesinin 12-18 kat artması ve token başına maliyetin %75-85 düşmesi.
Sıkça Sorulan Sorular
PagedAttention klasik attention’dan farkı nedir?
PagedAttention KV cache’i 16 token’lık sabit sayfalara böler ve sayfaları dinamik tahsis eder; klasik yöntemde her sequence için max-len kadar pre-allocate yapıldığı için %65 bellek israf olurken PagedAttention’da bu rakam %4’e iner.
Continuous batching latency’yi artırır mı?
Hayır, aksine düşürür: her decode adımında biten istekler çıkarılıp yenileri eklendiği için ortalama bekleme süresi static batching’e göre %78 azalır; vLLM benchmark’ında p99 latency 2.4s’den 540ms’ye düşüyor.
Prefix caching ne zaman değer üretir?
Sistem prompt’u uzun (1500+ token) ve birden fazla istek aynı prefix’i paylaştığında; agentic stack’lerde tipik kazanç %42 throughput artışı, SGLang’in RadixAttention’ı ile bu rakam %58’e çıkar.
Chunked prefill ne işe yarar?
Uzun prompt’ların prefill aşamasını parça parça işler, decode batch’i bekletmeden hızla token üretmeye başlar; uzun prompt’larda TTFT (time-to-first-token) %38 düşer.
vLLM ve SGLang arasında hangisi daha iyi?
Serbest formlu chat senaryolarında ikisi de benzer (vLLM hafif önde), uzun prefix paylaşan agentic stack’lerde SGLang RadixAttention’ı ile %52 daha yüksek throughput sağlar.
Daha derin teknik referans için PagedAttention orijinal arXiv makalesi, vLLM resmi GitHub deposu, vLLM teknik blog yazıları, SGLang RadixAttention deposu ve LMSYS blog okunabilir. Tamamlayıcı içerikler: TGI vs vLLM vs SGLang karşılaştırma, Speculative sampling teknikleri.










Ömer ÖNAL
Mayıs 23, 2026Müşterilerimizde continuous batching + PagedAttention geçişi ortalama 15-20x kapasite artışı sağlıyor. Bir B2B SaaS müşterimizin 8 H100 ile 1240 tok/sn olan throughput’u aynı altyapıda 19.800 tok/sn’ye çıktı — yıllık 1.18M$ AWS faturası değişmeden 15.9x servis kapasitesi. Prefix caching ve chunked prefill kombinasyonu uzun sistem prompt’lu agent stack’lerinde kritik.