【IT168 評論】談到超級計算機,性能是一個永遠聊不完的話題,過去我們已經比了幾十年了,未來還會繼續比下去,每次TOP500或TOP100發布時,就象《射鵰英雄傳》裡的華山論劍一樣,「天下武功唯快不破」嘛,八仙過海,各顯其能,比的就是看誰算得快。
根據今年6月的TOP500榜單,性能最高的是來自中國的天河2號超級計算機,其峰值計算速度是每秒5.49億億次(54.9PFLOPS),比每二名的美國「泰坦」快了近一倍,這也是中國連續第3次獲得冠軍。有專家說了,天河2號運算1個小時,可以讓全中國13億人同時用計算器算上1000年。11月份最新的TOP500會是個什麼結果,需要等11月18號(美國時間)發布,著急想知道的朋友可以關注這裡:http://www.top500.org/lists/
華山論劍,到底比啥?
問題來了,你說你快,具體指的是哪方面快?用什麼樣的指標來衡量?這裡就得提到這樣一個概念:FLOPS,即「floating point operations per second,每秒所執行的浮點運算次數」,用它來衡量一個電腦計算能力,具體到TOP500和TOP100,指的是在跑Linpack這個基準測試軟體時的浮點計算速度。而Linpack是線性系統軟體包(Linear system package) 的縮寫,其原理是用高斯消元法求解N元一次稠密線性代數方程組(筆者不是搞技術的,這麼專業的東西俺不懂,大學裡最頭疼的一門課就是數學),以評價高性能計算機的浮點性能。Linpack不同於測試資料庫性能的TPC-C、測試硬碟吞吐能力的Iometer或測試內存帶寬的stream,跟你筆記本電腦在開機速度上打敗全國多少多少臺電腦的概念更不是一回事了。具體來說:
一個MFLOPS (megaFLOPS) 等於每秒1百萬 (=10^6) 次的浮點運算;
一個GFLOPS (gigaFLOPS) 等於每秒10億 (=10^9) 次的浮點運算;
一個TFLOPS (teraFLOPS) 等於每秒1萬億 (=10^12) 次的浮點運算;
一個PFLOPS (petaFLOPS) 等於每秒1千萬億 (=10^15) 次的浮點運算(現在的水平);
一個EFLOPS (exaFLOPS) 等於每秒1百億億(=10^18)次的浮點運算(專家說2020年才能實現)。
目前,能達到千萬億次每秒(PFLOPS)的機器早已經不算稀奇了,按今年6月份那期TOP500榜單(這裡下載:http://www.top500.org/lists/2014/06 )來看,峰值性能,也可以說是理論性能,能達到PLOPS的機器已經有55臺了。不過到現在,還沒有百億億次每秒即EFLOPS的機器出現,根據TOP500的歷史數據趨勢來預測,這個「怪物」大概需要等到2020年左右才會出現。
這麼比有人不服
每當榜單發布之後,政府、廠商、媒體跟著一起忽悠,那NO.1、TOP10可謂風光無限,中外皆是如此,堪比古代的狀元及第。不過,也有人不服這個排行。不服的理由歸納起來大概有這麼幾點:
第一種說法是:你比峰值速度有什麼意思,要看你大多數情況下能達到的最大速度,要看Linpac實際效率,按這個比,6月份TOP500中就只有37臺可以達到PFLOPS以上,天河2號也從54.9PFLOPS降到了33.8PFLOPS。
第二種說法是:不能光比Linpack總體計算性能,我要看你用了多少度電,佔了多少空間,要比就比每度電你能達到什麼樣的性能,每英寸的佔地空間你能產生多少性能,因為現在的能源太緊缺了,房價又那麼高,也不是每個用戶都跟美國政府或中國政府那樣不差錢等等,於是又有人搞出了個GREEN500,美其名曰:綠色超級計算機排行榜,有興趣的看這裡看這裡:http://www.green500.org/。
第三種說法是:比Linpack有什麼意思,這東西也就是科學計算中用用,平常實際工作中又用不上,比它沒勁,現在大數據很火,我們要比你處理大數據問題、圖形問題時的性能,不能只比Linpack,於是又有人搞出來個Graph500,感興趣的看這裡看這裡:http://www.graph500.org/。
第四種說法是:Linpack有什麼好比的,不能當飯吃,要比就比在行業應用中的性能,砍柴刀、殺豬刀、手術刀、水果刀雖然都是刀,可用處不一樣,不能只比誰快。超級計算機作為一種工具也一樣,有用來做石油勘探的,有用來做氣象預報的,有用來做工程或產品設計模擬的,有用來搞動漫渲染的,有用來做科研發論文的,用到的應用軟體那可是五花八門,你得針對應用來優化你的性能,因為有的應用是計算密集型,有的是內存密集型,有的是數據密集型,有的對IO吞吐有更高要求等等。這算是正解,只可惜應用差異太大,沒法比,所以雖然很多廠商或用戶都不滿意TOP500,但至今也沒有產生一個在具體HPC選型時可以針對自身應用的一個參考排行,而且具體到某個行業或領域來說,用戶少,就哥幾個,比起來也沒啥勁,喝酒吃飯的時候交流交流,切磋一下,互換點經驗就得了。
看來TOP500、TOP100還是無法取代的,我們還得接著比下去。那下一步最大的看點就是誰能最先做成EFLOPS級別(每秒算百億億次)的機器出來——PFLOPS(每秒算千萬億次)已經是小兒科了。
從P級到E級,沒那麼容易
對於HPC下一步性能和產業發展的問題,我這裡再借花獻佛一下——曙光公司董事長、中國工程院院士李國傑最近在HPC China 2014上做了一個報告,他把中國高性能計算的發展總結成兩個階段:
一是上世紀90年代中期以前的「性能優先」階段,那時HPC基本上就是以追求性能為主,應用面也只局限在科學與工程計算領域,只有極少數的企業參與其中,代表性的技術是向量機和MPP;
二是當下所處的「市場優先」階段,參與的廠商很多,主要是通過低成本、短時間的方式來提升性能,如構建大規模的Cluster集群,而且應用面也開始擴大到網際網路、企業數據中心領域,產業鏈基本成熟。
但是,李院士也提到了,面對E級系統,現有的P級技術方案已經難以為繼,主要是受到功耗、佔地面積、系統可靠性方面的限制。如果按照現在的方案來構建EFLOPS的計算機系統,需要佔地1.3萬平方米(將近兩個足球場,天河2號是720平方米,有統計說2013年全中國數據中心保有量約為4.5萬個,總面積為1000萬平米,這個值可以參考一下),需要320MW的電(相當於一個大中型城市的用電量,天河2號是17.8MW,光每天的電費就得好幾十萬,有幾個土豪能用得起),系統平均無故障時間小於1小時,這不足以完成檢查點的保存。
總之,你用現在主流Cluster集群來搭E級系統,根本沒戲,咋整?
從P級到E級,這將不只是一個簡單的誰快誰慢的問題,而是一種平臺的突破:需要新的晶片設計和材料技術來突破摩爾定律,需要用新的思維和架構來突破已經在TOP500中佔據了80以上份額的Cluster系統,需要人類共同的智慧與努力來解決機器規模增長帶來的一系列煩惱與挑戰:
怎麼降低功耗,節省能源?
怎麼提高密度,節省機房空間?
怎麼控制成本,提高ROI?
怎麼突破內存和網絡I/O的瓶頸,補足系統的短板?
怎麼增強可靠性,讓系統達到更高的高可用水平?
怎麼優化並行軟體的開發,提高效率,保證數據一致性?
......
這些話題也是這幾年無論是國內的HPC China(全國高性能計算學術年會),還是國際性的ISC、SC等大會上,業界討論和分享的諸多重要話題,它們代表了HPC未來的技術方向。
我們期待著質變、突破的那一天!也希望這次在SC14大會上我們可以看到更多的進展,更多報導請關注SC14直播專題:http://live.it168.com/221.html。