ScholarGate
Asistan

G/Ç Sanallaştırması ve DMA

Doğrudan bellek erişimi, işlemcinin her bir kelimeye müdahalesi olmaksızın cihazların belleğe veri aktarmasına olanak tanır ve G/Ç sanallaştırması bunu fiziksel cihazların sanal makineler arasında güvenli bir şekilde paylaşılmasına kadar genişletir; her ikisi de verimli modern ve bulut sistemleri için merkezi bir öneme sahiptir.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

Doğrudan bellek erişimi, bir cihazın işlemcinin her bir veriyi kopyalamasına gerek kalmadan doğrudan ana belleğe veya ana bellekten veri aktardığı bir mekanizmadır ve G/Ç sanallaştırması, fiziksel G/Ç cihazlarını birden fazla sanal makine arasında güvenli ve verimli bir şekilde sunan ve paylaşan teknikler bütünüdür.

Kapsam

Bu konu, doğrudan bellek erişimi (DMA) ve G/Ç'nin sanallaştırılmasını kapsamaktadır: DMA denetleyicilerinin büyük miktardaki veriyi nasıl taşıdığı ve tamamlandığını nasıl bildirdiği, IOMMU'nun cihaz aktarımları için adres çevirisi ve korumadaki rolü ve cihaz öykünmesi, parasanallaştırma ve donanım destekli doğrudan geçiş gibi sanal makineler arasında cihazları paylaşma teknikleri incelenmektedir. Verimli ve güvenli cihaz veri hareketini ele almaktadır. Temel cihaz kontrolü ve kesmeleri (G/Ç mimarisi ve veri yolları) ile depolama ortamları (ikincil depolama cihazları) bu kapsamın dışındadır.

Temel sorular

  • DMA, işlemciyi meşgul etmeden büyük miktardaki veriyi nasıl aktarır?
  • Bir IOMMU, cihaz aktarımları için adres çevirisi ve korumayı nasıl sağlar?
  • Fiziksel cihazlar sanal makineler arasında güvenli bir şekilde nasıl paylaşılır?
  • Cihaz öykünmesi, parasanallaştırma ve doğrudan geçiş arasındaki ödünleşimler nelerdir?

Anahtar kavramlar

  • doğrudan bellek erişimi (DMA)
  • DMA denetleyicisi ve tanımlayıcıları
  • tamamlama kesmeleri
  • IOMMU ve cihaz adres çevirisi
  • cihaz öykünmesi
  • parasanallaştırılmış G/Ç
  • cihaz doğrudan geçişi ve SR-IOV
  • izolasyon ve koruma

Temel kuramlar

Doğrudan bellek erişimi
Bir DMA denetleyicisi, bir cihaz ile bellek arasında veri bloklarını otonom olarak aktarır ve işlemciyi yalnızca tamamlandığında kesintiye uğratır; bu durum G/Ç'yi hesaplama ile çakıştırır ve yüksek verimli veri hareketi için hayati öneme sahiptir.

Mekanizmalar

Bir DMA aktarımı için işlemci, bir denetleyiciyi kaynak, hedef ve uzunluk bilgileriyle programlar, ardından cihaz veriyi taşırken ve bir tamamlama kesmesi yükseltirken diğer işlerine devam eder. Bir IOMMU, cihazların kullandığı adresleri çevirir ve erişimlerini sınırlar, böylece koruma sağlar ve güvenli doğrudan geçişi mümkün kılar. Sanal makineler, öykünülmüş cihazlar, parasanallaştırılmış sürücüler veya doğrudan donanım geçişi (tek bir cihazın birden fazla sanal işlev sunmasına olanak tanıyan tek köklü G/Ç sanallaştırması dahil) aracılığıyla cihazlara erişir.

Klinik önem

DMA, depolama ve ağ cihazlarına ve bu cihazlardan yapılan toplu aktarımlar sırasında işlemciyi serbest bırakarak verimli G/Ç için temel teşkil eder. G/Ç sanallaştırması, birçok sanal makinenin fiziksel donanımı paylaştığı bulut bilişim ve veri merkezleri için hayati öneme sahiptir; IOMMU ise paylaşımı ve doğrudan cihaz atamasını hem güvenli hem de hızlı kılan izolasyonu sağlar.

Tarihçe

Doğrudan bellek erişimi, ilk bilgisayarlardan bu yana veri hareketini işlemciden boşaltmak için kullanılmaktadır. 2000'li yıllarda sanallaştırma sunucular ve bulut bilişim için merkezi hale geldikçe, cihaz paylaşımını ve doğrudan atamayı verimli ve güvenli hale getirmek için IOMMU ve tek köklü G/Ç sanallaştırması gibi donanım desteği eklenmiştir.

Tartışmalar

Doğrudan geçiş performansı ve esneklik
Doğrudan cihaz geçişi, sanal makinelere neredeyse yerel G/Ç performansı sağlar ancak taşıma ve aşırı abonelik için esnekliği azaltır; oysa öykünülmüş veya parasanallaştırılmış G/Ç daha esnek ancak daha yavaştır. Sistem tasarımcıları iş yükleri için bunları dengelemektedir.

Öne çıkan isimler

  • John L. Hennessy
  • David A. Patterson
  • Abraham Silberschatz

İlgili konular

Temel eserler

  • hennessy2019
  • silberschatz2018

Sıkça sorulan sorular

Bir IOMMU ne işe yarar?
Bir IOMMU, DMA sırasında cihazların kullandığı adresleri fiziksel bellek adreslerine çevirir ve bir cihazın hangi belleğe erişebileceğini kısıtlar. Bu, koruma ve izolasyon sağlar — bir cihazın veya sürücünün rastgele belleği bozmasını önler — ve cihazların sanal makinelere güvenli doğrudan atanmasını mümkün kılar.
DMA performans için neden önemlidir?
DMA olmasaydı, işlemci her kelimeyi bir cihaza veya cihazdan kopyalamak zorunda kalır, bu da döngüleri tüketir ve yavaş aktarımlarda duraklamalara neden olurdu. DMA, büyük miktardaki veri hareketini özel bir denetleyiciye aktararak işlemcinin başka faydalı işler yapmasına ve yalnızca tek bir tamamlama kesmesini ele almasına olanak tanır.

Bu kavram için yöntemler

İlgili kavramlar