誰會擁有全世界最快的超級計算機?

誰會擁有全世界最快的超級計算機?

來自專欄 Nature自然科研5 人贊了文章

導語:建造百億億次級超級計算機的計劃正在向前推進,但仍面臨一些重大技術挑戰。

日本的超級計算機「京」的運算速度目前在世界超級計算機500強里排第十位,但在另一種衡量標準下排第一。圖片:Jiji Press/AFP/Getty

去年7月底,美國田納西州橡樹嶺國家實驗室的工作人員開始在一個巨型機房裡安裝一台巨獸級計算機的零部件,包括一排排疊放整齊的計算單元,約290公里長的光纖線纜以及一個蓄水量接近游泳池的冷卻系統。美國能源部(DOE)希望這個價值2.8億美元、代號Summit的主機今年完工時,可以讓美國重奪自2012年以來一直未能斬獲的頭銜——擁有全世界最快超級計算機(譯者註:以下簡稱超算機)的國家。

Summit的最高運算速度為200 petaflops,能夠每秒執行多達20億億(2x10^17)次的「浮點數操作」——一種計算機運算。這將讓Summit比目前在中國的世界記錄保持者快60%。

但是對於許多計算機科學家來說,Summit的完工只相當於邁開了第一步。世界各地的科學家和工程師團隊的目標是運算能力的下一次飛躍:百億億次超算機——其運算能力將達到驚人的1000 petaflops或者更快。已有4個國家或者跨國團隊正在與本地計算機行業合作,為實現這一雄心勃勃的目標而努力。中國計劃在2020年擁有第一台百億億次主機。通過美國能源部的「百億億次超算機項目」,美國計划到2021年至少建成一台。預計歐盟和日本也會緊隨其後。

科學家們預計百億億次超算機將能夠輔助他們解答許多目前難以處理的問題,領域涉及氣候科學、可再生能源、基因組學、地球物理學和人工智慧等,具體包括通過匹配燃料化學和內燃機的精確模型以更快地掌握減少溫室氣體排放的改進措施。或者藉助它也許能夠以一公里的空間精度模擬全球氣候。配合合適的軟體,「許多科學領域將能夠開展目前無法進行的工作」,美國加州勞倫斯伯克利國家實驗室的計算機科學家Ann Almgren指出。

但如何達到百億億次體系是一個巨大的技術挑戰。曾經遵循摩爾定律以指數式增長的計算性能和能效不再能持續。為了不斷取得進展,需要對超算機的各模塊進行大幅度的改進。此外,在速度測試中表現良好的超算機不一定能在科學應用中表現的同樣出色。

將高性能計算推向更高水平的努力,正在驅使超算機的設計和性能測試方法發生改變。「這是我在職業生涯中遇到的最困難的問題之一,」任職於伊利諾伊州阿貢國家實驗室的計算機科學家Thomas Brettin說。他正在開發可運行於百億億次超算機主機的醫療軟體。

硬體升級

計算機行業的整體趨勢正在鋪設通往百億億次超算機的道路。十幾年來,晶體管的密度已經非常之高,以至於計算機晶元很難進一步獲得更快的運行速度。為了克服這一點,如今的超算機更多是依靠並行處理機制:一排排的晶元組成的主機同時擁有數以百萬計的運算單元即「核心」。連接更多的這種晶元,就可以造出更強大的超算機。

但是隨著這些主機的規模越來越大,數據管理變得更具挑戰。從存儲器讀寫數據,即便是在核心內部,也比計算本身消耗更多能量。根據某些估計,在高性能計算機消耗的電能中,高達90%的比例用於數據傳輸。

一些警告性預測由此而生。2008年,在提交給美國國防高級研究計劃局的報告中,由美國聖母大學計算機科學家Peter Kogge領導的團隊給出結論:用可預測的技術建造的百億億次超算機將需要數以吉瓦計的電力,也許需要一個專門的核電站。Kogge說:「就百億億次計算而言,電力是首要問題。

2015年,考慮到技術的進步,Kogge將上述預測降低至18~42.5千萬瓦功率。但這仍然遠遠超過目前排名前幾的超算機的運行功耗;當前排名第一的系統——中國的神威·太湖之光——運行於1.5千萬瓦功耗。

「Peter的報告很重要,因為它拉響了警鈴,」阿貢的計算機、環境和生命科學實驗室副主任Rick Stevens說,「降功耗的需求已經孕育了許多新的學術研究。」他認為這在一定程度上歸功於Kogge的預測。

Stevens指出,最近幾年受益於很多新技術,功耗已得到進一步降低。一個關鍵的改進是讓內存離運算核心更近從而減小數據傳輸的距離。出於類似的原因,工程師們也已經開始縱向構建——上下疊放高性能內存陣列而不是平鋪在同一平面上。同時超算機也更多的採用flash內存——不同於廣泛使用的其他類型內存,它無需通電也能保存數據。電路設計師也已經讓晶元可以關停內部不使用的電路模塊,或者通過改變其電壓或頻率來節約電能。

