DPU (Data Processing Unit) ve Modern Computing Mimarileri Üzerine
Günümüzde işlenebilir veri git gide büyümekte. ML (Machine Learning) ve AI (Artificial Intelligence) ile hesaplama kapasitesi artarken artık Private, Hybrid ya da Hyperscaler Cloud üzerinde kullanılan IaaS, Paas, MLOps, GPUaaS, NFV ve Telco 5G vRAN gibi servislerin kesintisiz sürekliliğini sağlanmak günümüz geleneksel BT donanımlarıyla gittikçe zorlaşıyor. Tüm bu artan ihtiyaçlardan dolayı verinin akışı geleneksel mimariden yazılım tanımlı mimariye doğru hızla dönüşerek gelişiyor. 5G ile birlikte artık WAN üzerinden bant genişliği neredeyse fiber ile eşdeğer hale gelmekte ve RAN mimarisi tıpkı NFV da olduğu gibi sanala doğru evrilmektedir. GPU Computing ise tüm bulut çözümlerinde bir ihtiyaç haline gelmeye başlamıştır.
Önceden fiziksel bir sunucuyu sanallaştırırken şimdilerde bir servisi ya da fonksiyonu sanallaştırabiliyoruz. Bugünün dünyasında FaaS, SaaS, IaaS gibi kavramlar günümüzde herkesçe biliniyor. Servis sağlayıcılar artık VNF (Virtual Network Functions) yerine CNF (Cloud-native Network Function) konuşuyor. Veri merkezleri ve servis sağlayıcılar altyapı, ısıtma, soğutma ya da uygulama güvenliği, network, izleme, anomali algılama gibi servisleri AI/ML üzerine tamamen entegre etmeye başlayarak hızla bu dönüşüm bir parçası oluyor.
Peki biz bu kadar artan datayı nasıl daha iyi hesaplar ve iletiriz ya da bu kadar karmaşık sanallaştırma fonksiyonlarını LAN, WAN ya da Hücresel ağlar üzerinde nasıl uygulayabiliriz. İşte tam burada hayatımıza önce Offload NIC sonra SmartNIC girdi. Fakat AI/ML ve 5G vRAN ile artık bu ikisi donanım hız, iletim ve otomasyon kabiliyetleri ile yetersiz gelerek yerini DPU’ya (Data Processing Unit) bıraktı.
Günümüzde artık öyle çözümler var ki CPU, GPU, NIC, Memory gibi bileşenleri artık tek bir donanım üzerinde Converged olarak kullanır hale geldik.
NVIDIA, AMD, Intel gibi büyük donanım üreticileri artık bu hızlandırıcıları sunucu ve platformlara yaygınlaştırarak entegre etmeye başladılar.
Peki bu modern görüntü ve network bileşenleri bize ne gibi avantajlar sağlıyor bu gereksinimler neden ortaya çıktı şimdi bunu inceleyelim.
Offload NIC ile önce TCP/IP temel network fonksiyonlarını kullanır olduk. Bu network fonksiyonları NIC üzerindeki donanımlarda işlenir ve iletilir oldu. Ama gittikçe artan veri network ve sunucu tarafında darboğazlara neden olmaya başladı. Bu nedenle daha yenilikçi bir çözüm olarak SmartNIC devreye girdi.
SmartNIC ile esnek ve modern servislere daha hızlı uyum sağlayabildik. Network servisleri üzerinde optimizasyonlar ile birlikte inline şifreleme gibi native güvenlik servislerini entegre edebildik. Fakat bu NIC geliştirmelerine rağmen özellikle AI ve Telco tarafındaki kaynak ihtiyacı daha da artarak DPU kavramını ortaya çıkmasına neden oldu.
DPU (Data Processing Unit) sadece bir NIC değil kart üzerinde çalışan bir sunucu aslında Dedicated CPU, Memory ve OS ile Computing, Storage ve Networking servislerini host kaynaklarını kullanmadan kendi üzerinde yöneten ve optimize eden network hızlandırıcı. SmartNIC’e göre High-Level yeteneklere sahip bir çözüm diyebiliriz.
- DOCA (NVIDIA) gibi SDK’lar kullanılarak programlanabilir.
- Packet Pacing ile ağdaki kuyruk ve gecikmeleri azaltarak paket kaybını önler.
- IBoE ve RoCE ethernet desteği sağlar. Böylece veri aktarımı daha hızlı ve verimli hale gelir.
- GPUDirect ile GPU kartlar arasında doğrudan RDMA erişimi sağlar.
- Offload olarak VXLAN ve GENEVE desteği ile gelir böylece SDN (Network Virtualization) trafiğini DPU kendi üzerinde işler.
- Video over IP üzerinden 8K’ya kadar destek sağlar.
- 5G vRAN ve NFV için PTP (Precision Timing) desteği ile zamanlama hassasiyetini artırır böylece Telco ve Finans uygulamaları için yüksek öncelik sağlar.
- Inline IPSEC ve TLS şifreleme desteği ile güvenliği sağlar.
- SR-IOV desteği ile sanallaştırma yeteneklerini artırır.
DPU anatomisi (NVIDIA BLUEFIELD-2 ve NVIDIA BLUEFIELD-3)
NVIDIA BLUEFIELD-2
Şuan çoğu OS ve Platform tarafından desteklenen DPU modeli. VMware vSphere v8 üzerinde AMD Pensando ile birlikte platform olarak kullanılabilir durumda. Bare-Metal olarak popüler işletim sistemleri ile uyumludur.
NVIDIA BLUEFIELD-3
En son çıkan DPU modeli şuan daha çok stack çözümlerinde kullanılmakta (NVIDIA DGX GH200 AI Supercomputer gibi) Bare-Metal olarak popüler işletim sistemleri ile uyumludur.
DPU uyumlu Bare-Metal İşletim Sistemleri
NOT: BlueField DPU üzerinde varsayılan işletim sistemi olarak ARM mimarisi üzerine kurulu Ubuntu 22.04 kullanılmaktadır.
NVIDIA DOCA
NVIDIA DOCA geliştiriciler için DPU üzerinde uygulama ve servis oluşturabileceğiniz bir SDK’dır. DPU yeteneklerini kullanarak network, güvenlik ve depolama performansını artırabilir ya da yeni fonksiyon ve servisler geliştirebilirsiniz.
Converged Accelerators (GPU+DPU)
A30X, A100X ve AX800
Telco, Edge Computing ve AI/ML ortamları için geliştirilmiş bir GPU+DPU Converged Accelerator çözümüdür. NVIDIA A30 ve A100 GPU mimarisi üzerine DPU hardware ve software özellikleri eklenmiştir. Böylece uç nokta 5G vRAN/O-RAN, AI Security, AI Data Processing/Analytics servisleri için hem GPU hem de DPU performans ve çözümlerini aynı anda kullanabilirsiniz.
AX800 ise Ampere GPU mimarisi üzerinde BlueField-3 DPU ve PCIe Gen5 standartlarını kullanmaktadır.
Ayrıca MIG (Multi-Instance GPU) gibi modern GPU profillerini tıpkı normal A30 ve A100 GPU da olduğu gibi kullanabilir yada uygulama ve servislerinize entegre edebilirsiniz.
Ayrıca geliştiriciler için NVIDIA CUDA ve DOCA kütüphanelerini kullanarak kartları programlayabilir mevcut kapasitesini artırabilirsiniz.
VMware vSphere 8 ve NSX üzerinde DPU Entegrasyonu
vSphere 8 ile birlikte DPU herhangi ek bir lisans gereksinimi olmadan entegre edilebilir.
vCenter üzerinde DPU kaynakları izlenebilir ve alarm tanımları yapılabilir.
vSphere DRS ve vMotion gibi kritik vSphere servisleri desteklenir.
Tüm bunlara ek olarak;
- Network TAP ya da SPAN gibi gereksinimler olmadan analiz, anomali, akış, kapasite planlama ve sorun giderme için uçtan uca gözlenebilirlik sağlar.
- CPU üzerindeki veri akış yükünü üzerine alarak onların daha yüksek kapasitede çalışabilmesini sağlar. Bant genişliğini artırır, gecikmeyi azaltır host CPU üzerindeki yükü ortadan kaldırarak sunucu üzerinde barınan VM Computing kapasitesini artırır.
- Distributed Firewalling ve IDS/IPS gibi network işlevlerini DPU üzerine aktararak ölçeklenebilir performans sağlar.
Uyumlu olan DPU modelleri ve sunucu üreticileri (10 Ekim 2023 ve öncesini kapsar)
Örnek Sunucu NIC ve DPU Topolojisi
VMware entegrasyonunda iki farklı ESXi kurulumu yapıyoruz. ARM ve x86 olarak yapılacak bu kurulum ESXi ISO’su üzerinde hazır geliyor.
İki farklı ESXi kurulmasının nedeni izalasyon sağlanması ki DPU en önemli güvenlik özelliklerinden biri, donanım katmanını ve DPU katmanını bu şekilde ayırıyoruz. Böylece olası güvenlik zafiyetinde servisleriniz bundan etkilenmiyor.
Sunucu üzerinde normal ESXi kurulumu yapıyoruz. İlk ESXi kurulumu için DPU’yu seçiyoruz.
Daha sonra BOSS (M2 Controller) üzerindeki diskimizi seçiyoruz.
Aynı anda iki ESXi kurulumu otomatik olarak başlıyor. Sonrasında Reboot yapıldığında ESXi DCUI konsolu önümüze geliyor.
NIC VDS’e ek olarak ikinci bir VDS oluşturuyor ve DPU Uplink’lerini ekliyoruz.
Burada iki uyumlu DPU üreticisi bulunuyor biri NVIDIA BlueField diğeri ise AMD Pensando, sunucu üzerinde takılı DPU’ya göre seçimimizi burada yapıyoruz.
Daha sonra host’larımızı bu VDS üzerine ekliyoruz.
NSX Manager üzerinde yeni bir Uplink Profile yaratıyoruz.
Daha sonra NSX üzerinde yeni bir Transport Node Profile yaratıyoruz. Advanced Configuration altında Mode olarak Enhanced Datapath-Performance’ı seçiyoruz.
Oluşturmuş olduğumuz Host Profile vCenter ve VDS üzerine basıyoruz. Böylece DPU Interface’leri kullanılarak DPU ESXi üzerinde NSX TEP (Tunnel Endpoint) kurulmuş oluyor.
Hem Overlay hem de vLAN için iki farklı Segment yaratıyoruz.
NSX üzerinde oluşturmuş olduğumuz Overlay Segment’i sanal sunucumuza tanımlıyoruz.
Bu tanımlamayı yaparken UPT Support (Distributed Services Engine) seçerek entegrasyonu tamamlamış oluyoruz.
NOT: Guest OS üzerinde UPT Mode ile ilgili sorun yaşamanız durumunda aşağıdaki adımları takip edebilirsiniz.
- Windows Guest OS için en güncel VMware Tools kurulumunu yapmalısınız.
- Linux Guest OS için güncel Linux Kernel modüllerine sahip olmanız gerekir.
VMware tarafından Native UPT desteği olan Linux dağıtımları aşağıdaki gibidir.
- Centos Stream 9
- Debian 11.5 (requires upgrading to optional kernel 6)
- RHEL 8.7
- RHEL 9.1
- SLES 15 SP4
- Ubuntu 20.04 (requires upgrading to optional kernel 6)
- Ubuntu 22.04 (requires upgrading to optional kernel 6)
- VMware Photon 3
- VMware Photon 4
DPU henüz yeni yaygınlaşmaya başlayan bir sunucu bileşeni ama gelecekte varsayılan NIC mimarisinin yerine geçeceği de bir gerçek.