文/本刊記者 王左利
HPC遭遇三重門
文/本刊記者 王左利
云計算、異構平臺、學科應用是現在高校建高性能計算中心無法逃避的三大難題。前兩者,是時代變革的新趨勢,后者,則是歷史難題的新挑戰。

今年個人電腦迎來了30周歲的生日,個人電腦的強大兄弟——超級計算機,則已走過70年的風風雨雨。比起現在的電腦來,初期的超級計算機運算非常緩慢;僅在過去25年,計算機的速度和運算能力就提升了一百萬倍。
超級計算機已經被使用到各個領域,能源探索、氣象服務、物理實驗、圖像渲染……幾乎你能想到的領域,都可以有高性能計算的參與。而每年兩度的全球高性能計算TOP500強榜單,也讓各國計算機精英為之折腰。
2011年6月,最新TOP500高性能計算機榜單上,前三甲分別是:K電腦,8.2千萬億次/每秒,日本;天河-1A,2.57千萬億次/每秒,中國;Jaguar,1.76千萬億次/每秒,美國。K的運算速度甚至比排名第二至第六的計算機運算速度總和還要快。各國角遂超級計算機排名的背后,折射出超級計算機之熱。
在中國,從2009年以后,高性能計算迎來了一個新的歷史發展時期。這與不停建設中的城市高性能計算中心分不開,也與一度奪得全球TOP500榜首的天河一號分不開。但最實質的原因是,隨著中國經濟的飛速發展,對科研的投入越來越大,高性能計算作為推動學科發展的有力杠桿的地位得到共識。
高校作為科研創新前沿陣地,顯然擁有極大需求。而且,從國外的經驗來看,許多高校的高性能計算在世界上擁有很高的聲譽。比如,美國伊利諾伊大學,德國斯圖加特大學,日本的東京工業大學等。我國的天河一號也產自國防科技大學。高性能計算在高校發展很快,主要原因在于高校有更多的用戶,許多學科,無論是化學、物理、生物、地球、航空、海洋等,都給高性能計算提供了用武之地。從這個趨勢來看,未來高校對高性能計算中心的重視只會加強,不會減弱。
從這個角度上,也就不難理解何以從2009年開始,高校的高性能計算中心風生水起,進入一個新的發展時期了。

處理器芯片將不再由架構相同的內核組成,而是會由多種架構的內核組成,分別負責加密、視頻渲染和網絡等任務。
2010年起,隨著云概念的深入,一些高校開始構建基于云的平臺。與此同時,高性能計算中心的規劃也正在進行——主要命題是:高性能計算中心作為一個公共的服務平臺,在新的形勢下,是否要融入到學校的整體信息化結構中來?還是讓其孤獨地獨立成篇?
以上海交通大學為例,其正在做一個面向全校師生進行網絡服務的云平臺,將Web服務、郵件服務、論壇等通通納入云服務平臺中。那么,高性能計算平臺呢?是否也納入到總體的云平臺上?
對于此,是有爭議的。一方面,云計算采用的關鍵技術是虛擬化,這樣可以使資源按需調度,但也勢必導致犧牲一部分速度。而高性能計算則追求“高速”,兩者看似矛盾。另外一方面,人們又期望以云計算的靈活的彈性應用模式來解決公共高性能計算平臺的系統管理問題。中國工程院院士李國杰認為,“云計算的易用性會影響傳統的HPC計算模式,按需的云計算給HPC提供了更易交互的計算模式。如同幾年前用大眾化的PC服務器搭建集群以及最近用GPU加速科學計算一樣,云計算對于HPC也是一次模式轉變。”那么,HPC到底可不可以采用云計算的架構?
針對此,上海交通大學做了初步的嘗試,他們提出了一種融合高性能計算、網格計算和云計算的新型計算框架——高性能彈性計算(HPEC),可以跨域管理和調度多個云計算資源,支持GPU和眾核異構計算環境,用戶可以自主靈活地申請和管理計算、存儲和網絡資源,這些資源可以是虛擬化的或者是直接的物理資源,支持High Performance Computing Platform as a Serv(iceHPC PaaS)多節點集群及上層軟件的快速部署,同時支持計算密集(MPI)和數據密集(Map/Reduce)應用等。
而北京工業大學的高性能計算平臺采用的也是云的架構——“我們覺得可以采用云架構,原因在于我們是一個公共的平臺,并非針對一個領域,所以資源的調度也很重要。”北京工業大學邸瑞華教授表示。
在當前看來,用云計算的思路去實施高性能計算,可能更多的是一種取舍,當你需要的是不惜一切追求高速時,顯然,采用了云計算就與你最初的理想相背離了。反之亦然。
今天,當高校進行超級計算機采購的時候,會發現,整個市場上開始在提供一個異構的平臺。這就是GPU加CPU的融合平臺。
一位曾在Intel工作,現在又在A M D工作的資深技術人員表示,未來的處理器將會結束內核之戰,轉向異構平臺之戰。他預測,處理器新的競爭熱點是異構計算,處理器芯片將不再由架構相同的內核組成,而是會由多種架構的內核組成,分別負責加密、視頻渲染和網絡等任務。
這句話是有跡可循的。使用GPU的異構架構在高性能計算中已是一種主流技術。比如最近的TOP500前五名中有三臺機器都是GPU異構集群。美國橡樹嶺國家實驗室剛宣布了他們計劃在2012年用nVIDIA的GPU來搭建一臺峰值20 Pflop/s的集群。在我國,天津超算中心2010年使用了7168個nVIDIA的GPU搭建了峰值4.7 Pflop/s,Linpack實測性能2.57 Pflop/s的天河1A系統。這套系統在2010年的Supercomputing大會上排在了TOP500的第一名。
由此可見,未來整個市場將向異構平臺遷移,高校的HPC采購也不可能跨越這一門檻,而在異構平臺下的編程,將會變成一個新問題。
上海交通大學網格中心副主任林新華表示, 異構與異構眾核的硬件更新換代頻率驚人,甚至超越了CPU的摩爾定律,因此軟件研發將不可避免地會在編程策略、目的和工具上遇到各自的挑戰。
很多人都看好GPU,但是其昂貴的編程和代碼維護正在成為越來越明顯的絆腳石。所以有越來越多的精力被放到異構平臺的建立上。
nVIDIA在2007年推出了在GPU上的并行編程模型CUDA。除了CUDA外,開發人員也還有很多其它選擇。如OpenCL是一個類似CUDA的GPU編程標準。微軟也推出了針對GPU的編程語言DirectCompute以及即將推出的C++ AMP語言。PGI Fortran允許開發人員直接用Fortran的語法寫GPU kernel。PGI accelerator類似OpenMP, 開發人員只需要在耗時的循環外插入一些pragma,就能將其移植到GPU上。HMPP是類似PGI accelerator的另一種解決方案。PyCUDA是Python的CUDA接口。此外,PGI最近還發布了CUDA-x86。這個產品可以把CUDA代碼編譯在x86 CPU上執行。這樣一個代碼版本就可以既在GPU又在CPU上運行。
事實上,目前的編程工具都不是太好,體現在技術人員需要很大的努力才能達到自己的目標。“真正厲害的工具是我們很容易就能達到一個目標,而不是費盡千辛萬苦才能達到一個目標,這樣的話,我們只能說這個人很厲害,而不是這個工具厲害。現在的異構平臺編程工具就是這樣。”林新華說。
“異構平臺的優勢在于計算能力的能耗低、性價比高;挑戰在于大量并行軟件需要為異構平臺重新開發,而異構多核環境下并行程序的開發是非常難的。”中山大學廣東省計算科學重點實驗室高性能計算應用研發中心主任張永東介紹說,“中山大學自主研發的PCF并行編程環境,簡化了OpenCL的調用過程,較好地解決了異構多核編程的困難。”