處理器上更為根本性的變革也在帶來改觀。其中一項主要發展是引進通用圖形處理器(GPU),它通常被用在諸如遊戲渲染等數據量巨大、數值運算密集的應用中。裝備GPU的計算機,加上控制數據流量的中央處理器(CPU),可以高效進行物理模擬。勞倫斯伯克利國家實驗室的Katherine Yelick解釋說,從編程的角度來講,在電影《海底總動員》里逼真模擬海浪的演算法和氣候模型中模擬大氣動力學的演算法並無顯著區別。

有的超算機是用輕量級處理器構建的——為追求速度和能效而放棄了部分性能。中國的神威·太湖之光即採用了輕量級架構。在2015年美國對出售給中國超算中心的晶元採取貿易禁售後不久,該主機採用自主研發的處理器拿下桂冠。北京航空航天大學計算機科學家錢德沛教授正在幫助開發中國的百億億次超算機,他介紹說輕量級神威處理器與普通處理器並沒有本質區別。每個核心被簡化成只有有限的本地內存和運算速度。但當眾多核心一起運轉時,整體運算速度得到大幅提升。

美國能源部第一台百億億次系統——Aurora的耗電目標是4千萬瓦,與絕對最大值6千萬瓦之間留有冗餘。計算機行業巨頭英特爾承接了為這台主機開發晶元的任務,整個系統的組裝則分包給了位於超算機承包商Cray。如何達成目標的細節目前還未公佈於眾。但在加州聖克拉拉英特爾總部負責高性能和百億億次計算的首席架構師Al Gara提到,公司正在開發新的平台——包括新的晶元微架構——來最小化功耗。

其他項目的目標更具挑戰。錢德沛教授說中國的第一個百億億次系統的功耗目標低至3千萬瓦。據法國替代能源和原子能委員會(CEA)的高性能計算專家Jean-Philippe Nominé介紹,交期更靠後的歐洲項目(預期2022或2023年交付)因為有更多的準備時間或許能降至1千萬瓦。但功效只是一個影響因素,性能問題也需關注。

「百億億次計算」的意義已經變成計算機科學家的一種追求。其最簡單的定義是能以1 exaflops (等於1000 petaflops)的運算速度處理一組特定線性代數方程的計算機。一個研究團隊自1993年以來一直採用這套測速工具(LINPACK,線性系統軟體包)提供超算機的500強排名。

LINPACK成為超算機性能的代名詞。以此標準,自2013年6月以來,中國建造的超算機一直佔據榜首(見「平穩增長」)。但上述500強排名的創始人之一、田納西大學的計算機科學家Jack Dongarra認為速度不能代表一切。「每個人都會想成為話題焦點。」Dongarra說。他類比了超算機的峰速和轎車的最高時速。雖然轎車速度能達到300公里每小時,看似驚人,但真正體現轎車價值的是日常行駛在限速範圍內的性能。

來源:www.top500.org

類似地,計算機處理一組線性代數運算的速度不一定能反應其預測藥物活性、訓練神經網路或者執行複雜模擬的能力。對於處理能力、哪些運算可以並行操作以及需要移動多少數據等方面,它們的需求並不一致。美國能源部科學辦公室高級科學計算研究中心副主任Barbara Helland指出,500強排名「並不考量硬體在實際應用中的表現」。

儘管如此,據去年從英特爾退休的計算機科學家Shekhar Borkar介紹,今天的頂級超算機一直以「提供以LINPACK為基準的最高性能為建造目標」。他說真實的科學應用或許能用到該性能的10%——但典型比例只有1.5%—3%。他預計這個比例在百億億次超算機上也不會有多大改觀。

在美國,峰速和實際應用之間日益突出的脫節問題,已經催生了對百億億次計算的另一種由應用驅動的定義。美國能源部希望其第一台百億億次超算機的性能比目前美國最快的系統——泰坦(Titan)快50倍,泰坦的速度按LINPACK基準測算是17.6 pflops。這也許意味著,舉例來說,在給定時間內篩選比泰坦多50倍的潛在太陽能材料,或者以高於泰坦50倍的空間解析度模擬全球氣候。

為了實現這些目標,美國能源部正在跟數百個來自學術界、政府和工業界的研究者一起努力。它組建了25個團隊,每個團隊分別開發軟體以利用百億億次超算機解決特定的科學或工程問題,比如引擎設計。Stevens說衡量美國百億億次超算機是否成功的評定依據是它們在這25個應用里的性能指標的「幾何平均值」。

