x86平臺(tái)的虛擬化如今可謂炙手可熱。VMware、Citrix、Parallels等企業(yè)虛擬化軟件受到了眾多服務(wù)器廠商的熱烈追捧,應(yīng)用日漸廣泛。但虛擬化技術(shù)除了軟件之外,更需要底層的硬件的支持,硬件在虛擬化中發(fā)揮著尤為根本的作用。而以AMD等為代表的芯片廠商,在其四核芯片中都加強(qiáng)了對(duì)硬件虛擬化的支持。
記者獨(dú)家專訪了中國(guó)科學(xué)院計(jì)算技術(shù)研究所國(guó)家智能計(jì)算機(jī)研究開發(fā)中心研究員、博士生導(dǎo)師孫毓忠,他在計(jì)算機(jī)體系結(jié)構(gòu)、高速計(jì)算機(jī)網(wǎng)絡(luò)與虛擬機(jī)等領(lǐng)域都有深入的研究,目前正在開發(fā)虛擬化計(jì)算平臺(tái)及其系統(tǒng)管理軟件Rainbow項(xiàng)目。該項(xiàng)目旨在進(jìn)行基于虛擬化技術(shù)的、面向Internet應(yīng)用的Kernel研究。孫毓忠為記者深入剖析了硬件虛擬化的五個(gè)關(guān)鍵方面。
異構(gòu)
在6月18日公布的最新全球超級(jí)計(jì)算機(jī)TOP500中,IBM代號(hào)為“走鵑”的超級(jí)計(jì)算機(jī)榮登榜首。值得注意的是,該款計(jì)算機(jī)采用IBMCell和AMDOpteron處理器混合式設(shè)計(jì),并實(shí)現(xiàn)了性能空前的千萬億級(jí)運(yùn)算。另外,在收購(gòu)圖形芯片廠商ATI之后,AMD近期提出了加速處理單元(APU)的概念,APU是一種異構(gòu)多核心芯片加速器,集成了若干個(gè)CPU和其他專用處理器內(nèi)核,也可理解為CPU+GPU。走鵑的成功與APU的提出都表明了異構(gòu)計(jì)算強(qiáng)勁的發(fā)展態(tài)勢(shì)。
對(duì)此趨勢(shì),孫毓忠表示:“目前,計(jì)算機(jī)體系結(jié)構(gòu)呈現(xiàn)出巨大的異構(gòu)性,但在軟件層面,操作系統(tǒng)并不希望看到過多的異構(gòu)性。因此,硬件結(jié)構(gòu)便出現(xiàn)了以可重構(gòu)計(jì)算為核心的硬件虛擬化技術(shù)。”孫毓忠認(rèn)為,硬件虛擬化出現(xiàn)的一個(gè)重要根源在于,虛擬機(jī)可屏蔽掉各種處理單元的異構(gòu)性,不管這些單元是傳統(tǒng)的多核架構(gòu),還是來自不同廠商,還是CPU+GPU。
在混合架構(gòu)方面,由于AMD采用超傳輸總線(HT)的開放式總線架構(gòu),因此更易于與異質(zhì)處理單元的協(xié)作。
隔離性
硬件虛擬化除了能夠屏蔽掉硬件的復(fù)雜性,還能起到隔離的作用。“芯片廠商在支持硬件虛擬化方面,一個(gè)很重要的問題便是保持隔離性。”孫毓忠表示,“所謂隔離性,簡(jiǎn)單來說,就是通過硬件的冗余為每一個(gè)虛擬機(jī)保留一個(gè)獨(dú)立的執(zhí)行通道,這個(gè)通道包括獨(dú)立的CPU計(jì)算資源、內(nèi)存、I/O通道等。”
“當(dāng)然,利用硬件資源絕對(duì)的冗余來構(gòu)建虛擬機(jī)之間絕對(duì)的隔離,會(huì)造成一個(gè)問題:系統(tǒng)支持的虛擬機(jī)的個(gè)數(shù)將受到限制,執(zhí)行通道中的所有資源并不是都在全時(shí)運(yùn)轉(zhuǎn)。所以我認(rèn)為硬件虛擬化技術(shù)和硬件體系結(jié)構(gòu)還有非常廣闊的結(jié)合空間。”
據(jù)記者了解,AMD四核巴塞羅那處理器就提供了硬件虛擬化隔離技術(shù)。其設(shè)備排除矢量DEV(DeviceExclusionVector)技術(shù)可在內(nèi)存中創(chuàng)建保護(hù)域,通過拒絕未經(jīng)授權(quán)的內(nèi)存訪問請(qǐng)求,使設(shè)備在未經(jīng)授權(quán)的情況下不能訪問內(nèi)存頁面,這就增強(qiáng)了硬件虛擬化的安全性。而且,該功能并非由軟件實(shí)現(xiàn),而是內(nèi)嵌到硬件之中,無疑效率更高。據(jù)悉,只有具備集成內(nèi)存控制器的處理器才可以提供這項(xiàng)優(yōu)勢(shì),目前在x86領(lǐng)域,只有AMD能做到這一點(diǎn)。
內(nèi)存墻
在高性能計(jì)算領(lǐng)域,計(jì)算能力相對(duì)富余,但I(xiàn)/O不足,存在內(nèi)存墻(MemoryWall)等問題,束縛了計(jì)算性能的進(jìn)一步提升。內(nèi)存墻是指從CPU核心到內(nèi)存之間的數(shù)據(jù)交換往往受制于帶寬限制,之間的延遲越來越高,由此限制了系統(tǒng)整體性能的提升。硬件虛擬化的性能取決于延遲的大小。“芯片廠商都在努力提高通道帶寬,比如AMD采用了直連架構(gòu),能夠提高CPU與CPU之間的通信效率;其集成內(nèi)存控制器技術(shù),使CPU到內(nèi)存的路徑更短,提高帶寬,降低延遲,使一個(gè)內(nèi)核可以處理的線程更多,提高計(jì)算效率,并具有更出色的可擴(kuò)展能力。”孫毓忠表示。
在硬件虛擬化方面,為提升虛擬機(jī)與物理機(jī)之間的數(shù)據(jù)傳送及翻譯轉(zhuǎn)換,AMD巴塞羅那使用了帶標(biāo)簽的TLB(TranslationLook-asideBuffer,地址轉(zhuǎn)換后備緩沖器)。加標(biāo)簽的TLB使地址空間標(biāo)識(shí)符(ASID)附加于TLB項(xiàng)中,在多個(gè)虛擬機(jī)同時(shí)運(yùn)行時(shí)或是在內(nèi)存地址中切換時(shí),可以令Hypervisor知道TLB與虛擬機(jī)之間的一一對(duì)應(yīng)關(guān)系,無須刷新和重新裝載,從而提高虛擬機(jī)的性能。
另外,AMD巴塞羅那還提供硬件層的快速硬件虛擬化索引技術(shù)(RVI,Rapid VirtualizationIndexing),通過硬件轉(zhuǎn)換內(nèi)存,就像沒有使用硬件虛擬化一樣,可使硬件虛擬化性能得到75%的提升。
“從體系結(jié)構(gòu)的創(chuàng)新性來說,特別是在多核架構(gòu)這個(gè)角度,AMD走在思想的前列,比如直連架構(gòu)、集成內(nèi)存控制器等,都是AMD首先提出來并實(shí)現(xiàn)的。這些說明AMD開創(chuàng)了先河,至少在思想上已經(jīng)成為行業(yè)的領(lǐng)先者。”孫毓忠認(rèn)為。
主頻
硬件虛擬化很關(guān)心CPU提供的支持,但CPU頻率會(huì)無限高嗎?無限高就代表很先進(jìn)嗎?
“這是一個(gè)很重大的問題。從體系結(jié)構(gòu)上來說,主頻無限高會(huì)帶來很大的問題,所以這就是為什么出現(xiàn)了多核的原因,頻率降一點(diǎn),但是個(gè)數(shù)多一點(diǎn),總的效能也會(huì)上去。”孫毓忠對(duì)記者說,“在多核這方面,AMD通過體系結(jié)構(gòu)的創(chuàng)新,而不是單純地追求物理極限的創(chuàng)新,來實(shí)現(xiàn)計(jì)算效能的提高。在這方面,AMD是具有前瞻性的。硬件虛擬化起一個(gè)核心作用就是怎么樣跟上潮流,提供更有效的硬件資源的使用方法,這種使用方法的核心就是共享和隔離。”
云計(jì)算
云計(jì)算是2008年計(jì)算領(lǐng)域中的熱門詞匯,包括Google、IBM、微軟等IT巨頭都有不少動(dòng)作。孫毓忠也在做一個(gè)相關(guān)項(xiàng)目——硬件虛擬化計(jì)算平臺(tái)及其系統(tǒng)管理軟件Rainbow,這是一個(gè)融合了云計(jì)算與硬件虛擬化的計(jì)算系統(tǒng)。
“硬件虛擬化技術(shù)提供了一個(gè)云計(jì)算的基礎(chǔ)架構(gòu)。”孫毓忠向記者介紹該項(xiàng)目,“在這個(gè)架構(gòu)中,任何一個(gè)客戶(可能共有一百萬個(gè)客戶),都有屬于自己專有的獨(dú)立的計(jì)算資源。系統(tǒng)可以給每個(gè)客戶一個(gè)計(jì)算形態(tài),這些計(jì)算形態(tài)是在Internet上分布的,這就需要計(jì)算執(zhí)行環(huán)境的硬件虛擬化。這些硬件虛擬化的執(zhí)行環(huán)境會(huì)映射到中間的虛擬機(jī)池,虛擬機(jī)池通過新型的虛擬化技術(shù)映射到離散的這些CPU或者機(jī)器上。從這個(gè)角度來講,云計(jì)算的一個(gè)核心思想就是在服務(wù)器端實(shí)現(xiàn)集中的提供,同時(shí)要服務(wù)不同的人,也就是共享加隔離(安全、可信)。”