高性能計算的生命力體現在應用。缺少了應用,再高的峰值,再快的計算速度,都是奢華擺設。
“高性能計算機越來越像一臺復雜而精密的虛擬實驗儀器,人們不僅可以在上面聰明的做實驗,還可以進行充滿想象力的科學探索。無論是理論家還是實驗家,不能掌握這個工具的人就像少了一只手。 ”一位資深人士形象地說。
那么,高性能計算到底可以給我們解決什么樣的具有挑戰的問題?美國國家橡樹嶺實驗室的美洲豹的任務可能給我們一點啟發:美洲豹有6大公開應用。其中有幾項非常有意思。比如,極端氣候模擬。在地球45億年的歷史中,氣候總在冷熱間徘徊。而通過美洲豹超級計算機可以完整、連續地模擬這個過程,利用全球氣候模型,提供有關全球氣候變化根源和影響的珍貴數據。
再比如,模仿火山爆發應激氣候。火山噴發,重力氣溶膠粒子通常會在2至3年之內回落。相反,人為排放的有害物質長期持續,并可能改變未來的氣候。如果通過超級計算機可以模擬運行該大氣環境模型對于火山噴發的灰塵反應,便可以預測出該大氣環境對于人為長期排放的反應。
應用的根本是人才。在前不久由教育部科技發展中心主辦,《中國教育網絡》雜志承辦,AMD公司獨家贊助的“2011年高等院校高性能計算綜合技能及學科應用培訓班”上,來自南京農業大學農學統計遺傳創新團隊章元明提出:“目前國家對基礎科研的重視力度空前,我們學院下半年就有2億元的費用下撥,目前的難題在于懂生物遺傳相關知識的人、熟悉高性能計算特別是異構環境下并行計算編程的人員非常少。”
這個難題怎么去解決?惟有建立有效的人才培養機制以及合作交流機制。“目前,計算機學科與其他學科的結合甚少,這是必須改變的現狀。”
南京大學周會群教授表示,他曾經在日本名古屋大學做過訪問研究員,那時候,他們整個實驗室在做關于醫學圖像的研究,比如將CT掃描的結果建成可以編輯的計算模型,這需要很專業的醫學知識。“做這個項目的人,幾乎都是計算機專業的,但是他們會經常請醫生做講座,從而具備了很專業的知識并應用到計算中。”
此外,也需要產業界的推動。“2011年高等院校高性能計算綜合技能及學科應用培訓班”就是由AMD公司發起,他們希望讓高校的教師更好地掌握OPEN CL,這是一個很好的開始。但這遠遠不夠。事實上,整個人才機制的建立,最根本之處在于大學教育,只有讓計算機學科與其他學科充分結合,建立交叉學科機制,才能培養出一大批“多面手人才”。在教育界、學術界、產業界的共同聯手下,才有高性能計算人才蓬勃涌現的明天。
目前中國在硬件方面已經領先,那么,如何在人才方面不落后?這是一個比硬件設計艱巨得多的任務,更需要社會的關注。