国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

KD-90普及型個(gè)人高性能計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與性能優(yōu)化

2013-11-26 12:33:40羅秋明陳國(guó)良
關(guān)鍵詞:龍芯寄存器高性能

蔡 曄,劉 剛,毛 睿,羅秋明,陳國(guó)良

深圳大學(xué)國(guó)家高性能中心深圳分中心,深圳大學(xué)計(jì)算機(jī)與軟件學(xué)院,深圳518060

高性能計(jì)算機(jī)是衡量國(guó)家綜合國(guó)力的重要標(biāo)志之一,是國(guó)家信息化建設(shè)的根本保證.目前世界上最快的機(jī)器為美國(guó)能源部的“紅杉”[1-2],峰值性能20 132萬(wàn)億次,Linpack實(shí)測(cè)性能為16 324萬(wàn)億次/秒.中國(guó)高端高性能計(jì)算機(jī)的計(jì)算能力已達(dá)到千萬(wàn)億次量級(jí)的世界先進(jìn)水平.主要代表有“天河-1A”[3],峰值性能達(dá) 4 700萬(wàn)億次/秒,Linpack實(shí)測(cè)性能達(dá)2 566萬(wàn)億次/秒;以及曙光 “星云”[4],其峰值性能達(dá)1 296萬(wàn)億次/秒,Linpack實(shí)測(cè)性能達(dá)749萬(wàn)億次/秒.采用國(guó)產(chǎn)處理器的高性能計(jì)算機(jī)系統(tǒng)也達(dá)到了較高水平,典型代表為“神威藍(lán)光”[5],采用了國(guó)產(chǎn)申威1 600處理器,峰值計(jì)算

1 KD-90系統(tǒng)組成與結(jié)構(gòu)

速度達(dá)1 070萬(wàn)億次/秒浮點(diǎn)計(jì)算,Linpack實(shí)測(cè)性能為796萬(wàn)億次/秒.千萬(wàn)億次以上的高端高性能計(jì)算機(jī)主要為國(guó)家戰(zhàn)略服務(wù),但這種昂貴的計(jì)算資源集中部署的模式,以及建設(shè)和運(yùn)營(yíng)維護(hù)的成本都不利于高性能計(jì)算的普及與推廣.

深圳大學(xué)國(guó)家高性能計(jì)算中心深圳分中心主要研制計(jì)算規(guī)模達(dá)萬(wàn)億次的普及型個(gè)人高性能計(jì)算機(jī)(popular high ferformance computer,PHPC)[6]系統(tǒng),堅(jiān)持走高性能計(jì)算機(jī)普及化和服務(wù)于我國(guó)經(jīng)濟(jì)建設(shè)自主創(chuàng)新之路.該中心與其合作單位聯(lián)合研制了一系列高性能計(jì)算機(jī)及推廣應(yīng)用型號(hào)[11],包括KD-50、KD-60、SD-1、SD-2 和KD-90 等[7-10],目標(biāo)是逐漸把萬(wàn)億次高性能計(jì)算帶到個(gè)人和桌面,實(shí)現(xiàn)高性能計(jì)算的普及運(yùn)用.國(guó)外類似研究主要有美國(guó)紐約州立大學(xué)石溪分?;诹孔悠骷兄频腜eT(personal teraflops computer)桌面萬(wàn)億次機(jī)、Ohio Supercomputer Center[12]的藍(lán)領(lǐng)計(jì)算和NVIDA 的Telsa[13]等個(gè)人超級(jí)計(jì)算機(jī).

本文報(bào)道了國(guó)產(chǎn)PHPC研究的最新進(jìn)展KD-90萬(wàn)億次機(jī)的設(shè)計(jì)和相關(guān)性能優(yōu)化工作.KD-90整體采用了SMP→CC-NUMA→Cluster 3級(jí)并行體系結(jié)構(gòu),其技術(shù)創(chuàng)新點(diǎn)是:① 采用高密度組裝技術(shù),在微波爐大小的空間內(nèi)實(shí)現(xiàn)了萬(wàn)億次高性能計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),是一款真正意義上的移動(dòng)個(gè)人高性能計(jì)算機(jī);②計(jì)算核心采用國(guó)產(chǎn)龍芯3B 8核處理器,應(yīng)用矢量部件加速技術(shù)搭建了一種通用處理器與向量協(xié)處理器相結(jié)合的編程模型,并結(jié)合體系結(jié)構(gòu)特點(diǎn)來(lái)優(yōu)化系統(tǒng);③采用通用協(xié)議與專用協(xié)議結(jié)合的互連網(wǎng)絡(luò)硬件設(shè)計(jì),實(shí)現(xiàn)了CC-NUMA機(jī)群架構(gòu)關(guān)鍵技術(shù)的突破.

