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