虛擬化與高性能計(jì)算:直面七大技術(shù)挑戰(zhàn) |
發(fā)布時(shí)間: 2012/8/4 18:17:51 |
虛擬化與高性能計(jì)算:直面七大技術(shù)挑戰(zhàn)盡管虛擬化技術(shù)的應(yīng)用能夠提高商用高端服務(wù)器的利用率,但與傳統(tǒng)高性能計(jì)算技術(shù)(HPC)的代表超級(jí)計(jì)算機(jī)一樣也面臨著許多技術(shù)困境。目前全球高端服務(wù)器市場(chǎng)主要被RISC架構(gòu)的產(chǎn)品占據(jù),約占服務(wù)器市場(chǎng)近40%的份額。但隨著開(kāi)放式系統(tǒng)應(yīng)用的深入、普通用戶對(duì)高端服務(wù)器的需求增加、集群系統(tǒng)的技術(shù)成熟,RISC的地位進(jìn)一步動(dòng)搖。主要體現(xiàn)在,新興行業(yè)和競(jìng)爭(zhēng)激烈的傳統(tǒng)行業(yè)因成本帶來(lái)的巨大壓力而產(chǎn)生的對(duì)8至16路通用服務(wù)器(此處“通用服務(wù)器”是相對(duì)采用RISC架構(gòu)芯片的服務(wù)器而言,即采用x86或安騰架構(gòu)處理器的服務(wù)器)的需求;高性能集群系統(tǒng)的成功應(yīng)用,導(dǎo)致放棄使用大型機(jī)而采用基于集群技術(shù)的通用多路服務(wù)器所形成的市場(chǎng),尤其對(duì)星群的高性能集群的需求的增長(zhǎng)。 虛擬化給高端服務(wù)器帶來(lái)機(jī)會(huì) 盡管需求一再攀升,但商用高端服務(wù)器與傳統(tǒng)的高性能計(jì)算技術(shù)的代表超級(jí)計(jì)算機(jī)一樣也面臨著困境——計(jì)算機(jī)的實(shí)際計(jì)算能力大大低于系統(tǒng)理論的峰值。不僅如此,人們?cè)诰幹乒┧鼈兪褂玫牟⑿谐绦驎r(shí)的付出也與其產(chǎn)出不成比例。因此,滿足對(duì)高效能的需求已成為人們?cè)O(shè)計(jì)商用高端服務(wù)器的重大挑戰(zhàn)。目前高性能計(jì)算機(jī)仍沿用馮。諾依曼模型為基礎(chǔ)的以CPU為核心的計(jì)算模式。作為這一模式基礎(chǔ)的CPU技術(shù)目前已經(jīng)發(fā)展到了追求線程級(jí)并行(TLP)的多核時(shí)代,其代表就是片上服務(wù)器(server-on-chip),例如Sun的UltraSPARC T1“Niagara”處理器芯片。但是,問(wèn)題仍然沒(méi)有解決——由于應(yīng)用的復(fù)雜、種類的繁多、規(guī)模的巨大,單一的編譯器或操作系統(tǒng)仍然無(wú)法智能地去挖掘蘊(yùn)藏在其中的全部并行性。 利用虛擬機(jī)這一技術(shù)可以在單一服務(wù)器上支持不同的應(yīng)用軟件和操作系統(tǒng),而且還能夠動(dòng)態(tài)地將資源分配到最需要的地方,可以減少數(shù)據(jù)處理過(guò)程中所需的服務(wù)器數(shù)量。有了虛擬機(jī),企業(yè)在每次部署新的操作系統(tǒng)時(shí),就無(wú)需遷移現(xiàn)有的應(yīng)用軟件,從而能延長(zhǎng)那些雖然已經(jīng)過(guò)時(shí),但仍非常重要的應(yīng)用軟件的使用周期。這樣,那些基于Windows NT的應(yīng)用程序就可以再次煥發(fā)生機(jī)。 除此之外,人們發(fā)現(xiàn)利用虛擬技術(shù),也能進(jìn)一步發(fā)掘應(yīng)用間的時(shí)間和空間的并行性。當(dāng)然,虛擬機(jī)技術(shù)帶來(lái)的隔離性、安全性、靈活性更增添了這一技術(shù)的魅力。中科院計(jì)算所目前正在研究的項(xiàng)目的主要內(nèi)容就是圍繞如何利用虛擬機(jī)技術(shù)構(gòu)造高端商用服務(wù)器,研究新型的高端服務(wù)器和相關(guān)技術(shù),同時(shí)考慮虛擬SMP的入侵防護(hù)技術(shù)。除了這些方面,基于虛擬化技術(shù)的商用高端服務(wù)器,在各種環(huán)節(jié)的研發(fā)中還存在諸多技術(shù)挑戰(zhàn)。 虛擬機(jī)及其協(xié)同技術(shù) 虛擬機(jī)是構(gòu)造虛擬SMP服務(wù)器的基礎(chǔ),它是由虛擬機(jī)監(jiān)控(VMM)軟件創(chuàng)建和管理。傳統(tǒng)的VMM例如Xen和VMware面向單一節(jié)點(diǎn),節(jié)點(diǎn)既可以是單一CPU也可以由SMP構(gòu)成。這時(shí)由這些VMM所構(gòu)造的虛擬機(jī)(VM)所能夠利用的資源例如CPU、內(nèi)存、磁盤(pán)、通信帶寬等就僅限于這個(gè)單一的物理節(jié)點(diǎn)。從這個(gè)意義上說(shuō),虛擬機(jī)間的協(xié)同也就等價(jià)于傳統(tǒng)服務(wù)節(jié)點(diǎn)或服務(wù)器間的協(xié)同,無(wú)法充分利用基于虛擬機(jī)技術(shù)創(chuàng)新所帶來(lái)的益處。因此,必須突破目前虛擬機(jī)構(gòu)造中資源的局限性,使得一個(gè)虛擬機(jī)不僅能夠從它的宿主物理節(jié)點(diǎn)上取得資源,而且能夠利用網(wǎng)絡(luò)從其他非宿主的物理節(jié)點(diǎn)上獲取資源,從而實(shí)現(xiàn)資源在虛擬機(jī)間的流動(dòng),實(shí)現(xiàn)部件級(jí)的虛擬化。這里的部件泛指CPU、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò)等構(gòu)成傳統(tǒng)計(jì)算機(jī)的部件。 計(jì)算所要研究的分布式超級(jí)虛擬機(jī)監(jiān)控軟件(distributed hyper virtual machine monitor,DHVMM)是實(shí)現(xiàn)部件級(jí)虛擬化的關(guān)鍵支撐。基于DHVM提供的強(qiáng)大的部件級(jí)虛擬化能力,虛擬機(jī)間的協(xié)同就轉(zhuǎn)變?yōu)橘Y源和作業(yè)的調(diào)度和遷移。該項(xiàng)目將強(qiáng)調(diào)部件在虛擬機(jī)間的流動(dòng),當(dāng)一個(gè)虛擬機(jī)有大量作業(yè)到達(dá)或有繁重作業(yè)而出現(xiàn)負(fù)載尖鋒時(shí),不采用傳統(tǒng)的方法如作業(yè)/進(jìn)程的遷移,而是通過(guò)DHVMM將網(wǎng)絡(luò)環(huán)境中可利用的其他虛擬機(jī)上的空閑部件“流動(dòng)”到資源緊張的虛擬機(jī)上,通過(guò)動(dòng)態(tài)地增強(qiáng)重載虛擬機(jī)的計(jì)算能力、存儲(chǔ)能力、通信能力來(lái)處理其上的作業(yè)。同時(shí),當(dāng)作業(yè)的負(fù)載高峰過(guò)去后,被動(dòng)態(tài)增強(qiáng)的虛擬機(jī)可以自由、實(shí)時(shí)地釋放“富余”的部件,供系統(tǒng)中其他虛擬機(jī)在需要的時(shí)候動(dòng)態(tài)地獲取,計(jì)算所將這種技術(shù)稱為能力服務(wù)計(jì)算。 共享內(nèi)存技術(shù) SMP服務(wù)器的核心是內(nèi)存共享技術(shù),例如著名的Snoopy或者directory協(xié)議等。這些技術(shù)通常需要一定程度硬件的支持才能獲得期望的高性能,例如SGI Altix的cc-NUMA內(nèi)存共享技術(shù),因此成本高昂、擴(kuò)展性差。隨著網(wǎng)絡(luò)技術(shù)特別是Myrinent和Infiniband網(wǎng)絡(luò)技術(shù)的發(fā)展,基于軟件實(shí)現(xiàn)的內(nèi)存共享技術(shù),例如分布式共享內(nèi)存DSM技術(shù)由于成本低廉和可擴(kuò)展性好而開(kāi)始發(fā)展起來(lái)。 計(jì)算所研究的這個(gè)項(xiàng)目要求實(shí)現(xiàn)多個(gè)物理服務(wù)器的整合(8個(gè)以上),因此更適合于使用不依賴硬件支持的基于軟件的內(nèi)存共享技術(shù),以獲得更好的通用性和平臺(tái)獨(dú)立性。傳統(tǒng)的DSM技術(shù)不得不使用復(fù)雜的以lock和barrier為基礎(chǔ)實(shí)現(xiàn)的融貫性和一致性協(xié)議,導(dǎo)致延遲開(kāi)銷很大。隨著UPC為代表的分割的全局地址空間模型編程技術(shù)的發(fā)展,為發(fā)展新型的內(nèi)存共享技術(shù)提供了客觀的需求。 另一方面,高效能服務(wù)器設(shè)計(jì)中的一個(gè)重要問(wèn)題是提高編程的效率,而阻礙并行編程效率的首要問(wèn)題就是進(jìn)程或線程間的通信和同步問(wèn)題,所以事務(wù)塊寄存器技術(shù)得以發(fā)展,因?yàn)樗∠诉^(guò)去在并行程序中必須使用的lock和barrier等同步操作。同時(shí),由于顯式同步的減少或取消使得線程因數(shù)據(jù)依賴或同步依賴導(dǎo)致的進(jìn)程等待時(shí)間大大減少,使系統(tǒng)吞吐率提高,從而使得內(nèi)核負(fù)載的飽滿程度得以大幅提升,進(jìn)一步提高了系統(tǒng)的生產(chǎn)率。該項(xiàng)目計(jì)劃將以DHVMM為基礎(chǔ),發(fā)展全新的以軟件實(shí)現(xiàn)的內(nèi)存共享技術(shù)。 動(dòng)態(tài)部署技術(shù) 在以虛擬機(jī)為基礎(chǔ)的商業(yè)高端服務(wù)器中部署技術(shù)是系統(tǒng)靈活可重構(gòu)性的基礎(chǔ),也是系統(tǒng)高可用性的保障。通常意義的動(dòng)態(tài)部署技術(shù)主要指物理節(jié)點(diǎn)本身和其操作系統(tǒng)與應(yīng)用軟件的部署,而在計(jì)算所的研究中動(dòng)態(tài)部署技術(shù)已突破了傳統(tǒng)的意義,重點(diǎn)是研究部件級(jí)虛擬化下虛擬機(jī)的動(dòng)態(tài)部署和部件的動(dòng)態(tài)部署。 虛擬化的部件部署是虛擬機(jī)部署的基礎(chǔ),而虛擬機(jī)的部署又是SMP系統(tǒng)部署的基石。虛擬機(jī)僅僅是部件在馮。諾依曼模型下的臨時(shí)、動(dòng)態(tài)的聚合形態(tài),其目的是執(zhí)行指令、完成計(jì)算,同時(shí)提供指令和數(shù)據(jù)的存放和獲取,從而構(gòu)建一個(gè)以CPU為塔尖,各級(jí)緩存、內(nèi)存、磁盤(pán)構(gòu)成的存儲(chǔ)體系為塔身的計(jì)算架構(gòu)。因此,虛擬機(jī)在部件級(jí)虛擬化下,就成為一個(gè)臨時(shí)、動(dòng)態(tài)創(chuàng)建的“數(shù)組”,DHVMM為其動(dòng)態(tài)地“分配”所需的“內(nèi)存”或一塊全局的“虛擬地址空間”。該項(xiàng)目的目標(biāo)之一是研究全新的分布式部件創(chuàng)立、管理、使用、回收的技術(shù),實(shí)現(xiàn)虛擬機(jī)在SMP意義下的快速部署。 虛擬SMP高性能服務(wù)器技術(shù) 由于DHVMM提供了部件虛擬化技術(shù),由此計(jì)算所發(fā)展了新型的內(nèi)存共享技術(shù)和動(dòng)態(tài)部署技術(shù),因此,傳統(tǒng)的SMP服務(wù)器的體系架構(gòu)已經(jīng)不能滿足需求,必須研究新型的體系結(jié)構(gòu)以構(gòu)建大型虛擬SMP高端服務(wù)器。完全支持目前的TCC協(xié)議的transactional shared memory(事務(wù)塊共享存儲(chǔ))技術(shù)還是很難直接應(yīng)用在實(shí)用的高端商業(yè)虛擬服務(wù)器中,其中的原因與傳統(tǒng)的高性能計(jì)算技術(shù)一樣,還是應(yīng)用并行化的困境,還沒(méi)有高效的編譯器能夠自動(dòng)將主流系統(tǒng)軟件和大型應(yīng)用軟件如Oracle數(shù)據(jù)庫(kù)事務(wù)化(transactionalize),因而不得不依賴于編程人員的經(jīng)驗(yàn)和智慧。 另一個(gè)目前難以克服的障礙是事務(wù)塊共享存儲(chǔ)技術(shù)中引入了對(duì)要讀取的共享變量的“預(yù)測(cè)”,因此就必須考慮預(yù)測(cè)失敗的異常處理。通常的做法是回溯(rollback),因而代價(jià)高昂。考慮到這些現(xiàn)實(shí)的阻礙,需要研究創(chuàng)新的基于軟件實(shí)現(xiàn)的虛擬SMP體系架構(gòu),要求能不依賴于編譯和手工進(jìn)行事務(wù)塊共享存儲(chǔ)的優(yōu)化,要面向部件虛擬化,使其具有良好的可擴(kuò)展性和高可用性,既支持傳統(tǒng)的共享內(nèi)存和消息傳遞編程模式,也支持UPC和TCC等新的編程模式,以提高系統(tǒng)的生產(chǎn)率。 對(duì)PB級(jí)存儲(chǔ)的支持 現(xiàn)代的高端商用服務(wù)器面臨對(duì)存儲(chǔ)能力的巨大需求,因此計(jì)算所研究的服務(wù)器必須能夠提供PB(Peta Byte,1015)級(jí)存儲(chǔ)能力的支持。傳統(tǒng)的PB級(jí)存儲(chǔ)系統(tǒng)可能是基于光纖通道(Fibre-channel)的SAN存儲(chǔ)網(wǎng)絡(luò),也可能是基于infiniband網(wǎng)絡(luò)技術(shù)的存儲(chǔ)系統(tǒng),例如Oracle RAC.而計(jì)算所將把兩者的優(yōu)勢(shì)結(jié)合起來(lái),研究一種基于Infiniband 網(wǎng)絡(luò)技術(shù)的SAN存儲(chǔ)系統(tǒng)(IB-SAN Infiniband Based Storage Area Network)。同時(shí),加入磁盤(pán)部件的虛擬化技術(shù),這個(gè)技術(shù)不僅是前面提到的DHVM的基礎(chǔ)之一,也是IB-SAN的基礎(chǔ)。 對(duì)于GPU,內(nèi)存和磁盤(pán)從本質(zhì)上來(lái)說(shuō)是沒(méi)有區(qū)別的,都是用來(lái)提供和存儲(chǔ)數(shù)據(jù)和指令的,差別在于訪問(wèn)速度和由此決定的成本。在PGAS編程模型中,存儲(chǔ)空間應(yīng)該是統(tǒng)一的(包括內(nèi)存和磁盤(pán),本地和遠(yuǎn)程),以此為基礎(chǔ)構(gòu)建分布式基于軟件(也支持硬件)的RAID以提高存儲(chǔ)的可靠性和吞吐率。 支持GB級(jí)I/O的刀片服務(wù)器 機(jī)群架構(gòu)是目前服務(wù)器領(lǐng)域的最重要體系結(jié)構(gòu)。將標(biāo)準(zhǔn)服務(wù)器通過(guò)網(wǎng)絡(luò)以松散耦合的方式集中在一起,統(tǒng)一運(yùn)行、監(jiān)控管理和維護(hù)就是所謂的機(jī)群系統(tǒng)。它可以用遠(yuǎn)低于原來(lái)大型機(jī)系統(tǒng)的費(fèi)用來(lái)獲得高性能的服務(wù),具有很高的性價(jià)比。 但是隨著機(jī)群計(jì)算結(jié)點(diǎn)數(shù)目的日益增加,傳統(tǒng)機(jī)架式機(jī)群系統(tǒng)的不足就日趨明顯。第一、受機(jī)柜高度和傳統(tǒng)1U機(jī)箱的限制,計(jì)算密度比較疏松;第二、安裝維護(hù)工作量大、成本高; 第三、對(duì)于大規(guī)模機(jī)群,功耗日益成為瓶頸; 第四、缺乏智能而有效的管理監(jiān)控。 針對(duì)上述問(wèn)題,2000年左右,工業(yè)界出現(xiàn)了刀片服務(wù)器,刀片服務(wù)器就是一個(gè)卡上的服務(wù)器——在一個(gè)單獨(dú)的主板上包含一個(gè)完整的計(jì)算機(jī)系統(tǒng),包括處理器、內(nèi)存、網(wǎng)絡(luò)連接、少量的本地磁盤(pán)存儲(chǔ),并提供外部存儲(chǔ)訪問(wèn)的途徑。每個(gè)刀片服務(wù)器都有其自己的操作系統(tǒng),因此管理員可以為不同的應(yīng)用或終端用戶分配單獨(dú)的刀片服務(wù)器,并且刀片服務(wù)器的插入或移去不影響其他刀片服務(wù)器的運(yùn)行(熱插拔)。如果將多個(gè)刀片服務(wù)器插入一個(gè)共享機(jī)箱中,那么該機(jī)柜的基礎(chǔ)設(shè)施,例如電源、冷卻設(shè)備、網(wǎng)絡(luò)交換機(jī)和硬布線等就能夠共用,同時(shí)具有冗余特性。所以,計(jì)算所將研制高性能的基于Infiniband的刀片服務(wù)器作為目標(biāo)平臺(tái),研究新型支持多核CPU的計(jì)算刀片、主板、相應(yīng)的輸入/輸出模塊和管理與交換模塊,并設(shè)計(jì)相應(yīng)的機(jī)械結(jié)構(gòu),解決散熱問(wèn)題。 虛擬機(jī)技術(shù)下的入侵防護(hù) 計(jì)算所研究的虛擬SMP是由物理獨(dú)立的服務(wù)器構(gòu)成系統(tǒng),共同為用戶服務(wù)。它們通常是松散耦合,通過(guò)高速互聯(lián)網(wǎng)絡(luò)連接起來(lái),因此極易受到網(wǎng)絡(luò)的攻擊。為此,必須結(jié)合計(jì)算所研究的服務(wù)器體系結(jié)構(gòu)特點(diǎn),研究虛擬全域可擴(kuò)展分布式入侵檢測(cè)引擎(Virtual Intrusion Detection System Sensor; VIS),探測(cè)能力服務(wù)域內(nèi)基于物理和軟件虛擬機(jī)之上的內(nèi)外網(wǎng)攻擊行為。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |