年前遇到中科院計算所副所長樊建平,聊起高性能計算的發展趨勢。他對我說:“高性能計算機體系結構研究正出現轉折,機群式體系結構已經走到盡頭。”
“這個話題很好,節後我們好好聊聊。”我立即響應。於是有了2月13日的專訪。
高性能計算的市場需求
“毫無疑問,市場對於高性能計算機的需求在增長。一方面,隨著網絡的普及,電子郵件的流行,各種數據庫的建設及完善,企業數據倉庫正在向 PB(1000T,即1000萬億字節)的容量發展。美國已經有人研制成太陽能傳感芯片,這種傳感器可以在野外全天候采集數據,並通過無線通信相互聯系,發送數據。利用這種芯片可以在美國國土建立一個巨大的傳感器網,把美國真正變為數字化美國。同時,由於人口老齡化趨勢,利用配備無線傳感器的家電可以構成能夠照料老人的數字化家庭。設想這樣一個龐大的傳感器網,有一萬億個傳感器采集各種微觀數據,每個傳感器傳輸1 KB數據,就是1 PB的數據量。處理這樣的數據量,對高性能計算機提出了更高要求,發展新一代高性能計算機勢在必行。”樊建平的語氣非常肯定。
美國計算機科學家 J ordanB.Pollack提出了現代社會對於高性能計算技術的“十大挑戰”,這些挑戰涉及政治、教育、全新的國家工業基礎設施、軟件開發、重建電信業等多個領域。
“我們也可以設想高性能計算技術的未來。例如,能不能利用傳感器系統以及高性能計算機緩解北京的交通堵塞?能否利用高性能計算技術幫助解決能源問題?能否利用高性能計算技術幫助解決沙塵暴問題?高性能計算技術可以涉及的領域還有生命科學、醫療保健等等,與人民生活息息相關。”“一方面需要高性能計算技術解決的問題越來越大,越來越重要;另一方面高性能計算技術發展的條件非常優越,因為關鍵部件如微處理器、內存、硬盤等等性價比不斷提高,人們可以利用工業化生產的部件構建高性能計算機。也正因如此,高性能計算機的體系結構問題就越發突出了。”
主流高性能計算機面臨困境
目前商業化高性能計算機的主流體系結構是 c luster,就是機群式。機群式體系結構已經有大約十年的歷史。為了提高性能,機群式高性能計算機的節點數不斷增長,多的已經到300個以上。系統的可擴展性、可靠性的瓶頸已經成為突出的問題。“以每個節點的可靠性為99.99%計算,很容易看出,300個以上節點的機群式計算機每周甚至每2-3天就會有一個節點失效,需要換主板,用戶的應用程序就不得不中斷。現在用戶一般都要求連續計算,已經處於進行之中的計算任務可能因為某一個節點失效而不得不重新開始,這樣問題就更嚴重。為了解決這一問題,用戶必須把階段性計算成果進行備份,存到硬盤裡,以確保系統在失效節點修復以後從斷點開始計算,而不是重復計算。所以,用戶使用高性能計算機的難度越來越大。”樊所長的敘述很客觀,也很嚴謹。
這裡需要解釋一下可靠性的概念。99.99%的可靠性意味著如果由一萬個節點構成的系統總會有一個節點失效;或是一個節點工作一萬個小時會有一個小時失效,那麼300個節點構成的機群式系統在連續工作了300小時後出現某個節點失效是很正常的。實際上由於節點的增多,系統的復雜性提高,平均每個節點的可靠性會下降,或者說失效率會增加。所以系統連續工作一周甚至2-3天出現某個節點失效是可以理解的。
這種現象意味著什麼?“工業界仍然試圖通過增加節點數的辦法來提高機群系統的性能,這是一種慣性。從表面上看,系統的峰值計算速度隨著節點數的增加而提高,可是如果我們繼續因循這種慣性發展機群式系統,結果系統的可用性會大大下降。從可擴展性、可用性的角度看,可以說,機群式體系結構已經走到盡頭。”這就是樊建平的結論。
美國一家超級計算中心的主任丹尼爾指出,美國在高性能計算領域有重大決策失誤,因為美國現在沒有關於高性能計算機體系結構的重大研究項目。
美國著名的高性能計算機專家 D ave Patterson是RISC以及磁盤陣列技術的發明人,他認為如果20年以後,高性能計算系統的可靠性及可用性還像現在這樣脆弱,後果是不可想象的。
挑戰與機遇
樊所長在他的筆記本電腦上打開一個文件:
“你看這幅圖。這是一項統計分析,把每年國際學術研討會上發表的關於高性能計算機體系結構的論文按專題分類統計,可以看出一種發展趨勢(圖1)。1975年,關於高性能計算機體系結構的論文五花八門,沒有一個專題占突出地位,看不出明顯趨勢。關於多處理器體系結構的論文數量分別在1985年以及1993年達到高峰,可是到2000年、2001年,形勢似乎又回到1975年。我們可以看到,沒有一個專題占據主流地位,一片混沌。”
歷史經常會發生“似曾相識”的現象。不過,有的一目了然,有的需要深入分析。圖1是對在國際水平的學術會議上正式發表的論文進行統計分析,揭示出這種歷史上深層次雷同的現象。如果僅僅比較計算機的性能,1975年與2001年當然不能同日而語,當年的大主機性能甚至遠遜於今天的 P C。人們似乎應當歡呼技術的巨大進步,不過這樣的歡呼未免膚淺。那麼系統體系結構研究的這種歷史上深層次雷同又為我們提供了什麼信息呢?
“這表明學術界在高性能系統體系結構研究領域已經迷失方向。這對於我們來說,既是挑戰,又是機遇。說這是挑戰,是因為在這一領域,我們不能僅僅跟蹤,因為不存在主流,一片混沌,跟蹤已經失去方向。說這是機遇,是因為這樣的形勢恰恰為我們開展獨創性研究、發展新一代高性能計算機提供了機遇。”
黨的十六大已經明確提出,在研究戰略上,我國科技界應當從主要是跟蹤轉向自主創新研究。今天的形勢與上一世紀九十年代初完全不同。我們在產業方面,已經建立了相當的基礎,例如曙光計算機;我們在未來的高性能計算機體系結構研究領域已經取得一系列成果,研究力量也大大增強;在市場方面,我國的高性能計算技術市場正在急劇增長;從我國發展戰略來看,高性能計算技術應當成為我國力爭的一個戰略制高點;從發展時機的角度看,過去幾年我國在高性能計算技術領域的發展已經經歷了一個量變的過程,現在對於質變的需求,也就是對於新一代高性能計算機的需求已經提上議事日程。因此,我們不應當放棄在高性能系統體系結構研究領域的機遇。
網格化的高性能計算
在國際學術界沒有明確結論的形勢下,我國高性能計算機體系結構研究應當朝哪個方向發展?
樊建平認為,發展基於光互連技術的網格化高性能計算機體系結構勢在必行。理由如下:
首先,現在網格的研究正在興起,而且勢將逐步形成基礎設施;第二,從光信號與電信號相互轉換的基礎研究來看,電信號的速度已經接近光的速度,光信號在頻譜上的移動也已經接近電信號的水平,兩者在理論基礎上有一個結合點,就是 T erahertz(太赫,萬億赫茲)。樊建平在計算所領導 H PC-OG項目研究小組,就是研究光互連網絡化的高性能計算機。在這一領域,光器件以及光電轉換器件在板卡級水平已經趨於成熟;同時計算所在網格領域的研究已經積累了不少成果,兩者有一個結合點。所以,光互連技術與網格技術都已經發展到一個新的水平,我們就有可能把兩者結合起來,構建新一代網格化體系結構的高性能計算機,在高性能計算機體系結構領域取得突破。
網格化體系結構與面向網格的體系結構有什麼不同?今年將要發布的曙光4000是面向網格的高性能計算機,這種體系結構只是在硬件及軟件方面適應了網格技術的發展,但是它的體系結構從本質上看還是機群式,當節點數增加到300-400個,這樣的體系結構無法解決可用性問題;網格化體系結構就完全不同,從硬件特征看,網格化的體系結構應當實現網絡化的 CPU,網絡化的內存以及網絡化的磁盤存儲系統;從軟件特征看,網格化的體系結構是把現在的操作系統完全拆開,例如 C PU管理系統、文件管理系統、任務管理系統等操作系統的主要模塊分開。總的思想是網格化體系結構是拆,機群式體系結構是合。
鼓勵原創要敢於冒風險
“網格化的體系結構在實驗室已經實現了嗎?”我問。
“還沒有。無論是理論模型方面還是工程技術方面,都還有大量的研究要做。但是這是一個方向,如果取得突破,那就是真正的原創。當然,凡是原創性研究都有失敗的風險,國家從政策上鼓勵原創,政府有關部門的官員應當敢於冒風險。”
歷史上曾經有過很好的例子。曙光一號在開發初期,就有過爭論。當時國內計算機界一說體系結構就是“巨大中小微”,用多個微處理器構建高性能並行處理計算機對許多人而言是匪夷所思。當時國家科委高新技術司的冀復生同志敢於冒風險,全力支持曙光一號的開發,最終曙光系列高性能計算機取得巨大成功。
收復失地與開拓新疆
“我們現在一些重大研發項目的基本立足點是收復失地。收復失地的目標無可非議。然而我們的研究戰略已經從支持跟蹤轉向鼓勵原創,政府有關部門能不能拿出一些錢來支持開拓新疆的工作?新一代高性能計算機體系結構的研究開發就屬於開拓新疆的工作。”談到鼓勵原創,樊建平很有一番想法。
我對他的想法表示贊同:“開拓新疆也許是收復失地最好的辦法。我們經常說要站在巨人的肩膀上發展,就是這個意思。如果只是想一切從頭開始,重新打造一個巨人去與別人競爭,最終結果恐怕事與願違。”
其實在這個問題上,我們已經有很多歷史教訓。例如國產操作系統,不是不能做,而是難以建立用戶群。沒有足夠大的用戶群,做出來的操作系統無法不斷升級。收復失地的目標不可能實現,自主知識產權也只是空談。
信息技術的發展歷史表明,在許多領域,只有第一,沒有第二。如果發達國家在新一代高性能計算機體系結構領域又先行一步,我們除了跟蹤,還能做什麼呢?