1超算界的角鬥場:TOP500是什麼?
1946年,由美國軍方定製的電子計算機「ENIAC」面世,當時的這個「你們夥」每秒可執行5000次加法或400次乘法運算。通過了70年的發展,超算的運行速度已經達到億億次/秒級別。在今年6月的ISC 2016上,TOP500公佈了新一屆世界冠軍:神威·太湖之光。有人不由會問,這款超算究竟有何能力超過天河二號?國產處理器申威26010,又是怎樣的祕密武器?html
神威·太湖之光node
超算界的角鬥場:TOP500算法
自1993年以來,國際TOP500組織每一年都會按照Linpack測試性能公佈全球已部署的前500臺超算,每一年會有兩次排名,旨在促進超算領域的交流和合做,推廣應用。因爲在2002年以前,中國HPC(高性能計算)不曾向國際申報過Linpack結果,所以沒有被列入TOP500。後來,隨着相關機構陸續開放測試,中國開始在國際超算市場嶄露頭角,迅速成爲前10名的常客。緩存
Linpack最先在1974年4月被使用,是當前最流行的用於測試高性能計算機系統浮點性能的基準,經過超算求解N元一次稠密線性代數方程組的方式作出評估。Linpack測試包括Linpack100、Linpack1000和HPL。其中,HPL被稱爲高度並行計算基準測試,是針對現代並行計算機提出的測試方式,應用範圍更廣。網絡
計算峯值是衡量計算機性能的一個重要指標,所謂的浮點計算峯值分爲理論值和實測值,前者是計算機理論上每秒能完成浮點計算的最大次數,主要由CPU主頻決定,後者是Linpack測試值,即在計算機上運行Linpack測試程序,經過一系列調校獲得的最優測試結果。架構
在德國法蘭克福舉行的第47屆國際超算大會上,一串帶有中國特點的英文「TaiHuLight」成了全場焦點,它的官方名稱是「神威·太湖之光」。這款超算以93Petaflops的Linpack峯值能力壓天河二號,領跑TOP500,與它一塊兒出名的,還有國產處理器申威26010。值得一提的是,中國上榜的HPC數量(167臺)也首次超過了美國(165臺)。框架
除了排在前兩位的太湖之光和天河二號,第四至十名的超算依次爲泰坦、Sequoia紅杉、日本K京、Mira、Trinity、Piz Daint、Hazel Hen和Shaheen II。根據官方的說法,中國是繼美國、日本以後,全球第三個採用自主CPU建成千萬億級別超級計算機的國家。工具
做爲曾經的TOP500六冠王,這裏也有必要提一下天河二號,其由國防科大研發,落戶在廣州超算中心,搭載英特爾Xeon處理器,運行的是基於Linux的麒麟系統,創新性地採用了異構融合體系結構。天河二號的計算節點能耗約爲18兆瓦,加上散熱系統的總體能耗在20兆瓦以上。佈局
2太湖之光首秀奪冠 軟硬件實現國產化
初識「太湖之光」
事實上,今年的ISC並不是是神威家族的首秀,2011年曾經有一個神威藍光系統,被安裝在濟南的國家超級計算中心,當時在TOP500上排名第14,所使用的申威SW1600是第三代16核芯片。上線五年以後,在863計劃的支持下,中國國家並行計算機工程技術國家研究中心(NRCPC)推出了更強大的申威SW26010處理器,幫助太湖之光奪取了冠軍。
太湖之光搭載申威26010衆核處理器,運行速度超過10億億次/秒,峯值性能12.54億億次/秒,持續性能達到9.3億億次/秒,功耗比達到每瓦特60.51億次運算。與天河二號相比,持續計算速度提高了近3倍,測試功耗卻更低(15371KW,天河二號爲17808KW)。在Linpack測試中,太湖之光用4個小時就完成了天河二號20多個小時才能完成的運算任務。
申威26010處理器,主板爲雙節點(圖片來自Jack Dongarra)
太湖之光的整機效率達到74.16%,相比之下泰坦爲65.19%、天河二號爲55.83%,這在性能愈強、規模愈大的狀況下,是很不容易的。性能功耗比方面,太湖之光的成績爲6G/W,泰坦爲2.143G/W,天河二號爲1.95G/W。此外,太湖之光在Green500也躋身三甲,考慮到排在前兩位的超算搭載的是低功耗英特爾E5,所以這一成績值得確定。
總體來看,太湖之光的架構應該是沿用了藍光的MPP(大規模並行處理)分佈式方案,更符合傳統的HPC應用,效率更高。太湖之光由40個計算機櫃組成,每一個機櫃有4個SuperNode(256個節點組成),共擁有40960個節點,每一個節點單CPU有260個核心,主板爲雙節點設計,每一個CPU固化的板載內存爲32GB DDR3-2133。
可嵌入四塊雙節點主板,正反各兩塊(圖片來自Jack Dongarra)
超級節點Supernode(圖片來自Jack Dongarra)
此外,太湖之光運行的是基於Linux的Sunwei Raise OS 2.0.5操做系統,配有兼容衆核的編譯器,支持Fortran、C/C++、OpenACC 2.0等語言,以及神威OpenACC編譯工具。互聯方面,其選擇了PCI-E 3.0物理鏈路,軟件協議是自主的Sunway Network。在PCI-E嵌入的交換芯片會被看成虛擬網卡使用,這就使得各節點有了獨立的IP。
至於機房擺放,太湖之光采用了兩側各20個計算機櫃和存儲機櫃、中間單列網絡系統機櫃的佈局,佔地面積605平方米。
3申威26010揚名 擺脫國外技術依賴
國產申威26010的祕密武器
除了太湖之光奪冠,其實更使人興奮的是其採用了國產處理器申威26010,能夠說有着必定的歷史意義。2015年4月,美國商務部發布公告,決定禁止英特爾向四家國家超級計算機中心出售Xeon Phi處理器。而在此以前,曾經的TOP500冠軍天河二號採用的就是Xeon系列處理器。這意味着,天河二號將沒法繼續使用英特爾提供的用於升級系統的新款芯片。
然而,申威26010的出現擊碎了外界對於國產化的質疑。與此同時,這款處理器也帶來了一個「新名詞」:衆核。超算界早已對以GPU、衆核爲表明的異構計算持開明態度,GPU應用的場景愈來愈多,在算法上也有了更多的支持。從長遠來看,異構集羣對超算的重要性會加大,在確保靈活性和軟件兼容性的前提下,追求更高的性能和更低的功耗。
一直以來,HPC的發展離不開軍用和科研,太湖之光也不例外。事實上,申威在業內早有耳聞,但爲何外界鮮有人知呢?主要緣由或許就是軍方背景。申威系列芯片的研發單位是江南計算機所(即總參某部56所),而申威26010就是在國家高性能集成電路(上海)設計中心生產,被部署於無錫國家超級計算中心。總參某部56所建立於1951年6月,位於無錫。
申威最初的技術來源是DEC公司開發的Alpha 21164,後者在1995面世,採用0.5um製造工藝,主頻爲200MHz。不過,隨着技術研發的深耕,江南所拓展出了自主的申威-64指令集,擺脫了Alpha的影子。
申威26010採用了「CPU+加速器」的方案(管理核心+運算核心),爲64位RISC(主頻1.45GHz),擁有260個處理核心和4個內存控制器。處理器內包括四個核心組,每組有65個內核,由8×8 Mesh架構計算集羣(CPE)、一個管理單元(MPE)、一個內存控制器(MC)組成。其中,MPE和MC也能夠被看成獨立的處理核心,前者負責系統管理和通信,後者則用於浮點運算,單個內存(128bit的DDR3)帶寬爲34GB/s,所以整個處理器提供了136.5GB/s的帶寬。
申威26010核心組結構(圖片來自Jack Dongarra)
申威26010支持264位的矢量指令集,內置各32KB的L1指令緩存和數據緩存,以及256KB L2緩存,沒有L3緩存。對於CPE來講,單條處理管線使得每一個主頻週期可進行8次浮點運算,浮點性能爲11.6GFLOPS,而MPE則約爲CPE的兩倍。
申威26010節點基礎設計(圖片來自Jack Dongarra)
此外,申威26010可能並不是採用NUMA(非統一內存訪問架構)架構,這使得處理器組內之間的內容共享成爲可能,在硬件方面沒有緩存的一致性需求,由軟件負責同步。相比之下,英特爾Kight Landing則是將緩存一致性(Cache Coherence)都交給硬件。從性能來看,申威26010的雙精浮點峯值爲3.06TFlops,與Kight Landing處在同一水平線。
不過,做爲徹底自主的國產處理器,申威26010也面臨着一些問題。首先就是製造工藝,有人猜想28nm,儘管並非官方說法,但相較英特爾的14nm仍是有些落後。其次,太湖之光的HPCG(High Performance Conjugate Gradients)成績也通常,峯值效率爲0.3%,低於天河二號的1.1%。
太湖之光的HPCG成績不理想(圖片來自Jack Dongarra)
對於HPCG測試,多是內存和互聯寬帶拖了後腿。前面提到過,申威26010採用的是DDR3,而英特爾Kight Landing已經用上六通道DDR4,Xeon Phi的內存帶寬達到了512GB。雖然太湖之光在Linpack上大幅領先,但在HPC的適用性方面就會有些降低。總的來講,申威26010在計算能力上的優點有目共睹,不過因爲更偏向軍用,所以部分功能通過了特殊調校,應用範圍有必定的侷限。
4太湖之光應用貢獻大 照亮中國超算
超算之路不平坦 太湖之光只是開始
從天河系列的70%國產化,到神威藍光的85%以上,再到現在徹底自主、耗時三年研製的神威太湖之光,中國超算在美國芯片禁運的「倒逼」下,已經跨出了歷史性的一步。值得一提的是,基於太湖之光系統的三項全機應用還入圍了有超算界諾貝爾之稱的「戈登貝爾獎」。該獎項自1987年設立以來,中國團隊從未入圍過。
在國家863計劃的支持下,做爲「國之重器」的超級計算機在工業製造、航天、軍事、醫學、科研等領域將發揮更大的做用,而且會助推深度學習、人工智能的發展。將來,太湖之光將在四個方向發揮做用:全球高分辨率模擬,爲氣候變化研究提供量化研究的基礎;先進製造,助力「中國製造」轉向「中國創造」;生命科學,爲研發新葯和探索生命奧祕提供支撐;大數據分析。
舉例來講,國家超級計算無錫中心與清華大學、北京師範大學合做,在太湖之光上進行了CAM全球大氣模式的重構與優化,以及全球超高分辨率大氣模式實驗框架。其中,大氣模式實驗框架已初步實現了3千米精度,僅次於日本NICAM 870米的分辨率。清華大學計算機科學與技術系副教授薛巍表示:「有了這套計算機系統,咱們能夠在30天內完成將來100年的地球氣候模擬,全面提高我國應對極端氣候事件和天然災害時的減災防災能力。」
大氣模式實驗框架(圖片來自國家超級計算無錫中心)
藉助太湖之光,國家計算流體力學實驗室對「天宮一號」返回路徑進行了數值模擬計算,將爲其返回提供精確預測;上海藥物所開展的藥物篩選和疾病機理研究,兩週內就完成了本來須要10個月的計算,加速了白血病、癌症、禽流感等疾病的藥物設計進度;此外,太湖之光還將在「高分辨率海浪數值模擬」和「鈦合金微結構演化相場模擬」方面作出巨大貢獻。截至目前,國家超級計算無錫中心已經與北京大學、中科院軟件所、中船重工702所、遠景能源、清華大學、國家計算流體力學實驗室等國內30多家機構或單位創建了應用合做關係。
除了國家級研究機構的貢獻,以聯想、曙光等爲表明的中國企業也在超算領域有着很好的表現。最新一期TOP500中,聯想就以92套得到了全球超算份額第2、中國第一的成績。將來,超算將朝着高性能、低功耗的方向繼續拓展,芯片設計、任務分配、算法優化、應用範圍、散熱系統等依然是努力的重點。
固然,在歡喜的同時,中國超算的配套硬件和實際應用仍有較大的提高空間,太湖之光的成績當然亮眼,但應用數量還不能與天河二號相比。軟件方面,太湖之光解決特定領域的問題能夠,畢竟都是專爲申威處理器優化過的,但要涉及商業或其餘領域,就必須考慮兼容性。目前,國內超算研發經費中用於開發應用軟件的佔比不到10%,而美國則在30%以上。若是不能融入商業用途,其實也是一種資源浪費。
自1983年的「銀河一號」誕生以來,中國超算從一片空白,到自主研發領跑全球,其中的巨大進步值得讚譽,這是成爲科技強國的必經之路。而一路走來,質疑之聲也從未間斷,但不管怎樣,每一項技術創新都會有學習的過程,不怕起步晚、走彎路、困難多,有了徹底自主的技術支持,太湖之「光」將讓中國超算更加閃耀。
(注:本文部分技術內容來自知乎網友Sean、yuan zhao、瞭望智庫,以及美國田納西大學橡樹嶺國家實驗室Jack Dongarra博士發表的英文學術報告,Tech Report UT-EECS-16-742)
5附:更多關於太湖之光及TOP500信息
附表:(內容來自Jack Dongarra的報告)
神威太湖之光系統參數:
太湖之光、天河二號、泰坦對比:
六款超算對比:
太湖之光與英特爾KNC、KNL對比:
最新一期TOP 500前10位的超算: