不同路線的較量:中美新超算哪家強-鐵流
11月16日,新一期全球超級計算機500強榜單在美國公佈,中國“天河二號”超級計算機連續六度稱雄。回想今年4月,美國對中國數家機構禁售至強PHI計算卡。就當很多輿論認為天河超算將遭遇劫難之時,國防科大接連對外發布足以替代E5的“火星”和可以替代至強PHI的矩陣2000,既是向美國禁售至強PHI的亮劍,也是公開了天河超算將來的發展方向——矩陣2000替代至強PHI,實現自主創新,走一條以往沒人走過的GPDSP路線。
所謂GPDSP,是通用數字信號處理器,用於高速、實時的信號處理,有非常高的雙精浮點性能,國防科大正是將其作為超算的加速器。
筆者日前採訪了中國計算機學會高性能計算專業委員會秘書長張雲泉,他指出,中國新一代超算在性能上是可以與美國超算匹敵的,但在實際應用水平上還有差距。因為採訪機會難得,沒有談許多讀者關心的基礎知識,這裏做些補充,以便讀者能理解,相對於美國走GPGPU路線的新超算,即利用GPU很高的雙精浮點性能在超算中充當加速器,中國走GPDSP路線到底孰優孰劣。
同構計算和異構計算
不同加速器的選擇,導致中美超算的不同發展路線。那麼為什麼要用到加速器呢?
超算可以分為兩種架構。採用同構計算架構的超算只需要單純使用一種處理器,在同一類型的處理器上執行計算任務。舉例來説,日本超算“京”採用的處理器是富士通的Sparc64-VIIIfx,中國的全國產超算神威藍光采用了申威1600,美國的Mira和Sequoia採用了PowerPC-A2處理器,這些超算都沒有采用GPU或其它類型的眾核芯片等加速器。日本富士通的京,美國IBM的Mira和Sequoia,中國的神威藍光都是採用同構計算架構超算的代表。

日本超算“京”

IBM的Sequoia
而異構計算要使用不同類型的處理器來處理不同類型的計算任務。常見的計算單元包括CPU、GPGPU、GPDSP、ASIC、FPGA和其它類型的眾核處理器等。異構計算是一種分佈式計算,它或是用能同時支持SIMD方式和MIMD方式的單個獨立計算機,或是用由高速網絡互連的一組獨立計算機來完成計算任務。採用異構計算架構的超算會使用至少2種類型的處理器,其中異構計算架構中通用CPU負責邏輯複雜的調度和串行任務,加速器負責並行度高的任務,實現計算加速。具體來説,採用異構計算架構的超算在運算中既使用處理器,又使用GPU或眾核芯片等加速器。以美國泰坦和中國天河2號為例,泰坦有18688個運算節點,每個運算節點由1個16核心AMD-Opteron-6274處理器和1個NVIDIA-Tesla-K20加速器組成,共計299008個運算核心;天河2號有16000個計算節點,每個節點由2片Intel-E5-2692和3片Xeon-Phi組成,共使用了32000片Intel-E5-2692和48000片Xeon-Phi。除了泰坦和天河2號之外,曙光6000和天河1號也採用的是異構計算架構。

