12 Eylül 2026 Cumartesi

Kubernetes'te CXL Bellek ile LLM KV Önbelleği: Fizibilite Sınırları ve Paylaşımlı Katman Tasarımı

Kubernetes'te CXL Bellek ile LLM KV Önbelleği: Fizibilite Sınırları ve Paylaşımlı Katman Tasarımı

1. Abstract & Executive Summary

Bu fizibilite çalışması, Kubernetes DRA sürücüsüyle kompoze edilebilir CXL belleğini küme düzeyinde programlanabilir bir kaynağa dönüştürür. Sürücü, talebe göre oluşturulan CXL bölgelerini her konakta DAX cihazı olarak somutlaştırır ve tek bir CDI adı altında konteynerlere enjekte eder Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu tasarım, standart DRA'nın tek düğümlü ResourceSlice varsayımını aşarak aynı fiziksel bölgeye birden fazla düğümden erişimi mümkün kılar Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. İki düğümlü test yatağında Qwen2.5-7B-Instruct modeliyle yapılan ölçümlerde, dışarıdan gelen önek yeniden kullanımı TTFT'yi 5.5x–36.6x oranında azaltmıştır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Düğüme özgü katmanların tam yeniden hesaplama yaparken paylaşılan CXL katmanının %95.4–99.5 isabet oranı sağlaması, paylaşım açığını somutlaştırır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Düğümler arası yeniden kullanımın aynı düğümdeki yeniden kullanıma kıyasla gecikme oranı yalnızca %1–4 olarak ölçülmüştür Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Çalışma, prefill/decode ayrıştırması değil bellek ayrıştırması gösterir; kapalı döngü test düzeneği TTFT metrikini desteklerken iyi getiri veya kuyruk gecikmesi iddiaları yapılmaz Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Zamanlayıcı yalnızca bıçak seçimini yapar, kapasite hesabı ve aşırı taahhüt koruması bulunmaz Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Sıfır kopyalı GPU-CXL DMA, havuzlanmış RDMA taban çizgisi ve çok kiracılı zamanlama deneyleri açık hedef dışı olarak belirlenmiştir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

2. Tarihsel Arka Plan ve Problem Tanımı

Standart Kubernetes DRA, genellikle tek bir fiziksel konuma bağlı hızlandırıcılar için tasarlanmıştır; ResourceSlice nesnesi belirli bir düğümü adlandırır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Kompoze edilebilir CXL belleği ise birden fazla konakta eşzamanlı takılabilen bir topoloji sunar. Bu durum, mevcut DRA'nın tek düğümlü varsayımını kıran temel bir darboğaz yaratır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Çözümün çekirdeği, cihaz soyutlaması ile kaynak yönetimini ayıran Container Device Interface (CDI) mekanizmasına dayanır. CDI, üçüncü taraf cihazları tam nitelikli adlarla tanımlar; ancak kapsamı yalnızca konteynerin cihaza erişimini sağlamaktır CDI - The Container Device Interface. Kaynak yönetimi açıkça orkestratöre bırakılmıştır CDI - The Container Device Interface. Bu ayrım, DRA sürücüsünün CXL bölgelerini küme kaynağı olarak planlayıp, somutlaştırdığı cihazları tek bir CDI adı altında konteynerlere enjekte etmesine olanak tanır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Farklı düğümlerdeki pod'lar böylece aynı fiziksel bölgeye erişebilir hale gelir.

Alternatif yaklaşımlarda, NVIDIA NIXL gibi kütüphaneler CPU ve GPU bellek türleri üzerinde soyutlama sağlayarak dağıtık metadata değişimi için ETCD kullanır NVIDIA Inference Xfer Library (NIXL). Bu yöntemler ağ tabanlı veri aktarımına odaklanırken, CXL tabanlı yaklaşım ağ kopyalama maliyeti yerine paylaşılan fiziksel bellek alanı üzerinden doğrudan erişimi hedefler. DRA entegrasyonu sayesinde bu katman, düğüm yerel izolasyonunun yarattığı yeniden hesaplama sorununu ortadan kaldırmayı amaçlar Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