KD-90系統(tǒng)由5個(gè)計(jì)算節(jié)點(diǎn)、1個(gè)系統(tǒng)背板、1個(gè)前置龍芯服務(wù)器及1個(gè)定制機(jī)箱組成.計(jì)算節(jié)點(diǎn)采用雙路CC-NUMA結(jié)構(gòu),5個(gè)計(jì)算節(jié)點(diǎn)總計(jì)集成10個(gè)以龍芯3B 8核處理器為核心的處理單元,當(dāng)處理器工作主頻為800 MHz時(shí),峰值計(jì)算能力可達(dá)萬(wàn)億次(1 Tflops);背板上集成了自主研發(fā)的超多端口千兆以太網(wǎng)交換芯片(hyper-multiport gigabit ethernet switch,HMGES),實(shí)現(xiàn)計(jì)算節(jié)點(diǎn)之間、計(jì)算節(jié)點(diǎn)與前置服務(wù)器之間的互連,及基于遠(yuǎn)程web的帶外監(jiān)控管理系統(tǒng);前置服務(wù)器也采用龍芯3B處理器設(shè)計(jì),提供系統(tǒng)引導(dǎo)、磁盤(pán)存儲(chǔ)、用戶登錄及任務(wù)調(diào)度等功能;所有組件都集成在一個(gè)445 mm×465 mm×580 mm的微波爐大小的定制機(jī)箱內(nèi).KD-90機(jī)箱結(jié)構(gòu)見(jiàn)圖1.

圖1 KD-90機(jī)箱結(jié)構(gòu)Fig.1 The Chassis structure of KD-90

龍芯3B在體系結(jié)構(gòu)設(shè)計(jì)時(shí),為減少片上互連復(fù)雜性,內(nèi)部8核設(shè)計(jì)采用2個(gè)4核SMP節(jié)點(diǎn)在片上互連的方式,SMP節(jié)點(diǎn)共享一個(gè)本地存儲(chǔ)器,并通過(guò)內(nèi)部互連訪問(wèn)另一節(jié)點(diǎn)的存儲(chǔ)器,因此龍芯3B是一個(gè)典型的片上CC-NUMA系統(tǒng).如圖2,為滿足芯片內(nèi)8個(gè)處理器核心的通訊需求,每個(gè)處理器(PE1~PE10)都有4路千兆串行通訊鏈路與背板連接,同一計(jì)算節(jié)點(diǎn)內(nèi)的兩個(gè)處理器同時(shí)還通過(guò)HT(HyperTransport)總線直接在主板上互連,該方法可用于節(jié)點(diǎn)內(nèi)部的互連優(yōu)化,或配置成一個(gè)16核的兩級(jí)CC-NUMA結(jié)構(gòu).因此,系統(tǒng)整體是一個(gè)SMP→CC-NUMA→Cluster 3級(jí)并行體系結(jié)構(gòu),其中SMP和CC-NUMA這兩個(gè)并行層次在芯片內(nèi)部實(shí)現(xiàn),CC-NUMA集群在系統(tǒng)級(jí)實(shí)現(xiàn).

圖2 KD-90系統(tǒng)結(jié)構(gòu)與組成Fig.2 The architecture of KD-90 PHPC system

2 KD-90系統(tǒng)設(shè)計(jì)

2.1 計(jì)算節(jié)點(diǎn)設(shè)計(jì)