美國泰坦
異構計算的優勢
因超算大多應用於金融、製造、能源、科研和軍事等領域,對雙精浮點要求較高。採用GPGPU或眾核芯片做加速器,一方面可以獲得很高的浮點性能,另一方面可以獲得不錯的性能-功耗比。以天河2號的一個計算節點為例:
Xeon-E5的滿載功耗達145W,雙精浮點為0.21TFlops,而Xeon-PHI功耗300W,雙精浮點達1T Flops;天河2號一個計算節點由2片Xeon-E5和3片Xeon-PHI組成,理論雙精浮點性能為3.42T Flops,功耗為1190W,理論雙精浮點性能與功耗的比值為2.87GFlops/W。相同功耗下使用8片Xeon-E5只能獲得1696Gflops的理論雙精浮點性能,理論雙精浮點性能與功耗的比值為1.42GFlops/W。從數據可以看出,在同等功耗下,在使用Xeon-PHI加速後,理論雙精浮點性能與是隻使用Xeon-E5的2倍。
因此,相同功耗的情況下,異構計算能獲得非常高的理論雙精浮點性能。
誠然,有得必有失,在獲得性能優勢的同時,也不可避免的會導致編程方面的困難。具體來説,用GPU做加速器的話,會因為GPU和CPU的編程模型不一致,導致在編程上不如採用同構技術(e.g. 純CPU)的超算方便,在通用性方面也會稍遜一籌。
總之,同構計算編程方便、效率高、通用性強;異構計算編程麻煩、效率不如同構超算、通用性差,但是性能-功耗比高。因此雖然在通用性和效率方面相比採用同構計算的超算處於劣勢,但更加好的性能-功耗比成為其更受偏愛的原因。天河2號、天河1號、曙光6000等超算都採用了異構計算架構。
加速器的選擇
異構計算非常重要的一點就是加速器的選擇,加速器的性能很大程度上會影響到超算的性能。舉例來説,Xeon-Phi在運行linpack測試時,實際性能僅僅相當於理論最大運算性能的65-70%,這直接導致了天河2號的整機效率僅為61.7%,同樣使用Xeon-PHI的美國超算Stampede的整機效率比天河2號更低,只有60.7%,而且這還是Stampede的運算能力僅為天河2號的五分之一的情況下的成績——因為超算運算能力越強,效率就越難提升,因此,在被Xeon-Phi的低效率拖累的情況下,以天河2號的性能而言,61.7%的整機效率實屬不易。

天河2號