3. Matematiksel ve Teorik Temeller

Kazanç mekanizması, düğüme özgü bellek katmanlarının karşılayamadığı erişim maliyetini kapatmasından kaynaklanır. Yazarların ölçümüne göre, iki düğümlü test yatağında Qwen2.5-7B-Instruct modeliyle yapılan denemelerde dışarıdan gelen önek yeniden kullanımı TTFT değerini 5.5x–36.6x oranında azaltmıştır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu hızlanma, GPU önbellekleme ve CPU-DRAM ofload gibi yerel katmanların tam yeniden hesaplamaya düşmesiyle oluşan "paylaşım boşluğunu" kapatmasından ileri gelir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Düğümler arası erişim gecikmesinin, aynı düğümdeki yeniden kullanıma kıyasla %1–4 oranında ek maliyet getirdiği ölçülmüştür; bu düşük oran, CXL topolojisinin ağ tabanlı çözümlere göre gecikme avantajı sunduğunu gösterir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

Bu teorik kazanımın pratikteki sınırı, zamanlayıcı mantığındaki basitlikte yatar. Sistemde kapasite hesaplama veya aşırı taahhüt koruması bulunmaz; zamanlayıcı yalnızca fiziksel bıçak seçimini yapar Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu nedenle, yakın aralıklarla oluşturulan iki talep aynı boş kapasiteye tahsis edilebilir ve ikinci talep oluşturma anında başarısız olur Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Ayrıca, deney düzeneği kapalı döngüde çalıştığı için bu sonuçlar goodput veya kuyruk gecikmesi gibi yüksek yük metriklerini desteklemez Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Sıfır kopyalı DMA ve çok kiracılı zamanlama açık hedef dışıdır; bu nedenle, yüksek eşzamanlılık senaryolarında CXL katmanının davranışı henüz doğrulanmamıştır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

4. Sistem Mimarisi ve Veri Akışı

Mimari katmanlar, talebi küme düzeyinde bir kaynak iddiasına dönüştürüp fiziksel CXL belleğini konteyner içi DAX cihazı olarak görünür kılar. Standart DRA'da ResourceSlice tek düğümü adlandırır; bu tasarımda sürücü, bölge oluşturma işlemini tetikleyerek aynı fiziksel alanın birden fazla konakta somutlaşmasını sağlar Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. CDI, cihaz soyutlamasını yönetirken kaynak tahsisini orkestratöre bırakır; bu ayrım, DAX cihazlarının pod'lara enjeksiyonunda kritik rol oynar CDI - The Container Device Interface. Veri akışı, LLM sunucusunun KV önbelleği için paylaşımlı bölgeye erişim isteğiyle başlar ve DAX cihazı üzerinden CXL fabric'a ulaşır. Zamanlayıcı yalnızca bıçak seçimini yapar; kapasite hesaplama veya aşırı taahhüt koruması bulunmaz, bu da eşzamanlı taleplerde oluşturma anında hata riski taşır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

[LLM Pod A]                [LLM Pod B]
     |                          |
[CDI: cxi-region]      [CDI: cxi-region]
     |                          |
[DAX /dev/dax0.0]      [DAX /dev/dax1.0]
     \                        /
      +----------------------+
             |
      [CXL Switch/Fabric]
             |
[Shared CXL Memory Region]

Bu yapı, düğüme özgü katmanların tam yeniden hesaplamaya düşmesiyle oluşan paylaşım boşluğunu kapatır. Ancak sistem prefill/decode ayrıştırması değil, bellek ayrıştırması olarak çalışır; sıfır kopyalı DMA ve çok kiracılı zamanlama açık hedef dışıdır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

5. Uygulama ve Referans Kod

Önceki bölümde tanımlanan DRA-CDI entegrasyonu, aşağıdaki sözde kodla somutlaştırılır. Bu akış, talep üzerine bölge oluşturma ve konaklarda DAX cihazı olarak somutlaştırma adımlarını temsil eder; kodun çalıştırıldığı iddia edilmemektedir. Mekanizma, Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving kaynakındaki mimariyi yansıtır.

