一、多媒體運算——主要使用整型和雙精度運算。例如用于圖形圖像處理和三維圖像生成的HPC應用就屬于這種類型。它對HPC節(jié)點的多媒體計算功能要求很高,而英特爾至強5500集成的SSE系列指令集及相應的浮點單元設計在處理這類應用中表現(xiàn)就非常出色;

二、科學計算——主要使用浮點運算功能,這也是目前HPC系統(tǒng)的最主要應用領域。像天氣預報和石油勘探等HPC應用都屬于這一類。

三、數據庫應用——主要依仗邏輯計算和I/O操作的性能。目前數據庫集群系統(tǒng)和網格數據庫系統(tǒng)就屬于這類應用。它需要計算節(jié)點有很強的I/O處理能力,同時,整個HPC系統(tǒng)也要具備足夠的外接存儲空間。

根據以上信息確定常用應用所屬的類型后,用戶接下來還要對它的具體特征進行分析,例如它是更看重系統(tǒng)的浮點運算性能、內存子系統(tǒng)性能,I/O性能、以及系統(tǒng)各節(jié)點之間互聯(lián)的性能,這就需要用戶應用專業(yè)的技術手段對其進行應用特征分析了。分析的結果,其實就是用戶對系統(tǒng)硬件配置進行進一步優(yōu)化的基礎和準繩。而值得一提的是,這種分析用戶可以自行操作,也可以求助于專業(yè)的HPC領域廠商,例如英特爾的相關技術支持團隊,就為不少重要的HPC用戶提供了這種支持和服務。

HPC系統(tǒng)配置優(yōu)化要全盤考慮

通過細致的分析,相信許多HPC用戶已經能對自身應用的計算需求有了更為清晰的認識。那么接下來,就讓我們看看應該如何針對它們需求,優(yōu)化和提升英特爾至強5500平臺的系統(tǒng)的性能表現(xiàn)吧。

同樣,在調整和優(yōu)化硬件配置之前,用戶也有必須通過各種測試評估手段摸清它的特性,例如用Cycle統(tǒng)計、CPI值、內存訪問、緩存效率、NUMA、SMT、IO粒度/延遲、MPI粒度/擴展性等方面的分析手段來評價HPC平臺,并以性能特征雷達圖來綜合比較不同處理器對應用的適用性。

在至強5500上,英特爾采用了SSE4.2指令集,內置DDR3內存控制器、QPI等先進技術,它們或能可加速字符和文本處理器、搜索、及在大型數據庫中搜索數據的速度,支持新的通信領域的指令,或可以強化內存子系統(tǒng)性能,或者可以實現(xiàn)較強在系統(tǒng)I/O帶寬,而且它們帶來的這些潛力,只要用戶的應用支持即可產生效用,而另一些至強5500處理器的特性,例如超線程技術,睿頻技術、NUMA特性等,則需要用戶視需求自行激活和關閉。例如NUMA特性開啟后可以提升大部分HPC應用的性能,但在操作系統(tǒng)開多線程的情況下,關閉它反而有助于防止這些線程的內存分配導致不平衡的內存訪問分布的情況。

相對來說,睿頻技術和超線程技術的適用性更強一些,前者無論是運行多線程應用還是單線程應用都能發(fā)揮效力,而且特別適用于計算密集型的應用,后者則能在運行多線程應用時實現(xiàn)最佳的效率。

當然,要優(yōu)化至強5500節(jié)點在HPC應用中的表現(xiàn),用戶優(yōu)化的方向還不能僅僅限于處理器,例如在I/O方面,要提高MPI網絡節(jié)點通信速度.最高MPI地址就應設置得較小。同時,單個節(jié)點的節(jié)點間進程數越少越好,最好是一個。另外,由于越來越多的應用受限于I/O,存儲系統(tǒng)正起著越來越重要的作用,此時,磁盤陣列(RAID)就是一種提供高性能I/O的最常見存儲設備,所以在存儲方面,多盤最好作成RAID,以保證I/O并行。

軟件調優(yōu)層層推進

除將HPC系統(tǒng)硬件配置調為最優(yōu)化外,HPC用戶要想獲得最好的應用效果,最好不要忽視其應用軟件的調優(yōu)。其實早在2005 年3月的時候,C++大師 Herb Sutter 在 《Dr.Dobb’s Journal》上就發(fā)表了《免費午餐已經結束》一文。在他看來,現(xiàn)在的程序員對效率、伸縮性、吞吐量等一系列性能指標相當忽視,很多性能問題都仰仗越來越快的處理器來解決。但處理器的性能在不久的將來,很有可能會達到一定的極限。因此越來越多的應用程序將不得不直面性能問題,而解決這些問題的辦法就是采用并發(fā)編程技術。

顯而易見,采用針對多核多線程平臺的并行開放方案,能有效提高性能,但如果考慮不全面,如忽略帶寬、數據競爭及數據同步不當等因素,效率反而會降低,應用軟件執(zhí)行的速度也會越來越慢。

除了走向并行化,HPC的軟件調優(yōu)還涉及了很多其他方面的內容,因為軟件優(yōu)化本身是一個貫穿整個軟件開發(fā)周期,從開始設計到最終完成一直進行的連續(xù)迭代過程。同樣重要的是,在80/20原則指導下要知道何時適可而止,以及由算法特性決定的理論并行上限。此外,還有一點對于軟件調優(yōu)至關重要,那就是用戶和軟件開發(fā)商要在優(yōu)化前,找出其性能瓶頸所在。正如最偉大的 C 語言大師 Rob Pike 所說:“瓶頸經常出現(xiàn)在意想不到的地方,如果你無法斷定程序會在什么地方耗費運行時間,那就別急于胡亂找個地方去修改代碼,除非你已經證實那兒就是瓶頸所在。”

對于HPC應用的調優(yōu),英特爾公司通過為客戶提供相關的技術支持,也積累了一些經驗和心得。例如它一直強調用戶在部署和優(yōu)化HPC系統(tǒng)性能的時候,必須遵循從系統(tǒng)到應用再到微架構的順序,在將應用之外的系統(tǒng)影響調試到最優(yōu)狀態(tài)后,才能開始考慮應用的優(yōu)化。而在對應用本身進行優(yōu)化的時候,也不能急于進入模型算法以及代碼級的調整,如要加強并行性,也是要從程序的實現(xiàn)上從進程級到線程級逐步提高并行性能。

除了一些類似的經驗可供參考,英特爾的軟件調優(yōu)工具,如Parallel Studio也可以為用戶帶來實實在在的幫助,它由一組完整的工具產品組成,包括高性能編譯器,VTune™ 可視化性能分析器,高性能函數庫,多線程工具和應用于高性能計算的集群工具及工具包等等。這些軟件產品能幫助用戶調優(yōu)高性能計算系統(tǒng)上運行的中間件和應用軟件。目前,英特爾這套軟件產品已被成功應用于全球很多知名的軟件公司、HPC中心及實驗室內,并且發(fā)揮著越來越重要的作用。

從上面對系統(tǒng)和應用優(yōu)化的細節(jié)中,再加上此前IT號外文章對至強5500在HPC領域應用價值的描述,我們都可以很清晰地看到英特爾為用戶所想,心系用戶實際應用的創(chuàng)新理念,而在未來,這一理念還將驅動它為廣大HPC用戶帶來更多值得關注的專業(yè)化產品、技術和解決方案。在下一篇IT號外文章中,我們就將對英特爾未來相關的創(chuàng)新路線圖進行詳細介紹,敬請關注。

分享到

cuihao

相關推薦