KD-90的計(jì)算節(jié)點(diǎn)采用雙路8核CC-NUMA結(jié)構(gòu),如圖3.計(jì)算節(jié)點(diǎn)在一塊電路板上設(shè)計(jì)集成2個(gè)結(jié)構(gòu)相同的龍芯3B 8核處理器單元和1個(gè)監(jiān)控單元.處理單元由龍芯3B 8核處理器、北橋芯片、I/O Hub芯片和2個(gè)雙路串行千兆以太網(wǎng)Serdes控制器等組成.每個(gè)處理單元用1片龍芯3B處理器實(shí)現(xiàn)1個(gè)雙節(jié)點(diǎn)的非均勻訪存多處理器系統(tǒng)(CCNUMA)結(jié)構(gòu),支持32 Gbit DDR3內(nèi)存,以串口作為顯示和調(diào)試終端.計(jì)算結(jié)點(diǎn)內(nèi)兩個(gè)處理單元通過(guò)HT總線互連通道進(jìn)行內(nèi)部互連,結(jié)點(diǎn)外通過(guò)千兆通信鏈路連接到系統(tǒng)互連交換機(jī),從而與其他計(jì)算節(jié)點(diǎn)一起構(gòu)成一個(gè)CC-NUMA集群結(jié)構(gòu).

圖3 KD-90計(jì)算節(jié)點(diǎn)結(jié)構(gòu)Fig.3 The computing node architecture of KD-90

2.2 系統(tǒng)互連

互連系統(tǒng)采用自主研發(fā)的超多端口千兆以太網(wǎng)交換(hyper-multiport gigabit ethernet switch,HMGES)芯片.該芯片基于FPGA,具有以下特點(diǎn):

1)通用協(xié)議與專用協(xié)議結(jié)合的互連網(wǎng)絡(luò)硬件設(shè)計(jì).這種設(shè)計(jì)支持兩套聯(lián)絡(luò)層協(xié)議,一套完全兼容802.3規(guī)范中定義的MAC層協(xié)議;另一套多虛通(virtual channel)鏈路協(xié)議.每個(gè)虛通道在交換芯片內(nèi)部的接收端和發(fā)送端都有專用緩沖區(qū).利用多個(gè)虛通道,可減少隊(duì)頭阻塞,提高系統(tǒng)吞吐率.

2)虛切入交換(virtual cut-through switching).HMGES采用虛切入的交換方式,所得交換延遲極低,性能可達(dá)到單級(jí)交換延遲不大于200 ns.

3)支持柵障(barrier).HMGES利用專用硬件模塊來(lái)支持barrier操作,其交換機(jī)芯片內(nèi)部有專門用于barrier操作的虛通道,用戶將barrier消息包發(fā)送到該通道,然后從該通道獲得執(zhí)行完畢的消息.

4)FPGA預(yù)留與龍芯3B處理器的HT互連接口,未來(lái)可通過(guò)擴(kuò)展實(shí)現(xiàn)更高層次MPP級(jí)別的互連.

2.3 監(jiān)控管理系統(tǒng)

為保證KD-90系統(tǒng)的可靠性以及系統(tǒng)狀態(tài)監(jiān)視,設(shè)計(jì)一種基于遠(yuǎn)程web界面的監(jiān)控管理系統(tǒng),由獨(dú)立的電源供電.監(jiān)控系統(tǒng)由位于底板上的監(jiān)控單元和分布在各處理板上的監(jiān)控電路組成(圖4).

圖4 KD-90監(jiān)控管理系統(tǒng)Fig.4 The monitor and management circuit of KD-90

3 KD-90系統(tǒng)性能優(yōu)化

Linpack是基于雙精度計(jì)算求解稠密線性方程組Ax=b來(lái)衡量計(jì)算機(jī)浮點(diǎn)計(jì)算性能的基準(zhǔn)測(cè)試軟件.該軟件現(xiàn)有3個(gè)版本:Linpack n=100求解規(guī)模為100階的方程組;Linpack n=1 000求解規(guī)模為1 000的方程組;HPL(high performance Linpack)求解任意規(guī)模的線性代數(shù)方程組.HPL是當(dāng)前Top500高性能計(jì)算機(jī)測(cè)評(píng)的重要標(biāo)準(zhǔn).

為提高KD-90系統(tǒng)的Linpack性能,可從龍芯3B體系結(jié)構(gòu)特點(diǎn)和操作系統(tǒng)內(nèi)核兩方面來(lái)優(yōu)化KD-90系統(tǒng)性能.

