Ana içeriğe geç
Bulut & Altyapı

Virtio-nvgpu KVM sanal makinelerinde neredeyse kayıpsız Nvidia GPU erişimi sağlıyor

Öne çıkanlar

  • Kare süresi 2 milisaniyenin üzerindeki iş yüklerinde fiziksel donanıma kıyasla performans kaybı yüzde 2'de kaldı.
  • Tek bir Nvidia RTX 3060 üzerinde dört sanal makine donanımsal video kodlama sınırına takılmadan çalıştırıldı.
  • Sistem API seviyesinde çağrı çevirisi yapmak yerine doğrudan çekirdek sürücüsü ioctl çağrılarını yönlendiriyor.

Açık kaynaklı virtio-nvgpu projesi, KVM tabanlı Linux sanal makinelerinde Nvidia grafik işlemcilerinin neredeyse yerel performansla çalıştırılmasını mümkün kıldı. Sistem, grafik API düzeyindeki çeviri katmanlarını tamamen atlayarak doğrudan çekirdek sürücüsü ABI seviyesinde ioctl çağrılarını konuk işletim sisteminden ana makineye iletiyor. Bu mimari sayesinde sanal makine içerisindeki kullanıcı alanı sürücüleri değiştirilmeden çalışıyor ve GPU komut tamponları doğrudan konuk makine içinde oluşturuluyor.

Ekip tarafından paylaşılan test sonuçlarına göre sistem, özellikle ekran kartı çıktısının doğrudan video akışı olarak sunulduğu başsız kullanım senaryolarını hedefliyor. Bir Nvidia RTX 3060 üzerinde gerçekleştirilen Vulkan testlerinde, kare çizim süresi 2 milisaniyenin üzerindeki iş yüklerinde konuk makinenin fiziksel donanıma kıyasla yalnızca yüzde 2'lik bir farkla çalıştığı ölçüldü. Bellek eşleme yöntemi sayesinde kare döngüsünde doğrudan yönlendirme yapılmadığı için konuk makinenin işlemci yükü de fiziksel sunucu seviyesinde kaldı.

Proje ayrıca tek bir RTX 3060 ekran kartı üzerinde çalışan dört bağımsız sanal makinenin aynı anda Vulkan çizimi yapabildiğini ve NVENC üzerinden H.264 video kodlayabildiğini ortaya koydu. Mimari olarak gVisor nvproxy projesini temel alan virtio-nvgpu; GPL lisanslı bir konuk çekirdek sürücüsü, sanal makine yöneticilerinden bağımsız Rust tabanlı bir aygıt kütüphanesi ve ortak protokol başlıkları olmak üzere üç bileşenden meydana geliyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.