AI ve GPU

Kubernetes Üzerinde GPU İş Yükleri: Time-Slicing, MIG ve MPS

Kubernetes GPU kaynak tahsis akışı
Kubernetes GPU kaynak tahsis akışıKubernetes GPU kaynak tahsis akışı: GPU Node → Driver + Device Plugin → GPU Resource → Scheduler → GPU İsteyen Pod. Node GPU kaynağını ilan eder; scheduler talebi karşılayan node üzerine Pod yerleştirir.01GPU Node02Driver +Device Plugin03GPU Resource04Schedulerkilit adım05GPU İsteyenPod

Node GPU kaynağını ilan eder; scheduler talebi karşılayan node üzerine Pod yerleştirir.

Kubernetes'te GPU scheduling nasıl çalışır?

GPU bulunan her worker node için üretici sürücüsü ve uygun device plugin çalışmalıdır. Device plugin, GPU kaynaklarını node kapasitesinde genişletilmiş kaynak olarak bildirir. Uygulama Pod tanımında ilgili GPU kaynağını limit olarak ister; scheduler yalnızca bu isteği karşılayabilecek node'ları değerlendirir.

Farklı GPU modelleri veya paylaşım profilleri bulunan kümelerde node label, node selector, affinity ve taint/toleration kuralları kullanılabilir. Scheduler modelin belleğe sığıp sığmadığını, tahmin süresini veya GPU kullanım oranını kendiliğinden ölçmez. Dağıtımdan önce resource request, image, sürücü, CUDA kütüphanesi ve node profilini eşleştirin.

Tam GPU tahsisi ne zaman seçilir?

Model eğitimi, büyük batch kullanan inference, render ve GPU belleğini büyük ölçüde dolduran HPC işleri için Pod başına tam GPU tahsisi en öngörülebilir başlangıçtır. Kaynak başka Pod'larla paylaşılmadığı için performans değişkenliği, bellek çakışması ve komşu iş yükünün etkisi azaltılır.

Buna karşılık küçük modeller, düşük trafikli inference endpoint'leri ve geliştirme notebook'ları GPU'nun işlem ve bellek kapasitesini sürekli doldurmayabilir. Bu durumda paylaşım seçeneği maliyet ve kullanım oranını iyileştirebilir, ancak izolasyon ve performans hedefleri açıkça tanımlanmalıdır.

GPU time-slicing nedir?

Time-slicing, aynı fiziksel GPU üzerinde birden fazla mantıksal kaynak ilan ederek iş yüklerinin GPU zamanını dönüşümlü kullanmasını sağlar. NVIDIA device plugin yapılandırmasında replica sayısı tanımlanabilir ve bu kaynaklar Pod'lara ayrı ayrı verilebilir. Bu yöntem, tek başına GPU'yu doldurmayan kesintili işlerde kapasite paylaşımını kolaylaştırır.

Replica, fiziksel GPU belleğinin veya işlem gücünün garantili bir dilimi değildir. Time-slicing replica'ları arasında bellek ve hata izolasyonu bulunmaz; bir iş yükünün GPU belleğini tüketmesi ya da hata üretmesi diğerlerini etkileyebilir. Birden fazla replica istemek de aynı oranda daha fazla GPU hesaplama gücü garantilemez.

MIG ne sağlar?

Multi-Instance GPU, desteklenen NVIDIA GPU'yu önceden tanımlı donanım profillerine böler. Her MIG örneği ayrı hesaplama ve bellek kaynaklarıyla Kubernetes'e ilan edilebilir. Donanım seviyesindeki bellek ve hata izolasyonu, birden fazla ekibin veya inference iş yükünün aynı fiziksel GPU'yu daha belirgin sınırlarla paylaşmasına yardımcı olur.

MIG her GPU modelinde bulunmaz ve seçilebilen profil boyutları donanıma bağlıdır. MIG modu ya da geometrisi değiştirilirken node üzerindeki iş yüklerinin durdurulması ve bazı ortamlarda node'un yeniden başlatılması gerekebilir. Modelin bellek ihtiyacı profile sığmalı; çoklu GPU iletişimi veya tam GPU isteyen eğitim işleri ayrıca test edilmelidir.

NVIDIA MPS ne zaman kullanılır?

Multi-Process Service, uyumlu CUDA süreçlerinin aynı GPU üzerinde daha verimli eş zamanlı çalışmasına yardımcı olan bir istemci ve sunucu runtime yapısıdır. Tek bir süreç GPU'yu doldurmadığında farklı süreçlerin kernel ve veri kopyalama işlemlerinin örtüşmesini sağlayabilir ve context switching yükünü azaltabilir.