在這些計算機的開發工程中,該機構也在儘力加強超級計算機使用者、軟體開發者以及負責建造硬體的半導體公司之間的溝通合作。圍繞美國能源部百億億次超算機項目,「我們在讓這些團隊走到一起,我們能促使他們融合」,該項目領隊、橡樹嶺國家實驗室計算機科學家Doug Kothe提到。這種緊密連接使用者和建造者、被稱為聯合設計的策略並不是什麼新方法,但「從沒有以如此的廣度和深度展開過」,Kothe說。

「我為此工作了20年,這是第一次看到如此大規模的協作和支持。」Thuc Hoang說。她是國家核安全管理局(NNSA,位於華盛頓特區)的超級計算機研究與運作組項目經理。

鼓勵來自各類不同學科的科學家和工程師們展開合作的不只有美國。中國的超算機項目雖被質疑其對速度的追求超過了科研本身,但在百億億次目標上也採用了聯合開發的策略,並聚焦在15個軟體應用上。錢德沛教授說:「我們必須在硬體和軟體開發中聯合各領域的科學家。」

技術前瞻性

Borkar和其他一些觀察者卻擔心美國和中國的第一代百億億次超算機或許會淪為噱頭,不適合實際應用。Borkar認為「提供更高的應用性能意味著採用完全不同、更加現實的設計」,並補充說「那將絕對會影響以LINPACK為標杆的性能測試結果,使之從市場的角度看起來不夠好」。Borkar強調雖然他仍在給美國政府和其他私營企業提供諮詢,但是這些是他的個人觀點。

Borkar說他希望美國堅持貫徹最早在2008年形成的計劃,即借升級至百億億次的時機,對計算機進行徹底的重新思考。「循序漸進的方法會失敗,」他說,「你需要一種革命性的方法。」Stevens也表示項目內部正在發生重大變革。他預計美國能源部大概會在聖誕節前後完成與英特爾的正式合同。在那之前,他說:「我不能告訴你我們在做什麼,但它很有創新性。」

但是超算機性能的提升幅度是有限度的。對於每一代新的超算機,程序員只能基於原有軟體進行開發。Hoang 說:「我們有舊代碼。」她在NNSA負責的項目依靠超算機來保證美國的武器庫遵循核武器試驗禁令。「我們部門的職責內容決定了我們不能簡單放棄花了10年開發和驗證的舊代碼。」

預算上的限制也左右著美國的百億億次超算機計劃。Aurora原本計劃是一台180 petaflops的主機,並要於2018年在阿貢開始運行。但該機構沒有足夠的資金啟動百億億次硬體的委託生產。美國能源部沒有公開發布方案建議書邀請函,而是將英特爾和Cray的Aurora合同改為於2021年前交付一台百億億次主機。Stevens相信他們的技術沒問題。

其他百億億次超算機項目也在推進。仍有希望按計劃在2020年第一個達到百億億次水平的是中國。Dongarra介紹說,中國正在對三個原型進行斟酌,其中兩個位於目前中國運行最快的主機所在地,並將基於中國開拓的輕量級架構。第三個由中科曙光建造,該公司與高性能晶元開發商AMD有合作關係,可獲取授權的AMD高負載微架構。Dongarra認為這台主機有可能具備新特性並與輕量級系統不同。

同時,研究人員也在思考如何在未來幾十年超越百億億次節點,建造速度更快、性能更強的超算機。建造下一代超算機可能意味著要採用某些如今仍處於萌芽階段的技術,比如仿神經形態電路(其原型是大腦神經元的運作機制),又比如量子計算。

但許多研究人員最關心的是確保他們能夠交付滿足預期的百億億次超算系統,並且為其開發的科研軟體能在它們啟動時運轉正常。「[百億億次系統]順利完工,」Helland說,「是讓我經常徹夜難眠的夢想。」?

Nature|doi: 10.1038/d41586-017-07523-y

原文發布在2017年11月29日的《自然》特寫上

原文作者:Katherine Bourzac

點擊右邊標題閱讀英文原文:Supercomputing poised for a massive speed boost


版權聲明:

本文由施普林格·自然上海辦公室負責翻譯。中文內容僅供參考,一切內容以英文原版為準。歡迎個人轉發,如需轉載,請郵件Chinapress@nature.com。未經授權的翻譯是侵權行為,版權方將保留追究法律責任的權利。

?2018 Springer Nature Limited. All rights reserved.

思想常新者以自然為其可靠之依據——Nature自然科研ID:Nature-Research

推薦閱讀:

後·馮諾依曼時代,一場計算機革命悄然來臨
學會這些電腦小技巧,媽媽再也不用擔心我用不好電腦
開機出現bootmgr is missing 怎麼辦
計算機組成原理(第十章)

TAG:計算機 | 超級計算機 | 電子計算機 |