3.1 基于龍芯3B體系結(jié)構(gòu)的GotoBLAS庫(kù)優(yōu)化

HPL測(cè)試的主要運(yùn)算是通過(guò)調(diào)用BLAS庫(kù)的基本函數(shù)來(lái)實(shí)現(xiàn)的,結(jié)合龍芯3B體系結(jié)構(gòu)特點(diǎn)對(duì)所用的GotoBLAS庫(kù)進(jìn)行優(yōu)化.

3.1.1 向量化

龍芯3B處理器提供一組256 bit的向量浮點(diǎn)寄存器堆及一組針對(duì)這一寄存器堆的向量計(jì)算與訪存指令,使用這些指令中向量乘加指令、128 bit訪存指令與256 bit寄存器堆可實(shí)現(xiàn)對(duì)矩陣的向量化.

1)向量乘加指令.在支持乘加操作的龍芯3B處理器上,可把分開(kāi)的乘法和加法指令合并成乘加操作,以減少指令數(shù).使用向量乘加指令可將原有的乘法和加法計(jì)算指令減至1/8.

2)128 bit向量訪存指令.通過(guò)使用128 bit訪存指令,將普通的64 bit訪存指令替換為128 bit訪存指令,可減少50%數(shù)目的load和store指令,加快數(shù)據(jù)存取和拷貝速度.另外還可減少正常訪存指令數(shù),空出指令槽發(fā)射預(yù)取指令,減少L1cache的缺失,從而帶來(lái)更大的性能提升.

3.1.2 循環(huán)展開(kāi)

通過(guò)使用128 bit訪存指令,在L1cache命中的情況平均每個(gè)周期可讀取2個(gè)雙精度型數(shù)據(jù)(8 bit).4發(fā)射的流水線中有2個(gè)支持乘加指令的浮點(diǎn)部件,即平均每個(gè)周期可做2個(gè)乘加操作,此時(shí)訪存成了性能提升的瓶頸,解決辦法是通過(guò)循環(huán)展開(kāi)使每次讀取的數(shù)據(jù)進(jìn)行盡可能多次的運(yùn)算.

HPL最主要的矩陣乘法子函數(shù)DGEMM(C=C+AB)的基本操作是,每次讀取1行A和1列B以求出對(duì)應(yīng)位置的C值,在這種情況下每次讀取1個(gè)A值和1個(gè)B值做1次乘加運(yùn)算,效率很低.改進(jìn)后的做法是:內(nèi)循環(huán)每輪同時(shí)讀取2行A和2列B并計(jì)算12×12的C,即每次讀取24個(gè)A值和24個(gè)B值進(jìn)行12×12×2/4=72次向量乘加運(yùn)算.讀取24個(gè)A值和24個(gè)B值用時(shí)24個(gè)時(shí)鐘周期,72次乘加運(yùn)算耗時(shí)36個(gè)時(shí)鐘周期.系統(tǒng)中36個(gè)向量寄存器用來(lái)存儲(chǔ)C值,24個(gè)寄存器分兩組,每組12個(gè),用來(lái)存儲(chǔ)A值和B值(每組中A和B都有6個(gè)),第1組取數(shù)后運(yùn)算,運(yùn)算同時(shí)第2組取數(shù),隨之運(yùn)算,運(yùn)算同時(shí)第1組又取數(shù),兩組寄存器如此輪流交替,以解決寫(xiě)后讀的數(shù)據(jù)相關(guān)性.按此方法操作,運(yùn)算時(shí)間可掩蓋讀取下一組A和B的時(shí)間,因此在cache命中的情況下流水線不會(huì)停頓,效率近100%.

3.1.3 指令調(diào)度

指令調(diào)度可通過(guò)調(diào)節(jié)指令次序減少流水線等待時(shí)間.在傳統(tǒng)的單流水線處理器上,指令調(diào)度的主要工作是盡量在具有數(shù)據(jù)相關(guān)的指令間插入其他無(wú)關(guān)指令來(lái)避免流水線空轉(zhuǎn).

