就現(xiàn)有處理器及系統(tǒng)中每秒的浮點運算速度而言,摩爾定律尚未達到其極限。但是,就大部分軟件甚至是先進技術的計算軟件的可用性能而言,或許已經達到了極限。
看一下世界500強超級計算機公司的網(wǎng)址列表,說明大部分技術計算工作量已經轉移到商用Linux集群:廉價服務器、商業(yè)網(wǎng)點和商用存儲。與此同時,像Cell寬帶引擎(CellBE)這樣新穎的多核處理器架構,也顯示出駐流在入口級服務器中的強大的計算能力的潛力(每秒幾百億次浮點運算速度),也就是說,2到4個處理器。利用如此多便于獲得的計算能力—無論是片上系統(tǒng)或商用服務器群—全球各地不論規(guī)模大小的公司和行業(yè),或者甚至是個人,或許也能夠選擇這種能力來解決比以前更多的問題。這時就只有一個問題存在:軟件在哪兒才能利用所有這些處理器、內核和線程?對于大部分企業(yè)或個人而言還沒有,甚至在像技術計算這種歷史上曾集中在前沿技術授權這樣的領域。事實上,IDC的EarlJoseph在一份關于技術計算軟件的研究中得出結論指出:“現(xiàn)在許多ISV代碼只升級到32位處理器,一些用于工業(yè)的最重要的那部分軟件卻并沒有升級到4核處理器?!?BR>
他的研究也表明,即使當供應商有了一個要使代碼平行運行或升級其代碼的方案,重新設計和重新編碼的成本相對于可預見的市場利益來說,代價也是非常高。
進入Roadrunner時代
Roadrunner將是以CellBE為基礎的世界第一的超級計算機,當它在2008年問世并在洛斯阿拉莫斯國家實驗室運行時,它將具有超過1.6千萬億次或1.6千萬億次計算/秒。
Roadrunner將是首個問世的采用混合計算架構的計算機:具有多層存儲器層級的多個不同種類的內核。它完全采用商用的部件來建造,包括:以AMDOpteron為基礎的服務器,以CellBE為基礎的加速器和Infiniband互連。標準處理(如文件系統(tǒng)I/O)將由Opteron處理器管理,而更多數(shù)學和CPU密集的單元將由CellBE控制。
為使最高級的科學模擬應用開發(fā)人員可以利用這種復雜的架構,系統(tǒng)開發(fā)中的大部分工作是編程方法的實現(xiàn)和相應的應用構架和工具。這種應用使能的應用編程界面簡單但卻可擴展,其設計利用了各種類型存儲和I/O子系統(tǒng)的優(yōu)點,與此同時,保持由開發(fā)商隱藏的根本實現(xiàn)方案的不斷變化。重點也是使一系列內核、不同拓樸的分散器/集中器存儲操作成為可能,并且隱藏像由開發(fā)商提供的計算與通信覆蓋之類的事情。
基本原理是一種“勞力分割”法。一組計算核心開發(fā)商將繼續(xù)利用微處理器ISA使性能最大化;事實上,許多像這樣的內核已經存在(矩陣乘法就是一個很好的實例)。庫開發(fā)工程師將采用一種為Roadrunner開發(fā)的框架來把內核合成到多核、存儲器層級庫之中。然后,應用開發(fā)工程師將采用標準的編譯器和連接器技術來連接到這些庫中。無須引入新的語言,跨越大量多核架構的連續(xù)的API和方法將限制代碼維護的成本。這樣,庫開發(fā)工程師不僅為加速器系統(tǒng),而且為通用目的多核方法和集群改善了使用的方便性。