在上個月德國萊比錫進行的ISC2013大賽上,由中國自主研發的“天河二號”超級計算機獲得了TOP500第一名,這再一次引起了世人對于超級計算機的關注。縱觀當前的TOP500榜單,特別是TOP10排名中,有近半的超級計算機采用的是異構計算模式,即我們熟悉的處理器+加速器模式,這次奪冠的天河二號就是采用了英特爾至強處理器+至強融核協處理器。這也預示著異構計算已經成為了高性能計算行業的發展趨勢,無論是天河二號還是去年奪冠的泰坦都采用了這樣的方式。可以說,異構計算正在改變著超級計算機的形態和能力。
一、異構計算
當我們回顧超級計算機的歷史,我們就會發現長期以來處理器一直是負責計算的主要工具。追根溯源,“超級計算”(Supercomputing)這名詞第一次出現是在媒體“紐約世界報”于1929年關于IBM為哥倫比亞大學建造大型報表機(tabulator)的報導。
天河二號超級計算機
但是隨著超級計算機的發展,人們發現雖然在性能上可以獲得前所未有的突破,但隨之而來的則是巨大的占地面積、能源消耗和后期維護成本。在這樣的情況下,NVIDIA公司率先于5年前提出了GPU計算的概念,其意在于運用GPU (圖形處理器) 搭配CPU來加速通用科學和工程應用程序。此后,GPU計算迅速成為一種行業標準,在全世界范圍內擁有數以百萬計的用戶,幾乎所有的計算供應商均采用GPU計算。而這種計算的模式,我們就稱之為異構計算。
二、異構計算的特點
在傳統意義上理解:在異構計算系統上進行的并行計算通常稱為異構計算。但如今,人們已從不同角度對異構計算進行定義,綜合起來看:異構計算是一種特殊形式的并行和分布式計算,它或是用能同時支持simd方式和mimd方式的單個獨立計算機,或是用由高速網絡互連的一組獨立計算機來完成計算任務。它能協調地使用性能、結構各異地機器以滿足不同的計算需求,并使代碼(或代碼段)能以獲取最大總體性能方式來執行。
多核+群核模式
類似我們剛剛距離的NVIDIA GPU加速計算來說,圖形芯片最開始被用作固定函數的圖形流水線。經過多年的發展,這些圖形芯片的可編程性逐漸增強,從而使第一顆NVIDIA GPU得以問世。在1999-2000年間,計算機科學家和醫學成像以及電磁學領域中的研究者開始使用GPU來加速一系列的科學應用。這就是所謂的“GPGPU”或GPU通用計算運動。
三、異構計算的蓬勃發展
1、GPU計算的發展過程
正如我們剛剛介紹過的GPU加速計算那樣,所有NVIDIA GPU諸如GeForce、NVIDIA Quadro以及NVIDIA Tesla均支持GPU計算和CUDA并行編程模型。開發者幾乎在任意平臺上均可運用NVIDIA GPU,這些平臺包括最新的蘋果MacBook Pro。NVIDIA Tesla GPU完全專為加速科學技術計算工作而設計。最新的NVIDIA Tesla GPU基于“Kepler架構”中的諸多創新特性,與上一代架構相比,可提供三倍的性能,雙精度浮點性能高達1Teraflops以上,同時還大幅提升了可編程性和效率。
雖然用戶取得了前所未有的性能(在某些情形中實現了比CPU高100倍的性能,然而難題是GPGPU需要使用OpenGL和Cg等圖形編程API來對GPU進行編程。這樣便限制了人們利用GPU的強大處理能力來為科學加速。
NVIDIA意識到了將這種性能提供給更廣闊的科學界的潛力,因此投入力量修改GPU,讓開發者能夠對GPU充分編程,使其能夠無縫地運用C、C++以及Fortran等熟悉的語言。
如今,GPU計算的發展勢頭比以往任何時候都更加迅猛。現在,世界上一些最快的超級計算機仰仗GPU來加快科學探索,全球有600所大學已開設NVIDIA GPU并行計算課程,積極運用GPU的開發者人數已達數十萬計。
2、英特爾至強融核協處理器
正如我們文章最初提到的,世界最快的超級計算機如今使用的并非是GPU加速,而是英特爾特色的“微異構”模型。我們承認包括泰坦、天河一號A及之前的多款超算都采用了GPU加速,GPU加速也是目前超級計算機主要的異構計算形態,但英特爾的后來居上卻讓我們更為驚嘆。
著名的摩爾定律在處理器的發展歷程上最能得到體現。英特爾聯合創始人戈登摩爾(Gordon Moore),在1971年公司推出全球首個通用型微處理器4004之后,提出了“每過18個月,芯片上可以集成的晶體管數目將增加一倍。”的理論。由于僅僅依靠提高單核芯片的速度會產生過多熱量且無法帶來相應的性能改善,因此,人們逐漸轉向了多核處理器的探索和發展道路。
然而,多核系統架構雖然能滿足一時應用增長的需要,但由于物理規律的限制,多核處理器性能增長還是會遇到三方面的主要限制:功耗、互連線延時和設計的復雜性。當一個處理器的晶體管數量越來越多的時候,會因為功耗和互連線的限制而影響性能的進一步提升。為此,很自然地就會想到,在單個處理器中集成多個簡單的處理器核。
英特爾集成眾核(Intel Many Integrated Core,MIC)在這種情況下應運而生。應該說,MIC架構是英特爾公司現有產品(包括英特爾至強處理器在內)的另一個關鍵補充,它旨在引領行業進入百億億次計算時代。相比多核的英特爾至強處理器,英特爾MIC架構具有更小的內核和硬件線程,以及更寬的矢量單元,是提供更高整體性能、滿足高度并行化應用需求的理想之選。隨著開發者們采用較高的并行度(指令、數據、任務、矢量、線程和集群等),英特爾架構處理器常用的重要且已普及化的編程模型可擴展至英特爾MIC架構,而無需改變編程工具。這些相同的技術在英特爾處理器上能夠提供最佳的性能——將應用擴展至內核和線程上,以及針對分層的內存和高速緩存對數據進行模塊化處理——它們也可用于最大程度地提高英特爾MIC架構上的性能。通過更有效地復用并行處理器代碼,軟件公司和企業IT部門只需創建和維護一個二進制代碼庫,而無需重新為開發人員提供與加速器相關的專用編程模型培訓就可獲得收益。
2012年6月,在德國漢堡舉行的ISC2012大會上,英特爾基于MIC(集成眾核)的計算加速協處理器Xeon Phi。Xeon Phi并非傳統意義上的英特爾處理器(CPU),它更像是與CPU協同工作的GPU(圖形處理器,顯卡),其基于英特爾消費級GPU技術Larrabee,不過該項目已經于2009年被取消。但英特爾仍然需要Larrabee技術,從而在超級計算機市場與NVIDIA競爭,因為更簡單、更專業的GPU處理器可以更有效地處理某些超級計算任務,從而提高性能并減少能耗。
目前,零售版本的至強融核包括了2大系列的產品,分別為3100系列和5100系列,其中5100系列中的5110P已經正式有了詳細的參數內容。其中,Xeon Phi 5110P具備了60個物理核心,240個線程,30MB總緩存,8GB GDDR5內存和320GB/s帶寬,最大的峰值性能可以達到1TF(雙精度浮點運算),標稱TDP為225W。英特爾的官方建議零售價為2649美元/顆。
3、AMD APU架構
除了我們剛剛介紹的NVIDIA和英特爾之外,似乎還有一個低調而沉默的聲音——APU。
APU是“Accelerated Processing Units”的簡稱,中文名字叫加速處理器,是AMD融聚未來理念的產品,它第一次將處理器和獨顯核心做在一個晶片上,協同計算、彼此加速,同時具有高性能處理器和最新支持DX11獨立顯卡的處理性能,大幅提升電腦運行效率,實現了CPU與GPU真正的融合。APU是處理器未來發展的趨勢。
從APU的發展來看,AMD在做的事情是讓CPU和GPU徹底融為一體,無論是AMD的Llano,還是Brazos,目標都是一致的。AMD認為,CPU和GPU的融合將分為四步進行:第一步是物理整合過程(Physical Integration),將CPU和GPU集成在同一塊硅芯片上,并利用高帶寬的內部總線通訊,集成高性能的內存控制器,借助開放的軟件系統促成異構計算。第二步稱為平臺優化(Optimized Platforms),CPU和GPU之間互連接口進一步增強,并且統一進行雙向電源管理,GPU也支持高級編程語言。第三步是架構整合(Architectural Integration),實現統一的CPU/GPU尋址空間、GPU使用可分頁系統內存、GPU硬件可調度、CPU/GPU/APU內存協同一致。第四步是架構和系統整合(Architectural & OS Integration),主要特點包括GPU計算環境切換、GPU圖形優先計算、獨立顯卡的PCI-E協同、任務并行運行實時整合等等。
在談到APU的作用時,AMD公司高級副總裁兼產品事業部總經理Rick Bergman表示:“簡而言之,我認為AMD Fusion加速處理器是自從x86架構問世之后40余年來處理器領域最偉大的進步。通過這一跨越,我們讓顧客能夠隨時隨地體驗高清視頻、享受超級個人計算體驗,并且讓筆記本電腦具備全天的電池續航能力。這是一個全新的產品系列,全新的視角,給消費者帶來全新的精彩應用體驗。”
四、異構計算的差異化:各說各的道理
談到異構計算,特別是超級計算機應用的現實狀況,恐怕NVIDIA與英特爾的斗爭將會成為未來一段時間內長期發展的主題。一方面,NVIDIA作為首家異構計算解決方案的提供商,經過多年的市場和人才培育,已經形成的龐大的用戶群。事實上如果我們說在至強融核也就是Xeon Phi尚未出現之前,所有加速器市場都是由NVIDIA一家獨占的,恐怕沒人會有任何異議。
英特爾數據中心及互聯系統事業部副總裁兼高性能計算事業部總經理Raj Hazra 先生
不過隨著在去年美國SC12大會上的亮相和采用Xeon Phi協處理器的德州超算"Stampede"的出現,至強融核的名字一夜之間成為了行業的焦點。對于英特爾來說,至強處理器在市場中有著絕對優勢的占有率,那么對于至強融核的市場占有率又有怎樣的期待呢?英特爾數據中心及互聯系統事業部副總裁兼高性能計算事業部總經理Raj Hazra先生則表示——對于英特爾來說,還是立足于自身的發展,通過Xeon Phi產品的不斷完善和性能的不斷提升獲得競爭優勢,而憑借著Xeon Phi先天在X86架構上的優勢,也更容易獲得用戶的支持。
至強融核,專家解讀究竟是易上手還是更困難?
與至強處理器“同種同源”,這或許是至強融核協處理器的最大優勢,也是宣傳的重點。自至強融核發布之日起,甚至在MIC產品的研發過程中,英特爾便一直強調至強融核的易上手、易操作。英特爾服務器平臺產品經理張振宇對此也曾表示:之前有數不勝數的人采用英特爾至強處理器進行編程,如今在至強融核出現之后,無疑提升了這部分用戶的編程效率。
東京工業大學教授Satoshi Matsuoka
對于英特爾這種說法,卻有行業專家給予了否定的態度。筆者曾經在4月進行的亞洲大學生超算大賽(ASC13)上采訪了日本東京工業大學教授Satoshi MATSUOKA,他表示——Xeon Phi的確在編程上有相當大優勢,但編譯的方便并不代表模型和算法的優化。他承認在目前,Tesla的優勢更明顯一些。
其他更多的專家觀點如下:
Xeon Phi從最初的設計到不斷的調試,經過用戶的測試之后性能的確有所改進,最近一年的變化也非常明顯,并且已經和美國得州超算中心進行合作,從這些方面來說Xeon Phi已經有了長足的進步——國際高性能計算咨詢委員會主席Gilad Shainer
Xeon Phi系統具備了可編程性和高性能,從這2個角度來說Xeon Phi相比其他平臺來說具備優勢。而且英特爾在自身也對于Xeon Phi有了完整的發展規劃,已經有實際的路線圖出現,這也證明英特爾對此非常具有信心——圣地亞哥超算中心Richard Moore主任
從編程的應用性來說,源于X86的架構的至強融核可以讓用戶不太費力的進行過度,特別是不再需要學新全新的編程語句,比如CUDA。不過從NVIDIA的觀點來看,CUDA也僅僅是在原有代碼的基礎上增加了少部分全新的指令而已,并且運行起來更為高效。
加速比:以什么作為評判的標準?
除了簡單易上手之外,至強融核所宣傳的另外一個特性就在于提供了全新的加速比評判方式。英特爾給出了一個計算的模型,比如我們要運行500個程序,按照傳統的方式只能一步步進行,那么運行時間可能是500秒,我們假設這個運行效率是1。
那么通過并行處理,我們可以減少一定量的計算時間,如上圖,同樣的程序可能運行時間只有400秒,那么我們的效率就提升到了1.25倍。
現在我們繼續,將并行應用分配得更小塊,速度也就提升得更快,這次同樣的任務只耗時350秒,效率提升到了1.4倍。
同理當我們分配得越多,性能也就提升得越大,最多的時候我們可以獲得1.7倍的效率。
現在我們換一種方式,同樣的時間內,我們不斷增加運行的程序數量,也可以達到效率提升的效果。500秒內我們運行了700個程序,效率可以提升至1.4倍。
我們可以將運行程序擴展到1100個,同樣的500秒內效率可以提升到2.2倍。
同理,當我們將程序擴展到N個的時候,我們獲得的效率提升也無限接近于N倍。但是,我們能夠隨意提升程序數量,達到最大化的性能嗎?
英特爾指出,性能的提升并不是無限的,它受到硬件平臺的規格制約。從協處理器來說,核心數量、帶寬數量都會性能阻力,而在互聯方面,至強處理器與至強融核的通訊帶寬也成為了瓶頸。從這些角度來說,所謂的幾十倍與上百倍的性能提升在目前看來不免有夸大的嫌疑,經過英特爾的測試,Xeon Phi相比至強處理器在并行處理能力上也可以獲得2-3倍的性能提升,部分金融應用中這些提升可以達到8-10倍。英特爾認為這樣的成績是比較靠譜的,也是符合硬件運行規律的。
英特爾核心觀點:加速比應該建立在已經充分優化過的至強平臺基礎上,對比的雙方應該是兩顆至強處理器與一顆至強融核(因為兩者的功耗相當)。只有同時滿足這樣的兩個條件,加速比才有真正的意義。
華大基因高性能中心負責人王丙強博士,GPU加速實際用戶
不過行業中同樣的領軍者NVIDIA顯然并不認同這樣的觀點。與英特爾不同,NVIDIA在多年以來的行業經營中積累了眾多的用戶,NVIDIA更愿意通過這些用戶的角度解讀Tesla產品如何幫助他們實現更高的加速比。筆者曾經采訪過應用GPU加速的華大基因,華大基因高性能中心負責人王丙強博士則表示——同樣的基因研究,在GPU加速出現以前,單純依靠CPU計算需要大約1619天的時間,數據的獲取非常艱難。除了漫長的等待時間之外,實驗的成本也非常高,需要大量的人力、物力和財力的投入。而在GPU加速出現之后,進行同樣的項目時間大大縮短,僅采用單一GPU加速的時間縮短了16倍,僅用101天即可完成;如果采用GPU集群的模式,最快可以在5.4小時完成工作,效率提升446倍。正是由于GPU加速的出現,使得生物基因的研究取得了突飛猛進的發展,也才能讓華大基因這樣以科研為基礎、以市場為導向的公司迅速成長。
雖然英特爾和NVIDIA兩家在觀點上針鋒相對,但有一點卻成為了兩家的共識,那就是——應用在Xeon Phi上的大型商業軟件的確是比較少。筆者也曾就這個問題詢問過英特爾數據中心及互聯系統事業部副總裁兼高性能計算事業部總經理Raj Hazra先生,他表示由于發布的時間尚短,英特爾還在積極與各大應用軟件的廠商溝通,爭取在今年下半年或者不遠的將來加快軟件應用的廣泛性;同時他也表示,由于高性能計算涉及的行業眾多,軟件也是千差萬別,更需要客戶與英特爾的共同努力。
俗話說有競爭才能有進步,看看當下的處理器市場我們就會發現,競爭或許并非是一件壞事。對于芯片行業的兩大巨頭來說,這樣的競爭能夠盡快加速行業的發展,NVIDIA也公開表示Xeon Phi的出現對于應用普及大有裨益。
五、異構計算的未來發展之路
對于異構計算,目前在高性能計算行業已經形成了普遍的共識——這是通往百億億次計算的必由之路,也是唯一的道路。無論你采用GPU加速器還是Xeon Phi協處理器,異構計算都是最行之有效的解決辦法。相反,如果我們還是以CPU計算作為主要的方式,在能耗和占地面積上恐怕會有巨大的消耗。
NVIDIA Tesla事業部的總經理Sumit Gupta先生
筆者曾經采訪過NVIDIA Tesla事業部的總經理Sumit Gupta先生,他曾談到了GPU計算對于超級計算機發展的巨大推動作用——以2012年的冠軍泰坦為例,如果僅僅依靠CPU進行計算的話,不僅僅需要更大面積的計算機集群,其耗電量也會相當驚人(大約相當于6-8萬戶居民的年耗電量),這是完全不可想象的事情。可以說,正是由于GPGPU的出現,使得超算的性能迅速提升,同時也節約了大量的場地、電力、維護等成本。從這個意義來說,NVIDIA提供了一個可以永載史冊的創舉。
英特爾服務器平臺產品經理張振宇
雖然異構計算已經成為了行業共識,但是我們驚奇的發展在TOP500的榜單中使用異構計算的超級計算機并不占多數,甚至就在TOP10排行中,異構計算的超級計算機也從上一次榜單的6臺下降到了現在的4臺。這是否與行業的趨勢相悖,或者說行業的趨勢是否會有新的變化呢?英特爾服務器平臺產品經理張振宇認為這樣的變化與并行計算的整體發展趨勢并不矛盾。一方面,用戶結合自身的應用,并且基于價格、性能和可編程性三個方面的考慮,在不追求極致性能的時候并不是一定要使用并行計算的模式;另一方面,超級計算機的生命周期較長,而加速器的發展速度非常快,引起也會出現超算發展落后的局面。
總而言之,異構計算的出現大大促進的行業的發展,無論是NVIDIA還是英特爾,甚至是AMD都對異構計算的發展起到了巨大的推動作用,而這種作用在高性能計算領域已經開花結果,并且在實踐中的經驗又反作用于加速器產品的研發。NVIDIA在近日展示了下一代基于Kepler架構的Project Logan全新處理器,而英特爾下一代的Xeon Phi產品Knight Landing也有消息流出,說明雙方還在不遺余力的進行著努力。畢竟從利潤的角度來說,Tesla是NVIDIA重要的盈利部分,而在數據中心市場英特爾也不愿放棄超級計算機這塊肥肉。
異構計算,戰爭才剛剛開始,未來將會更為精彩。