龍芯3號(hào)多發(fā)射和無(wú)序執(zhí)行的特性使指令調(diào)度變得復(fù)雜.測(cè)試發(fā)現(xiàn),有時(shí)即使是調(diào)整兩條無(wú)數(shù)據(jù)相關(guān)指令的次序,也會(huì)嚴(yán)重影響整個(gè)流水線的運(yùn)行.根據(jù)龍芯3號(hào)上4發(fā)射的特點(diǎn),如果定點(diǎn)指令不足,可用空操作nop(在龍芯3號(hào)上nop被視為定點(diǎn)操作)填充,在每條取數(shù)指令后面跟著兩條浮點(diǎn)運(yùn)算指令和1條定點(diǎn)指令,可使4發(fā)射的流水線嚴(yán)格按照理想情況(每個(gè)周期發(fā)射1條取數(shù)指令、1條定點(diǎn)指令和2條浮點(diǎn)指令)來(lái)發(fā)射指令,盡量提高系統(tǒng)的IPC(instructions per cycle).

3.1.4 數(shù)據(jù)預(yù)取技術(shù)

利用龍芯3B系列提供的cache鎖機(jī)制將一塊連續(xù)地址鎖在2/3級(jí)cache中,通過(guò)配置轉(zhuǎn)置模塊的寄存器并利用外部DMA可以實(shí)現(xiàn)從內(nèi)存到L2cache的預(yù)取;利用其提供的4個(gè)向量DMA通道,可實(shí)現(xiàn)數(shù)據(jù)從2/3級(jí)cache和內(nèi)存到浮點(diǎn)寄存器堆的讀寫(xiě)操作,其具體實(shí)現(xiàn)過(guò)程為:

由于每個(gè)節(jié)點(diǎn)僅有1個(gè)轉(zhuǎn)置模塊,所以根據(jù)DGEMM函數(shù)訪存的特點(diǎn),在計(jì)算當(dāng)前C0+=A0B0的同時(shí),將下次用到的數(shù)據(jù)A1通過(guò)轉(zhuǎn)置模塊預(yù)取到被鎖住的連續(xù)地址空間中,將C1通過(guò)一個(gè)向量讀通道從內(nèi)存直接預(yù)取到一組浮點(diǎn)寄存器堆中,而在下次計(jì)算C1+=A1B1前,需用拷貝函數(shù)將B1拷貝到被鎖住的連續(xù)地址空間中,計(jì)算C1的同時(shí)通過(guò)DMA寫(xiě)通道將C0寫(xiě)回內(nèi)存(行主序的話預(yù)取B1而拷貝A1);計(jì)算時(shí),每次都是取1列A和1行B到1組浮點(diǎn)寄存器中進(jìn)行計(jì)算,而在計(jì)算的同時(shí)將下一列A和下一行B通過(guò)另外兩個(gè)DMA讀通道從鎖住的L2cache中預(yù)取到下一組浮點(diǎn)寄存器中.

3.2 操作系統(tǒng)設(shè)計(jì)及優(yōu)化

KD-90操作系統(tǒng)設(shè)計(jì)及優(yōu)化主要包括:

1)基于龍芯3號(hào)8核處理器,實(shí)現(xiàn)了維護(hù)全局cache一致性的CC-NUMA多核操作系統(tǒng).操作系統(tǒng)在為應(yīng)用程序分配內(nèi)存時(shí),優(yōu)先從處理器親和性強(qiáng)的本地存儲(chǔ)器中分配,使訪問(wèn)其他節(jié)點(diǎn)存儲(chǔ)器的幾率大大降低,提高了系統(tǒng)效率.一則減少了并行程序的訪存沖突,另則提高了數(shù)據(jù)訪問(wèn)的局部性,降低程序訪存延遲,優(yōu)化了系統(tǒng)性能.

2)基于CC-NUMA系統(tǒng),優(yōu)化了節(jié)點(diǎn)間的距離矩陣,提高了本地節(jié)點(diǎn)內(nèi)存訪問(wèn)的命中率,減少了遠(yuǎn)端節(jié)點(diǎn)內(nèi)存訪問(wèn)的次數(shù),實(shí)現(xiàn)節(jié)點(diǎn)間內(nèi)存訪問(wèn)次數(shù)的均衡.

