超級計算機的窘境:軟件開發滯後限製其應用(組圖)

來源: 人間HYDE 2009-08-31 01:10:41 [] [舊帖] [給我悄悄話] 本文已被閱讀: 次 (7013 bytes)
“魔方”的誕生將中國的超級計算一下子帶入了百萬億次計算時代,但是應用卻仍停留在幾萬億次到幾十萬億次的水平,中間至少相差了一代。因為現在能夠寫此類軟件的人才太過稀少,硬件跟軟件的關係就像“修了一條好路,卻沒有好車”。


750) this.width=750' src=http://space.wenxuecity.com/gallery/others/cnews/2009/8/31/200908310905245a0ac.jpg onclick=document.location='http://pop.'>


圖:2009年5月15日 工程人員正在安裝超級計算機的刀片箱 馬丹攝

750) this.width=750' src=http://space.wenxuecity.com/gallery/others/cnews/2009/8/31/20090831090514cfd7d.jpg onclick=document.location='http://'>

  圖:2009年6月15日,國內首台百萬億次超級計算機“魔方”,在上海正式啟用。“魔方” 不但是亞洲第一的超級計算機,也是目前美國本土之外唯一計算速度排名進入全球前十的超級計算機,表明中國成為全球第二個能夠研發百萬億次超級計算機的國家。上圖為超級計算中心主控機房。


  現在的超級計算機通常都有幾千顆CPU,速度已經超過每秒千萬億次,但能支持500顆以上CPU的應用軟件卻很少。像國家天文台需要上千個CPU的運算卻缺少軟件可用。

  上海超級計算中心總共有300多個用戶,醫生丁海是其中一個。他獨立研究的課題涉及較複雜的模擬計算,用普通的電腦根本跑不起來,於是他到超算中心,申請使用一部分計算資源。

  128顆CPU的極限

  到超算中心排隊的單位一直很多。截至2008年,中心裝備的曙光4000A型超級計算機 CPU使用率已達到88.5%。這台擁有2048顆CPU的超級計算機已經接近“滿負荷運轉”。2009年6月,“魔方”的加盟將中心可提供的計算能力一下字提升了20倍。它是曾在2008年底排名世界前十的計算機,峰值運算速度達到每秒230萬億次。然而沒能進入隊列的任務還是很多。

  丁海隻需要用幾十顆CPU,但在300多個用戶中已經略高於平均數——雖然中心的客戶中不乏蛋白質折疊這樣的大型科學計算和國產大飛機設計這樣的大型工程項目,但大型用戶並不占大多數。據上海超算中心2008年12月的簡報統計,在當月新增的 10個用戶裏,隻有清華大學航空航天學院、南京大學物理係和上海天文台三家占用的CPU資源在128顆以上。

  “不可能給得太多”,中心副主任袁俊說。中心為了照顧到300多個用戶的需要,必須進行協調管理,才能最大發揮其整體效能。成立於2000年的上海超算中心不僅承擔著“國家網格”計劃的南方主節點任務,還為華東地區乃至全國的科研單位和工程用戶提供開放的計算服務。袁俊告訴記者,128顆,往往是上海超算中心為單個任務所能提供CPU數的最大值。

  事實上,即使資源方麵沒有限製,很多大型項目也因為技術上的原因用不上那麽多運算資源。

  規模再大軟件控製不了

  南京航空航天大學的飛行器設計實驗室曾經從浪潮公司購置過一套十多個節點的高性能計算集群,可用著用著就發現不夠用了。他們計劃購買一套更大的,升級到64個計算節點。購買,安裝,遷移任務,一切停當,一個奇怪的現象出現了:運算效率不僅並沒有提升,反而下降了。研究人員隻好請來浪潮的維護工程師,發現問題出在該應用軟件的擴展性上——原來的軟件根本不能支持這麽多CPU。

  據浪潮公司提供的一份資料顯示,雖然數百上千個CPU級別的計算機集群現在已經大量出現,但支持500個CPU以上的應用軟件卻很少。許多流行的高性能軟件,特別是廣泛應用的開源軟件,如在地震預報、蛋白質計算中運用的軟件,並行度並不高,有的甚至還是串行程序。這就好比是好不容易修好了一條高速公路,回頭一看,卻缺乏好車。

  “現在的關鍵是軟件跟不上硬件的發展速度,導致超級計算機的計算能力發揮不出來。”浪潮公司服務器部門的經理包豔婷說。對此中國科學院超級計算中心主任遲學斌認為,在研發的曆史上,我們一直重視有形的東西,忽視無形的東西。計算機固然很重要,但是如果在這個平台上沒有要做的事,那也等於是浪費。

  對上海超算中心來說,困難主要是價格問題。盡管上海市政府給了他們令同行羨慕的的持續經費支持,使他們可以采購中國最好的計算機硬件,卻無法將最好的軟件也統統搬來。國家天文台可能是中心的用戶裏對CPU要求最高的之一,他們需要上千個CPU同時工作,以計算海量的天文觀測數據。但能支持的軟件在國際上也很少,即使有也買不起,他們隻好自己編寫開源代碼。它更自由,卻未必好用。

  再者,能夠寫此類軟件的人才太過稀少。國內高等教育研究生以上學曆的教育中,完備、深度的 “計算科學”教育既不係統,也不完整,更沒有基於並行計算方麵的計算科學教育和訓練。同時,計算科學和各應用科學的團隊在互相協作方麵也缺乏機製。美國一個成熟的計算應用軟件通常都經曆了至少20年以上的持續開發,如計算化學軟件NWCHEM,開發團隊裏化學家、計算數學家、計算機科學家保持了合適的比例,政府也給予了資金支持。

  跨越“軟”“硬”鴻溝

  “魔方”的誕生將中國的超級計算一下子帶入了百萬億次計算時代,但是應用卻仍停留在幾萬億次到幾十萬億次的水平,中間至少相差了一代。

  曙光公司總裁曆軍認為,“機器和應用之間有一代的差距是可以理解的。上一代的曙光4000A 剛出來時也麵臨有沒有人用的問題,但到今天我們國家的大飛機設計、神舟飛船、基因研究、石油勘探上麵都用上了,可見機器帶動應用是現階段的必經之路。”看來,超級計算機超前於應用的發展似乎不完全是壞事,隻有有了更加強大的計算機,應用軟件和算法研究人員也才可能發現原有軟件和算法的問題。

  大規模並行軟件的開發是個累活,周期很長,不像硬件升級那樣見效快。在過去,軟件都是串行編寫,假定在一個CPU上麵執行任務。超級計算機把這種情況徹底打破了,轉而強調“並行計算”。高性能計算的原理其實並不複雜,就是將一個任務分成幾份,每個服務器完成一份,但並行化的基礎是對此代碼涉及的應用科學有透徹的了解,在理解的基礎上,再進行合理的任務切分,精細地處理負載平衡、通信等問題。因此才出現了能夠寫並行軟件的高級人才少之又少的局麵。

  事實上,為超級計算機編程更是數學家的工作。他們不僅要有精湛的數學頭腦,懂得各種編程語言,還要熟悉計算機硬件。更重要的是,他們必須願意投入時間來設計各種算法和進行軟件編程,最後,還要確保軟件經過調試能夠在超級計算機上使用。名噪一時的“深藍之父”許峰雄就是這樣一個人。這個對於人機對弈有著狂熱興趣的天才,更像是一名有著發達數學頭腦的軟件程序員。還在念大學時,他幾乎每天吃飯路上腦子裏都在琢磨如何在計算機上實現更快的出棋步數。為了戰勝卡斯帕羅夫,許峰雄和他的同事前後用了十多年。

  2009年6月,國內服務器行業的領軍企業浪潮集團和中國超級計算領域的“專家團”——中科院超算中心簽署了一項戰略合作協議,試圖聯手攻克“軟硬失衡”這一困擾超級計算機多年的難題。浪潮有豐富的市場經驗,能準確把握用戶的需求,可以安排大量的經驗豐富的一線軟件工程師和係統維護人員,而中科院超算中心則在體係架構、硬件設計上提供理論上的支持。這是一項艱巨的係統工程,其成效果尚需時日。

  下一代千萬億次計算機已經在研製了。這台名為曙光6000A的超級計算機已經被深圳市預訂,但如果軟件水平不能迅速跟上,“軟硬失衡”的“魔咒”將給它帶來更大的麻煩——那可是千萬億次。

請您先登陸,再發跟帖!

發現Adblock插件

如要繼續瀏覽
請支持本站 請務必在本站關閉/移除任何Adblock

關閉Adblock後 請點擊

請參考如何關閉Adblock/Adblock plus

安裝Adblock plus用戶請點擊瀏覽器圖標
選擇“Disable on www.wenxuecity.com”

安裝Adblock用戶請點擊圖標
選擇“don't run on pages on this domain”