VT-c – VMDq & VMDc

VT-c Virtualization Technology for Connectivity
硬體裝置的虛擬化目前看到 VT-c 的架構都是以 Network 為主,主要包含了下面兩個技術.

VMDq – Virtual Machine Device Queues

今天開會時同事說了一個沒聽過的名詞 "VMDq", ㄟ!!! 叫做什麼 "VMDq" ,為了發揮工程師性格一定要好好研究一下. 原來是 Intel 針對網卡的虛擬化所做的新功能,主要也是為了加強網卡效能以及減少 CPU 的使用率.
VMDq 全名是 Virtual Machine Device Queues http://software.intel.com/file/1919 目前有支援這項功能的只有Intel® 82575 Gigabit Ethernet / Controller and Intel® 82598 10 Gigabit Ethernet Controller, 同時還必須啟動虛擬化軟體才會有效果,我們現來看看透過這樣技術 Intel 這張網卡做了什麼改變.如下圖:
vmdq03
圖片出自於 http://software.intel.com/file/1919

目前我們使用的虛擬化不管是 RHEL 的 KVM 或是 Xen 還是 VMware / Citrix ,在處理虛擬機的網卡時都會透過一個由 VMM (或是叫 Hypervisor) 所管理的虛擬化 switch ,而這 switch 主要的功能就是轉送封包給正確的虛擬機.,但哪一些封包要流向哪一個 Vitual Machine (虛擬機器) 都需要額外的 CPU 資源才能完成這些工作.

而 Intel 所使用的 VMDq 就是為了減少這些額外 CPU 的處理. 透過網卡晶片內建的 Layer 2 classifier / sorter 以加速網路資料的傳送,它可以先行將不同的虛擬機所需的封包,直接在晶片裡面安排好再透過 receive queue,直接給虛擬機.這樣就不需再透過 Virtual switch 轉送封包. 進而達到減少網路的負載與 CPU 的使用率.

Virtual Machine Device Queues (VMDq) 已被 Intel 列為 VT 技術的一環節.

VMDq 說明影像檔 – http://www.youtube.com/watch?v=lOBOEcBSSkQ

VMDc – Virtual Machine Direct Connect

傳統的 VM 虛擬機上的虛擬網卡傳送主要透過 VMM (或是 hypervisor) 來進行傳輸, 而 Virtual Machine Direct Connect (VMDc) 允許 VM 可以直接針對實體網路 I/O 進行存取.雖然在 Intel VT-d 虛擬化技術中已經允許 VM 虛擬機可以直接和實體 I/O 連結.不過VMDc 使用了 PCI-SIG 的 Single Root I/O Virtualization (SR-IOV) 的技術. 透過 SR-IOV 這一項技術更進一步提升 VT-d 的功能.他可以同時讓多個 VM 虛擬機與實體 I/O 裝置同時建立通道(communication channels).

圖片出自於 http://software.intel.com/sites/oss/pdfs/320426.pdf

沒有解決問題,試試搜尋本站其他內容

2 thoughts on “VT-c – VMDq & VMDc

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料