3)實(shí)現(xiàn)了大塊連續(xù)物理內(nèi)存的申請(qǐng).傳統(tǒng)的內(nèi)存分配函數(shù),只能保證虛擬地址連續(xù),無(wú)法保證物理地址連續(xù),尤其在需要大塊連續(xù)物理內(nèi)存時(shí),傳統(tǒng)的內(nèi)存分配函數(shù)無(wú)能為力.通過(guò)在操作系統(tǒng)啟動(dòng)時(shí)保留一塊物理內(nèi)存,同時(shí)在操作系統(tǒng)中添加一個(gè)修改頁(yè)表的函數(shù),完成用戶地址和保留的物理內(nèi)存地址之間映射關(guān)系的建立,最終實(shí)現(xiàn)了用戶態(tài)的內(nèi)存分配函數(shù),可申請(qǐng)到大塊連續(xù)的物理內(nèi)存.

4)二級(jí)cache鎖策略.通過(guò)把數(shù)據(jù)和指令鎖到cache,降低了cache缺失率,從而提高了應(yīng)用程序的性能.為提高Linpack性能,提升cache命中率,把需頻繁訪問(wèn)的數(shù)據(jù)矩陣鎖到二級(jí)cache,使該數(shù)據(jù)不會(huì)被替換出二級(jí)cache,直到整個(gè)程序運(yùn)行結(jié)束.當(dāng)二級(jí)cache收到DMA寫(xiě)請(qǐng)求時(shí),若被寫(xiě)區(qū)域在二級(jí)cache中命中且被鎖住,則DMA寫(xiě)將直接更新列到二級(jí)cache而非內(nèi)存.對(duì)于DMA設(shè)備來(lái)說(shuō),使用鎖cache機(jī)制把緩沖區(qū)鎖到二級(jí)cache,可提高輸入/輸出(input/output,IO)訪問(wèn)性能.

5)利用大頁(yè)降低TLB失效率.Linux內(nèi)核保留出大約6 Gbyte的內(nèi)存空間存放Linpack程序中的大量數(shù)據(jù),應(yīng)用程序通過(guò)調(diào)用重映射操作將程序映射到此空間中.系統(tǒng)將該空間做16 Mbyte的大頁(yè)面映射,以此降低Linpack中相關(guān)操作的TLB失效率,提高Linpack的性能.16 Mbyte的大頁(yè)為龍芯處理器TLB可映射的最大頁(yè)面,而系統(tǒng)頁(yè)大小通常為16 kbyte,因此16 Mbyte的頁(yè)映射可大大降低TLB失效率.

4 性能評(píng)估

4.1 互連性能

采用PMB 2.2軟件測(cè)試MPI系統(tǒng)的全局性能,分別對(duì)不同規(guī)模的計(jì)算節(jié)點(diǎn)進(jìn)行測(cè)試.測(cè)試16 384 byte的SendRecv以及 Allreduce、Reduce、Allgather、Allgatherv、Alltoall、Bcast和Barrier的函數(shù)性能,得到相應(yīng)規(guī)模的帶寬或延遲.其中,Allreduce函數(shù)通過(guò)帶寬來(lái)評(píng)估性能,其他函數(shù)通過(guò)延遲來(lái)評(píng)估性能.

表1給出在8處理單元時(shí),KD-90定制互連系統(tǒng)(HMGES)工作在以太網(wǎng)協(xié)議兼容模式時(shí),與KD-60采用的商用千兆以太網(wǎng)絡(luò)的互連性能對(duì)比.

由表1可知,設(shè)計(jì)定制的互連系統(tǒng)(HMGES)的MPI全局性能表現(xiàn)優(yōu)越,與KD-60系統(tǒng)采用的商用千兆以太網(wǎng)絡(luò)相比較,16 384 bit的SendRecv帶寬增加了 2.29倍.Allreduce、Reduce、Allgather、Allgatherv、Alltoall、Bcast和Barrier函數(shù)的延遲最多降低74.2%,最少降低50.8%.

表1 HMGES和千兆互連網(wǎng)絡(luò)的性能對(duì)比Table1 Performance comparison of HMGES and GE

4.2 Linpack性能

測(cè)試單處理器在8 Gbyte內(nèi)存,DDR3內(nèi)存主頻為466 MHz,CPU主頻為800 MHz條件下,采用相關(guān)優(yōu)化方法取得的Linpack性能數(shù)據(jù)如表2.