# Varsayımlar: N düğüm, M byte'lık CXL bölge, tek CDI FQN
function allocate_cxl_region(request):
    # 1. DRA Sürücüsü: Küme düzeyinde tahsis
    region_id = compose_cxl_region(size_bytes=M)
    
    # 2. Konak Somutlaştırma: Her düğümde DAX cihazı
    for node in participating_nodes:
        dax_dev = materialize_dax(node, region_id)
        
    # 3. CDI Enjeksiyonu: Konteyner içi erişim
    cdi_fqn = generate_cdi_name("cxl.mem", region_id)
    for pod in target_pods:
        inject_device(pod, cdi_fqn)
        
    return region_id

# KV Önbellek Erişimi (Uygulama Düzeyi)
function read_kv_cache(process):
    addr = mmap(dax_device, offset=kv_offset)
    return data_from(addr)

Bu sözde kod, yalnızca bıçak seçimini yapan zamanlayıcı mantığını gösterir; kapasite hesaplama ve aşırı taahhüt koruması sürücü tarafında bulunmaz Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. CDI katmanı, cihaz soyutlamasını yönetirken kaynak tahsisini orkestratöre bırakır; bu ayrım, konteynerin cihaza erişimini standartlaştırır CDI - The Container Device Interface. DAX cihazı, kullanıcı uzayından doğrudan erişim sağlayarak ağ tabanlı kopyalama maliyetini ortadan kaldırır. Ancak bu mimari, prefill/decode ayrıştırması değil, bellek ayrıştırması olarak çalışır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Ölçümler kapalı döngü ve sefer başına tek oturum varsayımıyla yapıldığından, bu kod üretim ortamlarındaki kuyruk dinamiklerini yansıtmaz Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

6. Empirik Analiz ve Benchmark Karşılaştırmaları

Yazarların iki düğümlü test yatağında (512 GiB CXL aygıtı, Qwen2.5-7B-Instruct) gerçekleştirdiği ölçümler, düğümler arası önek yeniden kullanımının Time-To-First-Token (TTFT) değerini 5.5x–36.6x oranında azalttığını göstermektedir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu kazanç, dışarıdan gelen isteklerde %95.4–99.5 aralığında bir önbellek isabet oranıyla elde edilmiştir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Karşılaştırma tablosunda, düğüm yerel katmanların (GPU önek önbelleği ve CPU-DRAM offload) bu senaryoda tam yeniden hesaplama durumuna düşerken, paylaşılan CXL katmanının isabet sağlayabildiği görülmektedir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu yapısal fark, düğümler arası paylaşımın gerekliliğini vurgular.

Katman TTFT Kazancı İsabet Oranı
Paylaşılan CXL (DRA) 5.5x – 36.6x %95.4 – 99.5
GPU Önek Önbelleği Tam yeniden hesaplama raporlanmadı
CPU-DRAM Offload Tam yeniden hesaplama raporlanmadı

Düğümler arası erişimin ek maliyeti, paylaşım boşluğu (sharing gap) metriğiyle değerlendirilmiştir. Yazarların ölçümüne göre, düğümler arası ve aynı düğümdeki yeniden kullanım arasındaki gecikme oranı yalnızca %1–4 arasındadır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu düşük oran, test yatağındaki CXL topolojisinin ağ tabanlı çözümlere kıyasla daha az ek gecikme getirdiğine işaret eder. Ancak bu çalışma bir fizibilite raporu olup, performans değerlendirmesi olarak sunulmamaktadır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Deney düzeneği kapalı döngüde ve sefer başına tek oturum çalıştığından, iyi getiri (goodput) veya kuyruk gecikmesi iddiaları yapılmamıştır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Sıfır kopyalı GPU-CXL DMA ve havuzlanmış RDMA taban çizgisi, bu analizlerin kapsamı dışında bırakılmıştır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