MPS, MIG gibi donanım bölümlendirmesi değildir ve çok kiracılı bellek veya hata izolasyonu sunmaz. Kullanıcı modelini, hata davranışını, süreç muhasebesini, bellek sınırlarını ve gözlem araçlarının MPS sunucusunu nasıl raporladığını test edin.

Time-slicing, MIG ve MPS nasıl seçilir?

İlk karar izolasyon ihtiyacıdır. Güvenilmeyen veya birbirinden bağımsız ekiplerin iş yüklerinde tam GPU ya da desteklenen donanımda MIG daha güçlü sınırlar sunar. Aynı güven sınırındaki küçük ve kesintili işler için time-slicing basit kapasite paylaşımı sağlayabilir. Birbirine uyumlu, GPU'yu tek başına doldurmayan CUDA süreçlerinde MPS ayrıca değerlendirilebilir.

  • Tam GPU: en öngörülebilir performans ve güçlü iş yükü ayrımı
  • Time-slicing: geniş uyumluluk, fakat bellek ve hata izolasyonu yok
  • MIG: desteklenen GPU üzerinde donanım profili ve izolasyon
  • MPS: uyumlu CUDA süreçleri için eş zamanlılık ve kullanım iyileştirmesi

Üretime geçmeden önce ne ölçülmeli?

Temsil edici model ve veriyle GPU kullanım oranı, GPU bellek tepe değeri, istek gecikmesi, throughput, kuyruk süresi, hata oranı ve iş tamamlama süresi ölçülmelidir. Paylaşım açıkken aynı test eş zamanlı Pod sayısı artırılarak tekrarlanmalı; p95 veya p99 gecikme gibi servis hedefleri yalnızca ortalamayla değiştirilmemelidir.

VKE, vMind tarafından geliştirilen açık kaynak Kubernetes engine’dir. Node seviyesinde otomatik ölçeklendirme, Load Balancer ve storage class desteğini otomatik olarak sağlar. Paylaşım modelini temsilî iş yükünün gecikme, bellek ve hata ölçümüyle seçin.

FAQ

AI ve GPU hakkında sık sorulan sorular

Kubernetes GPU'yu otomatik olarak tanır mı?

Tek başına değil. GPU node üzerinde üretici sürücüsü ve device plugin kurulmalıdır. Plugin kaynağı Kubernetes'e ilan eder; Pod da ilgili genişletilmiş kaynağı limit olarak ister.

Time-slicing GPU belleğini böler mi?

Hayır. Time-slicing GPU zamanını birden fazla iş yükü arasında paylaşır fakat replica'lara ayrı ve garantili bellek bölümleri ya da hata izolasyonu vermez.

MIG ile time-slicing arasındaki fark nedir?

MIG desteklenen GPU'yu donanım seviyesinde belirli hesaplama ve bellek profillerine böler ve izolasyon sağlar. Time-slicing aynı fiziksel kaynağın zamanını paylaşır; bellek ve hata izolasyonu sağlamaz.

MPS ile MIG aynı anda kullanılabilir mi?

Donanım, sürücü ve MPS sürümüne bağlı senaryolar vardır; destek ve izolasyon davranışı profile göre değişir. Üretimden önce seçilen GPU ve yazılım matrisini gerçek iş yüküyle test edin.

GPU paylaşımı her zaman maliyeti düşürür mü?

Hayır. Paylaşım kullanım oranını artırabilir fakat contention nedeniyle gecikme veya iş tamamlama süresi yükselirse toplam maliyet ve servis kalitesi kötüleşebilir. Karar eş zamanlı yük testiyle verilmelidir.

Birincil kaynaklar

Araştırma kaynakları

Teknik açıklamalar aşağıdaki birincil kaynaklara dayanır.

  1. Kubernetes'te GPU zamanlama

    GPU'ların device plugin ile genişletilmiş kaynak olarak ilan edilmesi ve Pod tarafından istenmesi.

    Yayıncı
    Kubernetes Documentation
    Tür
    Resmi teknik dokümantasyon
    Erişim
  2. NVIDIA GPU time-slicing

    Time-slicing replica modeli, oversubscription davranışı ve izolasyon sınırları.

    Yayıncı
    NVIDIA Documentation
    Tür
    Resmi teknik dokümantasyon
    Erişim
  3. NVIDIA GPU Operator ile MIG

    MIG'in desteklenen GPU'ları donanım profillerine ayırması ve Kubernetes yönetim modeli.

    Yayıncı
    NVIDIA Documentation
    Tür
    Resmi teknik dokümantasyon
    Erişim
  4. NVIDIA Multi-Process Service

    MPS'in uyumlu CUDA süreçlerinde eş zamanlılık ve GPU kullanımını geliştirme amacı.

    Yayıncı
    NVIDIA Documentation
    Tür
    Resmi teknik dokümantasyon
    Erişim