由表2可知,采用體系結(jié)構(gòu)的優(yōu)化方法后效果明顯,單核 Linpack效率提升30%,單處理器(CC-NUMA節(jié)點(diǎn))Linpack效率提升28%.在此基礎(chǔ)上,優(yōu)化操作系統(tǒng)可進(jìn)一步將Linpack效率提升4%~5%.數(shù)據(jù)表明,單處理器和單核之間Linpack效率相差10%,說(shuō)明處理器內(nèi)部CC-NUMA結(jié)構(gòu)對(duì)Linpack的性能有一定影響,操作系統(tǒng)內(nèi)存管理的優(yōu)化空間還較大.

表2 優(yōu)化方法性能評(píng)測(cè)Table2 Performance evaluation of optimization methods

表3給出KD-90整機(jī)在目前階段性工作取得的Linpack性能測(cè)試結(jié)果.由表3可見(jiàn),在矩陣大小為107 520時(shí),Linpack測(cè)試性能最佳,達(dá)25.99%.

目前整機(jī)Linpack效率尚未達(dá)到理想目標(biāo),一般整機(jī)效率只比單節(jié)點(diǎn)低約10%(如KD-50和KD-60),但在實(shí)際應(yīng)用中,低于30%,表明國(guó)產(chǎn)處理器在軟硬件協(xié)同優(yōu)化中還有很多工作要做.下一步我們將繼續(xù)深入優(yōu)化,使Linpack效率有望達(dá)50%左右.主要優(yōu)化方法包括:每個(gè)CPU可使用網(wǎng)絡(luò)接口數(shù)由1個(gè)增至4個(gè);將中斷平衡分布到4個(gè)核,提高I/O處理效率;進(jìn)一步提高單節(jié)點(diǎn)Linpack性能,如系統(tǒng)內(nèi)存可使用64 kbyte大頁(yè),尋求新的DGEMM(矩陣乘)算法及每個(gè)CPU可使用更大的內(nèi)存等.

表3 整機(jī)Linpack性能Table3 System Linpack performance

結(jié) 語(yǔ)

KD-90的系統(tǒng)硬件具有完全自主知識(shí)產(chǎn)權(quán),采用CC-NUMA機(jī)群架構(gòu)及高密度組裝技術(shù),在單一機(jī)箱中集成了系統(tǒng)全部的功能部件.其中,前置服務(wù)器和計(jì)算節(jié)點(diǎn)均采用了中國(guó)自主設(shè)計(jì)的龍芯3B 8核處理器;主要互連部件采用了自主研發(fā)的面向高性能計(jì)算的超多端口千兆以太網(wǎng)交換芯片.整機(jī)運(yùn)行功耗低于900 W,體積為0.12 m3,與微波爐相仿,實(shí)現(xiàn)了高能效、可移動(dòng)的桌面高性能計(jì)算.

KD-90的成功研制提高了國(guó)產(chǎn)高性能計(jì)算機(jī)領(lǐng)域的自主創(chuàng)新能力,推動(dòng)了龍芯系列處理器在高性能計(jì)算領(lǐng)域和服務(wù)器市場(chǎng)的應(yīng)用,在KD系列高性能計(jì)算機(jī)的研制中實(shí)現(xiàn)了桌面化應(yīng)用.

/References:

[1]Dong C,Noel A E,Heidelberger P,et al.The IBM blue Gene/Q interconnection fabric [J].IEEE Micro,2012,32(1):32-43.

[2]Haring R A,Ohmacht M,F(xiàn)ox T W,et al.The IBM blue Gene/Q compute chip [J].IEEE Micro,2012,32(2):48-60.

[3]Yang Xuejun,Liao Xiangke,Song Junqiang,et al.The TianHe-1A supercomputer:its hardware and software[J].Journal of Computer Science and Technology,2011,26(3):344-351.

[4]Sun Ninghui,Xing Jing,Huo Zhigang,et al.Dawning nebulae:a petaflops supereomputer with a heterogeneous structure[J].Journal of Computer Science and Technology,201l,26(3):352-362.

