3,151 瀏覽數

PCI-SIG I/O Virtualization (IOV)

上星期去參加了 Intel 的 Cloud Data Center Design Seminar,在 Q&A 時間有人提出為什麼 Intel 採用了 Single Root IOV 而不採用 Multi-Root IOV.咦!!!這是什麼先來看看 PCI SIG 官方網站的說明.
http://www.pcisig.com/specifications/iov/

I/O Virtualization
PCI-SIG I/O Virtualization (IOV) Specifications, in conjunction with system virtualization technologies, allow multiple operating systems running simultaneously within a single computer to natively share PCI Express® devices. These specifications are grouped into three areas:

  • Address Translation Services (ATS): this specification provides a set of transactions for PCI Express components to exchange and use translated addresses in support of native I/O Virtualization.
  • Single Root IOV: this specification provides native I/O Virtualization in existing PCI Express topologies where there is a single root complex.
  • Multi-Root IOV: this specification builds on the Single Root IOV Specification to provide native I/O Virtualization in new topologies (such as blade servers) where multiple root complexes share a PCI Express hierarchy.

裡面的內容大致是敘述 I/O 虛擬化是如何透過 Single Root IOV 以及 Multi-Root IOV 來達成.原文中有提到 3 種 I/O 虛擬化的方式.

  • Address Translation Services (ATS):
    主要是透過 PCI-E 上面加入了 cache,可以讓 VM 做 I/O 時可以加快處理效率.
  • Single Root IOV:
    透過這技術可以讓同一台 Server 上的 VM 可以同時共享 I/O 裝置.
  • Multi-Root IOV:
    用在 Blade server 上透過這一項技術可以讓多 blade server 可以同時存取 PCI-E 上的裝置.

我還參考了這一份文件 http://www.fachgespraech-virtualisierung.de/fileadmin/FGV/Schraeder.pdf 其時我還是有點搞不是很清楚這幾項技術,希望上面翻譯的內容不要錯的太離譜.

發表迴響