藍(lán)色巨人的怒吼 IBM Power 7處理器淺析
毫不夸張地說(shuō),Power 7處理器的問(wèn)世,讓IBM重新奪回了高性能計(jì)算領(lǐng)域的制高點(diǎn),以恐怖的性能和突破性的規(guī)格將Intel、AMD遠(yuǎn)遠(yuǎn)甩開(kāi)。究竟藍(lán)色巨人給Power 7注入了什么樣的魔法?現(xiàn)在就讓我們一起探個(gè)究竟。
高性能計(jì)算再起風(fēng)云
短短幾年時(shí)間,高性能計(jì)算領(lǐng)域就已經(jīng)發(fā)生了翻天覆地的變化—先是SUN在SPARC處理器上開(kāi)發(fā)不力,逐步淡出。然后是Intel至強(qiáng)和AMD皓龍?zhí)幚砥鞯牡蛢r(jià)滲透。
就在2009年,NVIDIA甚至試圖借助GPU架構(gòu)的Tesla進(jìn)軍高性能計(jì)算領(lǐng)域—就在我們以為高性能計(jì)算領(lǐng)域也會(huì)像臺(tái)式機(jī)、服務(wù)器領(lǐng)域那樣回歸Intel、AMD、NVIDIA三家斗法之時(shí),盟主IBM終于按耐不住,在2010年2月8日拿出了密謀許久的Power 7處理器。
沖擊千萬(wàn)億次計(jì)算
你可別以為Power 7處理器會(huì)像其他幾家的CPU和GPU那樣,一年就能夠換代,事實(shí)上關(guān)于Power 7的研發(fā)從2006年就開(kāi)始了。2006年11月,IBM贏得了美國(guó)國(guó)防高級(jí)研究計(jì)劃署(DARPA)研發(fā)每秒千萬(wàn)億次計(jì)算(Petascale)超級(jí)電腦的研發(fā)合同。合同中規(guī)定,在2010年底IBM必須拿出達(dá)到千萬(wàn)億次運(yùn)算規(guī)模的超級(jí)計(jì)算機(jī)供DARPA使用。在合同中還規(guī)定,這樣的計(jì)算機(jī)架構(gòu),必須能在日后實(shí)現(xiàn)商業(yè)化和規(guī)模量產(chǎn)化。其中IBM還提出,新的架構(gòu)要完全符合PERCS(Productive,Easy-to-use,Reliable Computer System)—即高效易用可靠運(yùn)算架構(gòu)。在這個(gè)價(jià)值2.4億美元的項(xiàng)目中,IBM當(dāng)時(shí)就預(yù)計(jì)交付美國(guó)國(guó)防高級(jí)研究計(jì)劃署的電腦將會(huì)使用Power 7處理器、AIX操作系統(tǒng)以及通用并行文件存儲(chǔ)系統(tǒng)。從2006年11月開(kāi)始,IBM就和美國(guó)國(guó)防高級(jí)研究計(jì)劃署就新的處理器架構(gòu)進(jìn)行合作研發(fā),目標(biāo)很簡(jiǎn)單—讓千萬(wàn)億次計(jì)算觸手可及。
如果你經(jīng)??吹絀ntel和NVIDIA的宣傳,應(yīng)該還記得Intel的80核處理器計(jì)劃,目標(biāo)是實(shí)現(xiàn)單芯片上萬(wàn)億次計(jì)算(Terascale)級(jí)別的計(jì)算。事實(shí)上在高性能計(jì)算領(lǐng)域,幾乎所有廠商都在為萬(wàn)億次計(jì)算努力。而2008年IBM為美國(guó)國(guó)家核能安全管理部設(shè)計(jì)的Roadrunner(走鵑)超級(jí)計(jì)算機(jī),才首次達(dá)到1.026PetaFLOPS(每秒千萬(wàn)億次浮點(diǎn)運(yùn)算),成為人類(lèi)首部達(dá)到千萬(wàn)億次計(jì)算級(jí)別的電腦。在當(dāng)時(shí),IBM Roadrunner動(dòng)用了6912顆AMD雙內(nèi)核Opteron處理器和12960顆IBM PowerXCell 8i處理器,并且配備了51.8TB內(nèi)存,耗資1.33億美元。而Roadrunner之所以如此龐大,究其原因就在于單個(gè)處理器所提供的運(yùn)算能力相當(dāng)有限—雙內(nèi)核Opteron處理器只有5.2GFLOPS浮點(diǎn)運(yùn)算能力,IBM PowerXcell 8i處理器的浮點(diǎn)運(yùn)算能力為102.4GFLOPS。而NVIDIA的高性能運(yùn)算卡Tesla C2070 也只能提供630GFLOPS浮點(diǎn)運(yùn)算能力。
IBM Roadrunner超級(jí)計(jì)算機(jī)
毫無(wú)疑問(wèn),要降低超級(jí)電腦跨入Petascale的門(mén)檻,提升CPU的峰值浮點(diǎn)運(yùn)算能力是不二的法門(mén)。NVIDIA、AMD等圖形卡制造商力挺的異構(gòu)計(jì)算,雖然能夠達(dá)到更高的峰值浮點(diǎn)運(yùn)算,但在交付使用后往往需要改寫(xiě)大量的代碼,才能完全發(fā)揮異構(gòu)體系的力量。而用傳統(tǒng)CPU架構(gòu)堆砌起來(lái)的超級(jí)計(jì)算機(jī),顯然更符合IBM PERCS結(jié)構(gòu)。
Power 7 CPU
根據(jù)IBM的數(shù)據(jù),Power 7將會(huì)提供最大264.96GFlops的峰值浮點(diǎn)運(yùn)算能力,將當(dāng)今市場(chǎng)上的一切CPU都遠(yuǎn)遠(yuǎn)的拋在身后。Power 7即便面對(duì)NVIDIA/AMD的GPU架構(gòu)處理器也不遑多讓。更讓人驚訝的是,IBM在Power 7上引入了智能核心、智能線程、智能緩存、智能功耗和智能內(nèi)存技術(shù),解決了困擾當(dāng)今PC許久的運(yùn)行效率與功耗等至關(guān)重要的問(wèn)題。
打造史上最大CPU
如今熱賣(mài)的Intel Core i7 處理器采用了45nm制程工藝,芯片面積為270mm2。而同樣采用45nm工藝的Power 7處理器,芯片面積卻高達(dá)567mm2—是Intel Core i7的兩倍。究竟IBM用567mm2的核心和12億個(gè)晶體管干了些什么?Power 7處理器將會(huì)有4、6、8內(nèi)核三種規(guī)格。其中每個(gè)內(nèi)核都能實(shí)現(xiàn)4路同步并發(fā)線程。這意味著在8內(nèi)核Power 7中,可以并行執(zhí)行32條線程!而我們熟悉的Core i7處理器每個(gè)內(nèi)核通過(guò)超線程技術(shù)只能提供兩個(gè)并發(fā)線程。 #p#page_title#e#
Power 7 CPU內(nèi)核
除此之外,在Power 7每個(gè)內(nèi)核中都擁有12個(gè)執(zhí)行單元。每個(gè)執(zhí)行單元包含2個(gè)整數(shù)運(yùn)算單元、2個(gè)存儲(chǔ)/讀取單元、4個(gè)雙精度浮點(diǎn)運(yùn)算單元、1個(gè)支持VSX的矢量執(zhí)行單元、1個(gè)十進(jìn)制浮點(diǎn)運(yùn)算單元、1個(gè)分支單元、1個(gè)寄存器單元。在Power 7 CPU中每個(gè)內(nèi)核都有32KB一級(jí)指令和數(shù)據(jù)緩存、256KB二級(jí)緩存。所有核心共享32MB eDRAM三級(jí)緩存。Power 7初期頻率就能達(dá)到3GHz~4.14GHz,并內(nèi)置了兩個(gè)4通道DDR3內(nèi)存控制器,以提供最大100GB/s的內(nèi)存帶寬。值得一提的是,IBM Power 7中三級(jí)緩存是用eDRAM實(shí)現(xiàn)的,而非傳統(tǒng)CPU中的SRAM。和SRAM相比,eDRAM能極大的節(jié)省晶體管數(shù)量和降低芯片面積,并且提供直逼SRAM的傳輸帶寬—在微軟XBox 360游戲機(jī)的GPU上,eDRAM就輕松提供了256GB/s的傳輸率。由于eDRAM的引入,Power 7在搭載32MB三級(jí)緩存時(shí)芯片面積也沒(méi)有過(guò)度增長(zhǎng)。和前輩Power 6相比,Power 7的主頻已經(jīng)從5GHz降低到了4.14GHz。但由于Power 7擁有更多的內(nèi)核、更強(qiáng)的并發(fā)多線程能力,所以在性能上Power 7可以實(shí)現(xiàn)倍數(shù)的跨越。
智能為王 更聰明的Power 7
Power 7是一顆聰明的處理器,IBM工程師為它賦予了更多的智能技術(shù),在性能、功耗上取得更大的突破。
能自動(dòng)優(yōu)化核心
在Intel推出Core i7 CPU的時(shí)候,TurboBoost功能成了產(chǎn)品重要賣(mài)點(diǎn)不斷宣傳。Intel的TurboBoost技術(shù)可以讓CPU根據(jù)負(fù)載,在不同的內(nèi)核負(fù)載下,自動(dòng)提升單核頻率以及整體頻率以實(shí)現(xiàn)更快的運(yùn)行速度。在Power 7上,IBM更進(jìn)一步,提出了智能核心的概念。Power 7處理器擁有最多8個(gè)內(nèi)核,因此IBM為Power 7設(shè)計(jì)了TurboCore和MaxCore兩大運(yùn)行模式。TurboCore模式可以對(duì)數(shù)據(jù)庫(kù)或工作負(fù)載進(jìn)行高度優(yōu)化,同時(shí)采用4個(gè)內(nèi)核運(yùn)行,并把芯片中所有8個(gè)內(nèi)核大部分資源放到4個(gè)運(yùn)行的內(nèi)核中,以提供更大的緩存和內(nèi)存帶寬,提升時(shí)鐘頻率,提高單核性能。
Power 7 CPU內(nèi)核架構(gòu)
當(dāng)不采用TurboCore模式時(shí),所有Power 7處理器在MaxCore模式下,擁有多達(dá)8內(nèi)核、每?jī)?nèi)核4線程,共計(jì)32線程的并行處理能力。你千萬(wàn)別以為智能內(nèi)核只是簡(jiǎn)單的超頻、關(guān)閉打開(kāi)內(nèi)核那么容易。在TurboCore模式下,雖然有4個(gè)內(nèi)核會(huì)被關(guān)閉,但這些內(nèi)核所占據(jù)的緩存和各種執(zhí)行資源都會(huì)被釋放,由工作中的4個(gè)內(nèi)核統(tǒng)一調(diào)度,以實(shí)現(xiàn)資源利用的最大化。
夸張的8核32線程并行處理能力
在Power 7中,IBM引入的SMT4技術(shù)可以在單一內(nèi)核上實(shí)現(xiàn)4路同步多線程功能。這樣一次就能吃下4條線程,極大地提升并行能力。但是所謂的SMT同步多線程,并不是真正的多內(nèi)核多線程。
只是通過(guò)不斷的狀態(tài)切換,以提升內(nèi)核利用率的一種方式。這樣的設(shè)計(jì)在并行度很高的應(yīng)用中能獲得立竿見(jiàn)影的效果。但在數(shù)據(jù)庫(kù)等應(yīng)用中往往會(huì)出現(xiàn)性能下降。過(guò)去我們大多采用手動(dòng)打開(kāi)、關(guān)閉SMT同步多線程的方法“因地制宜”。
Power 7提供4路同步多線程功能
在Power 7上,IBM引入了智能線程(Intelligent Threads),可以根據(jù)工作負(fù)載要求進(jìn)行設(shè)置不同的多線程模式,系統(tǒng)可以自動(dòng)選擇,也可以由管理員進(jìn)行手動(dòng)設(shè)置。這樣就能在并發(fā)線程和執(zhí)行效率中獲得良好的平衡。必須指出的是,智能線程功能是需要操作系統(tǒng)支持的。只有在2010年4月問(wèn)世的IBM AIX 6.1 TL05操作系統(tǒng)支持此功能—在現(xiàn)階段的Linux等操作系統(tǒng)中,Power 7的SMT功能將完全無(wú)法使用。這些操作系統(tǒng)會(huì)把Power 7當(dāng)作8內(nèi)核普通處理器進(jìn)行管理。
更智能的緩存和內(nèi)存控制器
從自動(dòng)控制內(nèi)核開(kāi)關(guān),到自動(dòng)判斷SMT功能是否打開(kāi),打開(kāi)多少。在處理器運(yùn)算能力調(diào)度方面,Power 7已經(jīng)技?jí)喝盒?。不過(guò),IBM似乎還不滿(mǎn)足于運(yùn)算能力的靈活調(diào)度,他們想讓緩存和內(nèi)存系統(tǒng)也變得更為智能高效。 #p#page_title#e#
Power 7處理器的L3緩存和Intel Core i7有許多相似之處— 例如每個(gè)內(nèi)核都在L3 緩存中有自己的高速本地L3緩存區(qū)(Fast Local Region of L3 Cache,FLR-L3)。但每個(gè)內(nèi)核之間,卻依然能通過(guò)L3 緩存共享數(shù)據(jù)。根據(jù)IBM的說(shuō)法,Power 7 32MB L3 Cache中,有4MB緩存的速度快和延遲低,提供的性能介乎于L1和L2之間,由此來(lái)確保處理器在眾多內(nèi)核并行工作時(shí)仍然有較好的性能。
Power 7內(nèi)存訪問(wèn)機(jī)制
為了壓倒Intel在Core i7中集成的3通道DDR3內(nèi)存控制器,Power 7干脆直接集成了兩個(gè)4通道DDR3內(nèi)存控制器,這意味著每個(gè)Power 7處理器最多能支持256GB的DDR3內(nèi)存。在內(nèi)存控制器內(nèi)部,Power 7專(zhuān)門(mén)設(shè)計(jì)了芯片內(nèi)DDR3 內(nèi)存緩沖區(qū)。這樣的設(shè)計(jì)極大地增加了每個(gè)Power 7內(nèi)核所能管理的內(nèi)存容量,并且實(shí)現(xiàn)了更高級(jí)別的冗余擴(kuò)展和電源管理。由于采用了4通道內(nèi)存設(shè)計(jì),所以Power 7已經(jīng)取消了對(duì)單根低容量DDR3 內(nèi)存的支持。在Power 7上用戶(hù)最少需要安裝兩條4GB DDR3 內(nèi)存才能正常啟動(dòng)。
Power 7內(nèi)存控制器
值得一提的是,IBM Power 7中引入了新的低電壓差分信號(hào)傳輸方式,這樣讓Power 7在支持海量?jī)?nèi)存和8個(gè)以上DIMM內(nèi)存插槽時(shí),主板布線不至于太過(guò)復(fù)雜。
強(qiáng)大的智能功耗管理功能
幾乎所有新的CPU都在電源管理上狠下功夫。Power 7也不例外。在Power 7上,IBM提出了智能功耗(Intelligent Energy)的概念,并在Power 7中延續(xù)了Power 6 CPU上大獲好評(píng)的EnergyScale功能。Power 7處理器內(nèi)部構(gòu)建的EnergyScale單元能不斷地搜集整個(gè)電腦的功耗數(shù)據(jù),然后將其匯報(bào)給IBM Systems Director Active Energy Manager功耗管理軟件。在Power 7運(yùn)行的時(shí)候,IBM的功耗管理軟件就能即時(shí)提供功耗數(shù)據(jù)和運(yùn)行狀態(tài)。用戶(hù)甚至可以直接設(shè)定整部Power 7電腦最多能使用的功耗,以及最少能使用的功耗,以調(diào)整機(jī)房的耗電量。在智能功耗功能的幫助下,我們甚至可以讓Power 7在夜晚以50%的功耗工作,在白天繁忙時(shí)段才滿(mǎn)負(fù)荷工作。而Power 7處理器在空閑時(shí),也將會(huì)自動(dòng)進(jìn)入“Nap”狀態(tài),關(guān)閉執(zhí)行單元的供電、降低頻率和電壓以實(shí)現(xiàn)更低的功耗。
IBM電源管理工具IBM Systems Director Active Energy Manager
根據(jù)IBM的測(cè)試,Power 7在引入一系列“智能”技術(shù)后,每瓦性能大幅提高,Power 7比相似的Intel x86系統(tǒng)提升2倍,比Sun SPARC服務(wù)器和相似的HP安騰服務(wù)器分別高出4倍和8倍
無(wú)限虛擬 內(nèi)存倍增 Power 7獨(dú)門(mén)秘籍
內(nèi)存倍增術(shù)—Active Memory Expansion
無(wú)需操作系統(tǒng)支持,無(wú)需做任何硬件改動(dòng)??捎脙?nèi)存容量就能多50%?這可不是什么內(nèi)存清理軟件的廣告詞,而是IBM在Power 7上引入的Active Memory Expansion內(nèi)存實(shí)時(shí)壓縮技術(shù)的魔力。Active Memory Expansion功能可以通過(guò)Power 7電腦管理程序打開(kāi)或者關(guān)閉。在打開(kāi)Active Memory Expansion功能后,CPU將會(huì)實(shí)時(shí)壓縮內(nèi)存中的數(shù)據(jù),以獲得更大的可用內(nèi)存空間。在IBM的測(cè)試數(shù)據(jù)中,Power 7打開(kāi)Active Memory Expansion功能后,將會(huì)在SAP程序里面多出50%的可用內(nèi)存空間,從而極大的提升系統(tǒng)性能。
打開(kāi)AME功能后,內(nèi)存會(huì)被分成壓縮數(shù)據(jù)和非壓縮數(shù)據(jù)兩大區(qū)域
Power 7將會(huì)自動(dòng)壓縮不被反復(fù)調(diào)用的數(shù)據(jù),以實(shí)現(xiàn)可用內(nèi)存空間加大。數(shù)據(jù)被壓縮之后,將無(wú)法由程序?qū)崟r(shí)調(diào)用,因此Active Memory Expansion內(nèi)存壓縮功能并無(wú)法適應(yīng)所有類(lèi)型的程序。
AME打開(kāi)和關(guān)閉后的性能對(duì)比
由于Active Memory Expansion功能完全由硬件實(shí)現(xiàn),因此該功能對(duì)性能的影響微乎其微。由于打開(kāi)內(nèi)存壓縮之后,可用內(nèi)存有所增加,所以在高負(fù)載情況下,Active Memory Expansion對(duì)性能提升有明顯的幫助。Active Memory Expansion可以針對(duì)每個(gè)內(nèi)存邏輯分區(qū)打開(kāi)或者關(guān)閉,操作系統(tǒng)將會(huì)自動(dòng)分析哪些數(shù)據(jù)能被壓縮后放入壓縮數(shù)據(jù)池,哪些數(shù)據(jù)無(wú)法壓縮?,F(xiàn)階段,要打開(kāi)Power 7的AME功能,必須使用IBM AIX 6.1 TL4 SP2或更高版本的操作系統(tǒng)。 #p#page_title#e#
PowerVM—1000個(gè)虛擬機(jī)的威力
在服務(wù)器和高性能計(jì)算領(lǐng)域,虛擬化已經(jīng)成了標(biāo)準(zhǔn)配備。AMD和Intel CPU大多只能提供不到10個(gè)虛擬機(jī)同時(shí)運(yùn)行的硬件虛擬化支持。而在Power 7上,IBM祭出的PowerVM虛擬化技術(shù)能讓Power 7 CPU每個(gè)內(nèi)核都能硬件支持10個(gè)虛擬機(jī)鏡像。目前的8路64核系統(tǒng)可支持單系統(tǒng)最高640個(gè)虛擬機(jī)同時(shí)運(yùn)行。今年年內(nèi),他們還將推出32路256核Power 7系統(tǒng),最高同時(shí)運(yùn)行1000個(gè)虛擬機(jī)—這個(gè)數(shù)量足足比Power 6提升了4倍。
結(jié)語(yǔ):高性能計(jì)算硝煙再起
就在Power 7問(wèn)世以前,許多人都認(rèn)為Roadrunner使用了Opteron+PowerXCell這樣的異構(gòu)設(shè)計(jì),絕對(duì)是未來(lái)高性能計(jì)算的主流。而NVIDIA、AMD憑借GPU提供的海量并行能力,也有希望在其中分一杯羹。在IBM Power 7問(wèn)世以后,我們才猛然發(fā)現(xiàn),在高性能計(jì)算領(lǐng)域,循規(guī)蹈矩的提升CPU性能并非絕無(wú)可能。Power 7以強(qiáng)橫的處理能力和突破性的功能似乎在向世界證明—傳統(tǒng)CPU的生命力依然旺盛。在可以遇見(jiàn)的未來(lái),高性能計(jì)算領(lǐng)域仍將是CPU集群主導(dǎo)、異構(gòu)架構(gòu)競(jìng)爭(zhēng)的時(shí)代。