多主并行處理加固計算機設(shè)計和實現(xiàn)
摘 要: 采用Intel Xeon LV處理器,利用先進(jìn)的EDA工具和仿真軟件進(jìn)行高速串行總線的合理布局布線,實現(xiàn)了一種支持多主并行處理的加固計算機。根據(jù)應(yīng)用,構(gòu)建了基于高速互連網(wǎng)絡(luò)的計算機硬件系統(tǒng),結(jié)合成熟的商用并行軟件,對計算機系統(tǒng)并行能力進(jìn)行了測試;針對抗惡劣環(huán)境應(yīng)用,特別是熱設(shè)計,通過熱分析、建模仿真(Icepak)等手段,實現(xiàn)計算機系統(tǒng)的環(huán)境設(shè)計。
關(guān)鍵詞: 并行; 加固; 高速串行; 熱分析
隨著國防裝備信息化的發(fā)展,對計算性能的要求也越來越高,要求計算機具備強數(shù)據(jù)處理能力、數(shù)據(jù)計算能力、數(shù)據(jù)存儲能力等,采用分布式多主并行處理等高性能工作方式進(jìn)行全方位大量的信息處理。高性能則要求計算單元性能高、互連總線帶寬高、具備管理監(jiān)控功能和合理的計算機處理軟件體系結(jié)構(gòu)[1]。由此帶來了高密度、高功耗的電氣和結(jié)構(gòu)設(shè)計,對尺寸、重量、高溫、低溫、振動、沖擊、電磁兼容性等有特殊要求的應(yīng)用場合及對電氣和結(jié)構(gòu)抗惡劣環(huán)境設(shè)計均提出了更高的要求。但目前很多國內(nèi)抗惡劣環(huán)境高性能計算機系統(tǒng)都是由采購產(chǎn)品之后的二次加固形成,其實用性、可靠性和適應(yīng)性較差。本文從硬軟件設(shè)計、抗惡劣環(huán)境設(shè)計等方面介紹了高性能抗惡劣計算機的設(shè)計和實現(xiàn),以及對此計算機進(jìn)行并行計算能力測試結(jié)果。
1 硬件設(shè)計
多主并行處理加固計算機由控制和計算模塊、直通網(wǎng)絡(luò)模塊、交換網(wǎng)絡(luò)模塊、冗余管理模塊、冗余電源、風(fēng)扇以及機箱、底板等組成。控制和計算模塊之間通過背板的千兆以太網(wǎng)互連進(jìn)行數(shù)據(jù)交換,管理模塊符合智能型平臺管理接口IPMI規(guī)范1.5版本及以上版本,進(jìn)行機箱內(nèi)硬件管理,且具備冗余的管理模塊;管理模塊同時實現(xiàn)計算刀片的KVM切換功能,方便現(xiàn)場工作人員的操作,用1套鍵盤、鼠標(biāo)、顯示實現(xiàn)對幾個控制和計算模塊的人機接口管理。同時多主并行處理加固計算機還具備冗余的電源、風(fēng)扇等。在實際工作中,通過直通網(wǎng)絡(luò)模塊、交換網(wǎng)絡(luò)模塊允許進(jìn)行各種互聯(lián)配置。以并行計算為例,允許采用2套網(wǎng)絡(luò)實現(xiàn)雙網(wǎng)分離、專網(wǎng)專用,如計算網(wǎng)絡(luò)、數(shù)據(jù)網(wǎng)絡(luò)和計算控制網(wǎng)絡(luò)分離,實現(xiàn)專網(wǎng)專用,提高了整體性能,達(dá)到了備份高可用的目的。
1.1 控制和計算模塊設(shè)計
控制和計算模塊是標(biāo)準(zhǔn)6U模塊,實現(xiàn)雙CPU組建SMP架構(gòu)。采用雙核Intel Xeon Processor LV(主頻2.0 GHz),同時處理器板兼容Intel Xeon Processor LV(主頻2.0 GHz),北橋芯片為Intel E7520,南橋芯片為6300ESB,板載2 GB 雙通道DDRII-400內(nèi)存,提供ECC校驗,板載2塊SATA硬盤,雙千兆以太網(wǎng)絡(luò)支持PICMG 3.1規(guī)范。其原理框圖如圖1所示。
1.2 高速電路設(shè)計
硬件設(shè)計中的關(guān)鍵是高速電路設(shè)計,特別是基于PCI Express總線的電路,對于高速電路的PCB設(shè)計,必須在電路設(shè)計前后采用仿真工具進(jìn)行驗證和確認(rèn)。
(1)阻抗控制。PCI Express規(guī)范要求走線阻抗為100 Ω差分阻抗。阻抗主要由線寬、線間距、銅皮厚度、介質(zhì)層厚度、介質(zhì)材料等決定。經(jīng)計算特征阻抗為94.5 Ω,可滿足要求。
(2)損耗。圖2是在模塊表層走線寬度為0.152 4 mm、走線間距為0.152 4 mm,走線厚度為0.101 6 mm,走線長度為0.508 m的情況下進(jìn)行仿真得到符合要求的驅(qū)動端視圖。
(3)后仿真的實現(xiàn)。后仿真主要是在PCB繪制完成后,在前仿真的基礎(chǔ)上將PCB相關(guān)的數(shù)據(jù)導(dǎo)入后再進(jìn)行的仿真,其仿真結(jié)果如圖3所示,信號幅度在接收器可以識別的范圍之內(nèi)可滿足要求。
2 軟件設(shè)計
多主并行處理加固計算機軟件包括應(yīng)用軟件、操作系統(tǒng)、硬件模塊支持軟件3個層次,各層之間相對獨立,支持各層軟硬件的獨立升級,系統(tǒng)配置與運行管理提供功能分區(qū)定義與安全策略框架。硬件模塊支持軟件層包括控制和計算模塊的板級支持包、網(wǎng)絡(luò)交換通信包。操作系統(tǒng)層包括并行處理操作系統(tǒng)、多處理器協(xié)同控制及軟件動態(tài)下載和功能重組,支持分布式處理、SMP雙CPU、多CPU/DSP結(jié)構(gòu)等,能夠進(jìn)行故障定位、隔離、健康管理、支持應(yīng)用軟件動態(tài)遷移。應(yīng)用軟件層包括任務(wù)處理軟件和任務(wù)管理軟件[2]。多主并行處理加固計算機利用成熟的商用軟件和函數(shù)庫[3],在操作系統(tǒng)上構(gòu)建并行環(huán)境和并行程序編制測試等。
建立并行環(huán)境主要包括:適用的操作系統(tǒng)(Linux)部署使用,統(tǒng)一IP和DNS的網(wǎng)絡(luò)配置和組網(wǎng),方便用戶提交任務(wù)和管理操作的通信協(xié)議SSH的使用和單一登錄構(gòu)建,基于MPICH2的并行編程函數(shù)庫的編譯、安裝和配置,基于網(wǎng)絡(luò)文件系統(tǒng)(NFS)的登錄和共享的單一文件系統(tǒng)構(gòu)建等。
3 抗惡劣環(huán)境設(shè)計
根據(jù)多主并行處理加固計算機主模塊多、功耗大的特點,在抗惡劣環(huán)境設(shè)計中主要包括計算機系統(tǒng)的散熱設(shè)計、減振抗沖擊設(shè)計、電磁兼容性設(shè)計、防腐防潮設(shè)計等。計算機系統(tǒng)的整體功耗較大,帶來高溫工作性能挑戰(zhàn),因此此節(jié)主要對散熱設(shè)計進(jìn)行說明。
計算機系統(tǒng)采用強迫風(fēng)冷方式。對于機箱里的硬盤模塊、電源模塊、控制和計算模塊等均有各自獨立的散熱系統(tǒng)和風(fēng)道。機箱為半密封式機箱,根據(jù)系統(tǒng)發(fā)熱功率的峰值為800 W、控制和計算模塊CPU的熱流密度的峰值為7.6 W/cm2(9.5 W/cm2×0.8)、模塊上主要芯片的熱流密度,采用強迫對流散熱方式。模塊上芯片的熱量主要通過傳導(dǎo)散熱方式經(jīng)過導(dǎo)熱膠墊把大部分熱量傳導(dǎo)到型材散熱片,再通過對流換熱經(jīng)空氣排到箱體外部,機箱前部裝有5個渦流鼓風(fēng)風(fēng)扇,以提高主要熱源的熱交換速度,保證系統(tǒng)在規(guī)定的溫度范圍正常工作。系統(tǒng)總體構(gòu)架初步搭建完成后,使用Icepak軟件對機箱散熱系統(tǒng)進(jìn)行仿真分析,驗證系統(tǒng)的換熱能力,論證風(fēng)路分布的合理性,以保證可靠的系統(tǒng)散熱效果。根據(jù)計算機配置,所建模型如圖4所示。
圖4為去掉機箱上蓋板、右蓋板、前蓋板等零件后的內(nèi)部剖視圖,5個鼓風(fēng)風(fēng)扇分別對應(yīng)主要熱源:電源模塊、CPU模塊、硬盤模塊。發(fā)熱器件主要參數(shù)如下:控制和計算模塊的發(fā)熱量約為80 W(單個),電源發(fā)熱量為45 W(單個)。通過仿真分析發(fā)現(xiàn):整機內(nèi)主要模塊的熱流速度較快,但系統(tǒng)整個內(nèi)部由于組件較多,形成很多渦流,使內(nèi)部熱氣流不能以最短的路徑傳遞出去,造成內(nèi)部積溫。改進(jìn)系統(tǒng)熱路徑需要在后部增加抽風(fēng)風(fēng)扇,在硬盤末端加擋風(fēng)板。
通過分析可知,系統(tǒng)改進(jìn)后,在滿負(fù)荷時,控制和計算模塊溫度為115 ℃,電源發(fā)熱器件最高溫度為100 ℃,小于器件極限溫度,基本滿足使用要求。但增加風(fēng)扇所帶來的系統(tǒng)不匹配問題仍然存在,通過改善控制和計算模塊塊的傳熱方案,仍有提高的潛力。
4 實驗結(jié)果
在完成上述4項技術(shù)設(shè)計的基礎(chǔ)上,通過一個并行程度相對較高的任務(wù),即上萬個數(shù)的冒泡排序法,對多主并行處理加固計算機的并行計算能力進(jìn)行了測試。通過編寫任務(wù)的串行算法和把串行算法并行化,實現(xiàn)任務(wù)的并行初始化、任務(wù)分配、子任務(wù)并行執(zhí)行、子任務(wù)匯總等。所有節(jié)點完成各自任務(wù)之后,由主節(jié)點進(jìn)行匯總。采用枚舉算法是將每個節(jié)點求解出來的秩序列合并,得到完整的秩序列[4]。子節(jié)點通過 MPI_SEND 函數(shù)向主節(jié)點發(fā)送自己求解得到的 Rank 序列,同時主節(jié)點通過 MPI_RECV 函數(shù)逐個收集子節(jié)點的Rank序列,根據(jù)子節(jié)點的ID和 Rank序列長度將所有的Rank序列依次拼接起來,最終得到完整的秩序列[5]。這里需要注意的是:拼接次序和位置必須準(zhǔn)確無誤,否則最終結(jié)果必定不正確。完整的秩序列得到之后,枚舉排序并行算法的并行化也就完成了。在多主并行處理加固計算機上使用6個節(jié)點運行任務(wù),對10萬個隨機生成的整數(shù)進(jìn)行排序,所需時間僅為單機運行串行程序耗費時間的六分之一,效率提高近6倍。
參考文獻(xiàn)
[1] 陸鑫達(dá).計算機系統(tǒng)結(jié)構(gòu)[M].北京:高等教育出版社,2000.
[2] 陳國良.并行計算——結(jié)構(gòu)、算法、編程[M].北京:高等教育出版社,1999.
[3] 柴小麗,奚軍,倪明.適度并行嵌入式計算機體系結(jié)構(gòu)研究[J].計算機工程,2008,34(5):283-285.
[4] 宋偉,宋玉.基于SMP集群系統(tǒng)的并行編程模式研究與分析[J].計算機技術(shù)與發(fā)展,2007,17(2):164-167.
[5] 張翠蓮,劉方愛,王亞楠.基于MPI的并行程序設(shè)計[J].計算機技術(shù)與發(fā)展,2006,16(8):72-74.