[5]Zhang Yunquan,Sun Jiachang,Yuan Guoxing,et al.China HPC 2011:State of the Art Analysis and Perspective[J].E-Science Technology&Application,2012,3(1):89-96.(in Chinese)張?jiān)迫?,孫家昶,袁國(guó)興,等.2011年中國(guó)高性能計(jì)算機(jī)發(fā)展現(xiàn)狀分析與展望[J].科研信息化技術(shù)與應(yīng)用,2012,3(1):89-96.

[6]Sun Ninghui,Chen Guoliang.PHPC:a spreading kind of high performance computer[J].Journal of University of Science and Technology of China,2008,38(7):745-752.(in Chinese)孫凝暉,陳國(guó)良.PHPC:一種普及型高性能計(jì)算機(jī)[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2008,38(7):745-752.

[7]Zhang Junxia,Zhang Huanjie,Li Huiming.Design of tera flops high performance computer KD-50-I based on Loongson 2F CPU [J].Journal of University of Science and Technology of China,2008,38(1):105-108.(in Chinese)張俊霞,張煥杰,李會(huì)民.基于龍芯2F的國(guó)產(chǎn)萬(wàn)億次高性能計(jì)算機(jī)KD-50-I的研制 [J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2008,38(1):105-108.

[8]Zhang Junxia,Li Chunshen,Zhang Huanjie.KD-50-IE:an enhanced high performance computer[J].Journal of University of Science and Technology of China,2009,39(8):894-896.(in Chinese)張俊霞,李春生,張煥杰,等.KD-50-I-E:一臺(tái)增強(qiáng)型高性能計(jì)算機(jī) [J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2009,39(8):894-896.

[9]Gu Naijie,Li Kai,Chen Guoliang,et al.Optimization of BLAS based on Loongson 2F architecture[J].Journal of University of Science and Technology of China,2008,38(7):854-859.(in Chinese)顧乃杰,李 凱,陳國(guó)良,等.基于龍芯2F體系結(jié)構(gòu)的BLAS庫(kù)優(yōu)化 [J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2008,38(7):854-859.

[10]Wu Chao,Sun Guangzhong,Chen Guoliang,et al.Linpack benchmark test on KD-50-I high performance computer[C]//The International Symposium on Parallel Architectures,Algorithms and Programming.Hefei(China):IEEE Press,2008:177-188.

[11]Chen Guoliang,Cai Ye,Luo Qiuming.Optimization of BLAS based on Loongson 2F architecture[J].Journal of Shenzhen University Science and Engineering,2011,28(6):471-477.(in Chinese)陳國(guó)良,蔡 曄,羅秋明.國(guó)產(chǎn)個(gè)人高性能計(jì)算機(jī)系統(tǒng)研制[J].深圳大學(xué)學(xué)報(bào)理工版,2011,28(6):471-477.

[12]Ohio Supercomputer Center.Blue collar computing [EB/OL](2004-07-01)[2004-09-01].http://www.osc.edu/bluecollarcomputing/.

[13]Cray Inc.Cray CX1 Tesla GPU Computing Blade [EB/OL](2009-01-01)[2009-03-01].http://www.cray.com/Assets/PDF/products/cx1/CX1.

猜你喜歡
龍芯寄存器高性能
基于國(guó)產(chǎn)化龍芯的動(dòng)環(huán)數(shù)據(jù)采集系統(tǒng)
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
一款高性能BGO探測(cè)器的研發(fā)
電子制作(2017年19期)2017-02-02 07:08:49
高性能砼在橋梁中的應(yīng)用
“龍芯之父”胡偉武
龍芯發(fā)布新一代處理器產(chǎn)品
SATA推出全新高性能噴槍SATAjet 5000 B
高性能可變進(jìn)氣岐管降低二氧化碳排放
汽車零部件(2014年8期)2014-12-28 02:03:03
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
台江县| 永春县| 民勤县| 光泽县| 临邑县| 金门县| 邹平县| 安义县| 大港区| 金阳县| 偃师市| 新河县| 永修县| 盐池县| 肥西县| 桑日县| 巴林左旗| 敦煌市| 五家渠市| 宝山区| 铅山县| 柳州市| 揭东县| 金堂县| 临高县| 铜陵市| 镇安县| 四会市| 丰城市| 鄂伦春自治旗| 苏州市| 汾阳市| 东丽区| 荔波县| 南召县| 棋牌| 上高县| 岑巩县| 新源县| 珲春市| 定远县|