7. Kısıtlamalar, Çıkmazlar ve Mühendislik Ödünleşimleri

Bu fizibilite çalışması, prefill/decode ayrıştırmasından ziyade bellek ayrıştırmasını (memory disaggregation) hedefler; her iki replika da tam motor olarak çalışır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu kapsam, düğümler arası yeniden kullanımın aynı düğümdeki duruma kıyasla eklatansının (sharing gap) yalnızca %1–4 olduğunu ölçen test yatağına özgüdür ve genel bir performans üst sınırı teşkil etmez Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

Mühendislik ödünleşimleri, zamanlayıcı tasarımındaki sınırlarla doğrudan bağlantılıdır. Zamanlayıcı yalnızca bıçak (blade) seçimini yapar; kapasite hesaplama veya aşırı taahhüt koruması içermez Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu yapısal boşluk nedeniyle, yakın zamanda oluşturulan iki talep aynı boş kapasiteye tahsis edilebilir ve ikinci talep bölge oluşturma (compose) sırasında başarısız olabilir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Ayrıca, sıfır kopyalı GPU-CXL DMA, havuzlanmış RDMA taban çizgisi ve çok kiracılı zamanlama deneyleri açık hedef dışı (non-goal) olarak tanımlanmıştır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

Ölçüm düzeneğinin kapalı döngü (closed-loop) çalışması ve sefer başına yalnızca bir oturum yürütmesi, metriklerin kapsamını daraltır. Bu yapı Time-To-First-Token (TTFT) metriğini desteklerken, iyi getiri (goodput) veya kuyruk gecikmesi (tail-latency) gibi yük bağımlı iddiaların yapılmasını engeller Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Sonuç olarak, raporlanan hızlanma değerleri spesifik test koşullarına bağlıdır ve farklı istek desenleri veya eşzamanlılık seviyelerinde genellenmemelidir.

8. Gelecek Projeksiyonu ve Açık Sorunlar

Bu fizibilite çalışması, prefill/decode ayrıştırması yerine bellek ayrıştırmasını (memory disaggregation) hedefler; her iki replika da tam motor olarak çalışır Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu kapsam, düğümler arası yeniden kullanımın aynı düğümdeki duruma kıyasla eklatansının (sharing gap) yalnızca %1–4 olduğunu ölçen test yatağına özgüdür ve genel bir performans üst sınırı teşkil etmez Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving.

Mühendislik ödünleşimleri, zamanlayıcı tasarımındaki sınırlarla doğrudan bağlantılıdır. Zamanlayıcı yalnızca bıçak (blade) seçimini yapar; kapasite hesaplama veya aşırı taahhüt koruması içermez Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu eksiklik nedeniyle, kısa aralıklarla oluşturulan iki talep aynı boş kapasiteye tahsis edilebilir ve ikinci talep compose zamanında başarısız olur Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bölge boyutu (byte sayısı) yerine bıçak seçimi üzerinden çalışan bu mekanizma, çok kiracılı ortamlardaki eşzamanlılık çakışmalarını yönetmek için ek bir katman gerektirir.

Geleceğe yönelik açık sorunlar arasında sıfır kopyalı GPU-CXL DMA, havuzlanmış RDMA taban çizgisi ve çok kiracılı zamanlama deneyleri yer alır; bunlar çalışma kapsamında açık hedef dışı (non-goal) olarak belirlenmiştir Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Ayrıca, kapalı döngü test düzeneğinin sefer başına yalnızca bir oturum yürütmesi nedeniyle, iyi getiri (goodput) veya kuyruk gecikmesi (tail-latency) iddiaları yapılamaz Composable CXL Memory as a Kubernetes-Native Shared Memory for LLM Serving. Bu sınırlamalar, sistemin mevcut haliyle yalnızca belirli bir senaryoda işlevselliğini kanıtladığını, ancak yüksek yük altındaki davranışının henüz doğrulanmadığını gösterir.

9. Referanslar ve İleri Okuma

Hiç yorum yok :

Yorum Gönder