Hyper-V和多处理器虚机
生活随笔
收集整理的這篇文章主要介紹了
Hyper-V和多处理器虚机
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
架構概述 Hyper-V采用基于Hyperisor的架構,并且充分利用Windows驅(qū)動模型,以便提供廣泛的硬件支持。Hypervisor可以把單個服務器劃分為多個CPU和內(nèi)存的容器。由于采用微內(nèi)核架構,Hyper-V可以提供高效的分區(qū)間通信機制,并在此基礎上搭建高性能的虛擬I/O架構。根分區(qū)包含物理I/O設備,還將提供虛擬棧用來為子分區(qū)所實現(xiàn)的I/O服務。?
虛擬??梢詫崿F(xiàn)模擬I/O設備,例如IDE控制器和DEC 21140A網(wǎng)卡。然而模擬這種設備的代價很昂貴。發(fā)送單個I/O請求,就有可能導致虛擬棧和子分區(qū)之間的多次切換。相反,Hyper-V提供專門為虛機環(huán)境所設計的虛擬I/O設備。這些虛擬設備連接到VMBus,這是一個支持即插即用的總線,使用共享內(nèi)存,以便可以有效地進行分區(qū)間通信。Windows虛機可以自動檢測到VMBus上的虛擬設備,并且加載合適的驅(qū)動程序。?
Hyper-V中的虛擬輸入/輸出采用客戶端/服務器架構,在根分區(qū)中包含VSP(虛擬服務提供程序),在子分區(qū)中包含VSC(虛擬服務客戶端)。該架構極大地減少發(fā)送I/O請求所需的開銷。如果Virtual Server用戶把虛機遷移到Hyper-V中,他們將體會到高I/O的工作負載的CPU開銷大大降低。 多處理器的虛機 在這第一篇文章里,筆者想著重指出Hyper-V的主要性能特性:多處理器的虛機。Hyper-V支持4 CPU的Windows Server 2008虛機,和2 CPU的Windows Server 2003虛機。如果服務器工作負載需要很高的性能,我們可以考慮用2 CPU或者4 CPU的Hyper-V虛機對其進行虛擬化。當然,只有當工作負載確實需要的時候,才應該使用多處理器虛機,因為擁有更多的處理器會帶來一些額外的開銷。 然而,操作系統(tǒng)內(nèi)核和驅(qū)動會采用自旋鎖(Spin Lock)的機制,在獲得自旋鎖之前,(線程)并不會阻塞,并一直處于自旋狀態(tài),前提是自旋鎖只會保持很短的時間。但是虛擬化會打破這種條件,因為虛擬處理器是按時間片進行調(diào)度的。如果在保持自旋鎖的時候競爭虛擬處理器,則其他虛擬處理器就要自旋很長時間,導致CPU循環(huán)的浪費 我們在Hypervisor和Windows Server 2008內(nèi)核里加入創(chuàng)新設計,盡可能防止出現(xiàn)自旋鎖的長時間等待條件,如果確實存在長時間等待條件,也會有效地加以檢測并對其進行處理。我們還對Hypervisor進行設計,包括調(diào)度程序和內(nèi)存虛擬化邏輯,以使它們在大多數(shù)臨界區(qū)中都不會鎖定,從而確保多處理器系統(tǒng)能夠獲得很好的延展性。 所以,4 CPU的Windows Server 2008虛機,其延展性可以和物理4 CPU系統(tǒng)一較高下。這是一個很好的注解,來詮釋Windows Server 2008虛機和Hyper-V如何一起提供性能上的改進。我們還將在后續(xù)的版本里繼續(xù)提高多處理器系統(tǒng)和多處理器虛機的延展性。
本文轉(zhuǎn)自 chinaperrylee 51CTO博客,原文鏈接:http://blog.51cto.com/perry/146257,如需轉(zhuǎn)載請自行聯(lián)系原作者
虛擬??梢詫崿F(xiàn)模擬I/O設備,例如IDE控制器和DEC 21140A網(wǎng)卡。然而模擬這種設備的代價很昂貴。發(fā)送單個I/O請求,就有可能導致虛擬棧和子分區(qū)之間的多次切換。相反,Hyper-V提供專門為虛機環(huán)境所設計的虛擬I/O設備。這些虛擬設備連接到VMBus,這是一個支持即插即用的總線,使用共享內(nèi)存,以便可以有效地進行分區(qū)間通信。Windows虛機可以自動檢測到VMBus上的虛擬設備,并且加載合適的驅(qū)動程序。?
Hyper-V中的虛擬輸入/輸出采用客戶端/服務器架構,在根分區(qū)中包含VSP(虛擬服務提供程序),在子分區(qū)中包含VSC(虛擬服務客戶端)。該架構極大地減少發(fā)送I/O請求所需的開銷。如果Virtual Server用戶把虛機遷移到Hyper-V中,他們將體會到高I/O的工作負載的CPU開銷大大降低。 多處理器的虛機 在這第一篇文章里,筆者想著重指出Hyper-V的主要性能特性:多處理器的虛機。Hyper-V支持4 CPU的Windows Server 2008虛機,和2 CPU的Windows Server 2003虛機。如果服務器工作負載需要很高的性能,我們可以考慮用2 CPU或者4 CPU的Hyper-V虛機對其進行虛擬化。當然,只有當工作負載確實需要的時候,才應該使用多處理器虛機,因為擁有更多的處理器會帶來一些額外的開銷。 然而,操作系統(tǒng)內(nèi)核和驅(qū)動會采用自旋鎖(Spin Lock)的機制,在獲得自旋鎖之前,(線程)并不會阻塞,并一直處于自旋狀態(tài),前提是自旋鎖只會保持很短的時間。但是虛擬化會打破這種條件,因為虛擬處理器是按時間片進行調(diào)度的。如果在保持自旋鎖的時候競爭虛擬處理器,則其他虛擬處理器就要自旋很長時間,導致CPU循環(huán)的浪費 我們在Hypervisor和Windows Server 2008內(nèi)核里加入創(chuàng)新設計,盡可能防止出現(xiàn)自旋鎖的長時間等待條件,如果確實存在長時間等待條件,也會有效地加以檢測并對其進行處理。我們還對Hypervisor進行設計,包括調(diào)度程序和內(nèi)存虛擬化邏輯,以使它們在大多數(shù)臨界區(qū)中都不會鎖定,從而確保多處理器系統(tǒng)能夠獲得很好的延展性。 所以,4 CPU的Windows Server 2008虛機,其延展性可以和物理4 CPU系統(tǒng)一較高下。這是一個很好的注解,來詮釋Windows Server 2008虛機和Hyper-V如何一起提供性能上的改進。我們還將在后續(xù)的版本里繼續(xù)提高多處理器系統(tǒng)和多處理器虛機的延展性。
本文轉(zhuǎn)自 chinaperrylee 51CTO博客,原文鏈接:http://blog.51cto.com/perry/146257,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Hyper-V和多处理器虚机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS让文字在元素内绝对居中!!!【ie
- 下一篇: Excel 2016新增函数之TEXTJ