美國超算Stampede
大規模科學計算一般都能做到高度並行化,能將計算任務拆分給海量的小核心來並行執行。因此,在加速器選擇方面就產生了三個方案:
一是用GPGPU做加速器。因為GPU是大寬度並行結構(GPU擁有海量SIMD計算單元),高端GPU的資源集成度非常高,能很容易做到非常高的理論雙精浮點計算能力。以英偉達最新的加速卡K80為例,該加速卡功耗300W,雙精浮點高達2.9TFlops。
二是用眾核芯片做加速器。一方面添加浮點、向量指令(比如Intel的AVX、FMA,龍芯的LoongSIMD)提升浮點性能。另一方面堆砌核心數量,比如Intel的第一代Xeon-PHI就有60核,雙精浮點性能為1T,功耗為300W;龍芯也曾經有過16核的龍芯3C的方案,但在工作進度完成大半後被迫放棄。因國產眾核加速器還處於保密狀態,美國情報部門對其非常感興趣,本文就不將其與英偉達的GPGPU和Intel的Xeon-Phi做對比了,唯一能透露的就是,該眾核芯片雖然性能遜色於Intel的Xeon-Phi,但設計理念非常先進,是優於Xeon-Phi的存在。
三是用GPDSP做加速器。國防科大自主研發了矩陣2000以替代Intel的Xeon-PHI,矩陣2000雙精浮點達2.4T,功耗200W,雖然離第二代至強PHI雙精浮點3T的性能有差距,但性能和性能-功耗比都足以笑傲天河2號正在使用的Intel第一代至強PHI,成為天河2A升級計劃中至強PHI計算卡的理想替代品。
GPGPU和GPDSP的優缺點
GPU的大寬度並行結構能做到非常高的理論雙精浮點計算能力(英偉達的加速卡K80雙精浮點高達2.9TFlops)。但因CPU和GPU的編程模型是不一致,導致GPGPU在編程方面很不方便,只能跑OpenCL、OpenACC、CUDA代碼,不能跑OpenMP並行處理的代碼。加上GPGPU作為加速卡和CPU是不共享內存,需要程序員顯式拷貝,進而導致數據訪問速度變慢。因此,GPGPU相對而言編程麻煩、效率相對而言並不高、通用性差,但是性能-功耗比高。
GPDSP是國防科大首創,是應對美國禁售Xeon-PHI的技術儲備和秘密武器。國防科大最遲在2013年就開始着手GPDSP的研發工作。今年發佈的矩陣2000採用40nm製程工藝,擁有16核,主頻1G,雙精浮點2.4T,功耗為200W。因此,矩陣2000雖然在性能上因受制於國內的製造工藝和設計水平,在性能上不如GPGPU,但在性能-功耗上已經略優於GPGPU(2.4T/200W 對比 2.91T/300W),而且已經大幅優於天河2號目前使用的第一代至強PHI計算卡(2.4T/200W 對比 1T/300W)。
GPDSP相對於GPGPU更接近於CPU,可以獨立運行OS(Linux或其它實時內核),在編程方面比GPGPU稍微容易一些(其實相對於CPU兩者編程難度都很大)。矩陣2000也是帶分支能力的眾核處理器,和Xeon- PHI是相似類型計算卡,理論上講,擴充一些GPDSP編譯指導語句也能跑OpenMP代碼。當然,GPDSP也能跑OpenCL、OpenACC並行處理代碼(異構代碼)。
因此,GPDSP雖然在性能上不如GPGPU,但在性能-功耗上已經略優於GPGPU(2.4T/200W 對比 2.91T/300W),在效率和通用性方面優於GPGPU。
GPGPU相對於GPDSP處於先天劣勢
據瞭解,美國的2台新超算將於2017—2018年被安裝在勞倫斯利物莫國家實驗室和橡樹嶺國家實驗室,這兩台超算將採用IBM和英偉達的產品,理論浮點計算能力都超越100Pflops,將會是天河2A、新一代曙光超算衝擊世界第一的強有力競爭對手。
那麼,相對於走GPGPU路線的美國新超算Sierra和Summit,國防科大的GPDSP和美國的GPGPU孰優孰劣呢?
GPU在做並行計算時,傳統渲染架構中的TMU、 ROP等特性毫無用處,反而佔用了晶體管資源。DSP是純粹向量機,不像GPU那樣有光柵化渲染佔晶體管,影響管線結構。
雖然GPU是大寬度並行結構,高端GPU的資源集成度非常高,能很容易做到非常高的理論雙精浮點計算能力,但在彼此工藝和集成能力相當的情況下,捨棄圖形部分的DSP的晶體管效率更高,而且訪存效率也高於GPU傳統圖形渲染管線那種繞彎子的訪存方式。
因此,GPDSP在效率方面比GPGPU具有先天優勢,很有可能就是借鑑了GPU的Shader執行部分的管理和執行結構,但又沒有GPU那麼多歷史遺留框架造成的負面影響。國防科大在天河1和天河2的研製過程中,在加速器的選擇方面把眾核處理器和GPU都試了一遍,相信選擇GPDSP路線是國防科大深思熟慮後的結果——中國在製造工藝和超大集成度芯片設計能力不如國外英偉達、IBM、Intel等國外巨頭的時候,走GPDSP路線是縮短和國外產品在絕對性能上差距的有效途徑。
中國超算發展計劃
依據曙光公司公佈的資料,新一代超級計算機系統——曙光7000將從處理器、高速通信網絡、大規模存儲系統、系統軟件到應用軟件全面採用自主技術,安全可控,性能將超越100PFlops。
某超算全面採用自主技術,性能-功耗比、整機效率、理論峯值等性能參數更是無與倫比——超算系統峯值幾乎是天河號的2倍;超算系統整機效率比天河2號高16%;超算系統性能-功耗比是天河2號的2.5倍,根據2015年6月發佈的Green500排行榜,該超算能直接排進前五。超算建成後,將面向醫療服務、生物醫藥、海洋科學、現代農業、油氣勘探、氣候氣象、金融分析、信息安全、工業設計、動漫渲染等領域提供計算和技術支持服務,為中國科技創新和經濟發展提供平台支撐。
根據國防科大公佈的資料,因保留了天河2號的主體I/O結構,計算節點處理器依舊使用E5-2692V2,計算節點增加到18000個,按照一個計算節點需要2個E5和3個加速器來計算,天河2A需要36000片E5和54000片矩陣2000,僅54000片矩陣2000理論浮點峯值可以達到129.6Pflops。
國防科大若要將藍圖變成現實,技術難點已經不再是芯片的設計和製造,而是軟件堆棧,包括GPDPS驅動程序、操作系統、編譯器、基礎庫等,這是一項工程量巨大的工作。
祝國防科大、曙光好運!
本文系觀察者網獨家稿件,文章內容純屬作者個人觀點,不代表平台觀點,未經授權,不得轉載,否則將追究法律責任。關注觀察者網微信guanchacn,每日閲讀趣味文章。