當(dāng)前超級計算機(jī)主要通過LINPACK測試性能并形成TOP500排行榜,隨著人工智能等應(yīng)用的流行,新的基準(zhǔn)測試正顯得愈發(fā)重要。未來,數(shù)據(jù)移動將成為越來越重要的因素。
計算應(yīng)用模式的變遷
計算機(jī)是人類歷史上最偉大的發(fā)明之一,自20世紀(jì)出現(xiàn)以來,徹底改變了人類社會的面貌。計算機(jī)的誕生雖然僅有70多年,但已成為人類歷史上發(fā)展速度最快的技術(shù)領(lǐng)域。從第一臺電子計算機(jī)埃尼阿克(ENIAC)到最新的E級機(jī)Frontier(前沿),計算機(jī)的峰值速度增長已經(jīng)超過300萬億倍,遠(yuǎn)遠(yuǎn)超過了汽車、飛機(jī)、火車等其他一眾重要工業(yè)產(chǎn)品的發(fā)展速度。更重要的是,計算機(jī)技術(shù)仍在不斷發(fā)展,需要人們不斷探索并與時俱進(jìn),參與并推動其發(fā)展。
讓計算機(jī)更容易使用,讓算力更方便獲取,是人們持續(xù)追求的目標(biāo)。早期計算機(jī)非常昂貴,用戶要到專門的機(jī)房以獨(dú)占主機(jī)的方式使用計算機(jī)。后來出現(xiàn)了多道程序批處理模式,多個用戶的多道程序可以在同一臺機(jī)器上運(yùn)行,用戶提交作業(yè)后按優(yōu)先級依次處理完成。20世紀(jì)70年代,計算機(jī)大量進(jìn)入教育行業(yè),此時出現(xiàn)了分時交互模式,眾多用戶通過輸入輸出終端同時使用一臺計算機(jī)。每個用戶在自己的時間片內(nèi)使用計算機(jī)資源,在體驗上接近于獨(dú)占處理系統(tǒng)。到了80年代,個人計算機(jī)逐步進(jìn)入千家萬戶,但是孤立的計算機(jī)性能有限,難以勝任大型計算任務(wù)。
網(wǎng)絡(luò)的出現(xiàn)推動了計算機(jī)使用模式的演變?!熬W(wǎng)絡(luò)就是計算機(jī)”這句流傳甚廣的口號源自國防用途的阿帕網(wǎng)(ARPANET)進(jìn)入商用并誕生了因特網(wǎng)(Internet)這個事件。通過Internet連接計算機(jī),人們可以實現(xiàn)計算能力、數(shù)據(jù)和軟件的廣泛共享。一個典型的例子是20世紀(jì)80年代美國國家科學(xué)基金會建設(shè)的國家科學(xué)基金網(wǎng)(NSFNET),它的主干網(wǎng)帶寬僅有56 kbps,并使用TCP/IP協(xié)議,連接了美國的6個大型超算中心,向全美的大學(xué)和研究機(jī)構(gòu)提供可遠(yuǎn)程使用的計算資源。
90年代中期,網(wǎng)格計算(grid computing)的概念在美國興起。網(wǎng)格最初是指電力網(wǎng)(power grid),網(wǎng)格計算借用電力網(wǎng)的概念,用高速互聯(lián)網(wǎng)把分布于不同地理位置的計算、數(shù)據(jù)、存儲和軟件等資源連為一體。通過調(diào)度、管理和安全保障機(jī)制,建立一個像電網(wǎng)一樣的計算網(wǎng)格,把算力輸送給終端,支持用戶進(jìn)行共享使用和協(xié)同工作。IBM公司曾宣傳網(wǎng)絡(luò)計算的使用愿景:通過網(wǎng)格把全球的資源連接在一起后,用戶可以像上網(wǎng)一樣“即插即用”地獲取任何地方的算力。2006年我在中國工程院論壇上提出的網(wǎng)格基礎(chǔ)設(shè)施概念(見表1)在如今東數(shù)西算的背景下已經(jīng)變得更為實際。
2006年興起的云計算是網(wǎng)絡(luò)計算技術(shù)和應(yīng)用模式的一次大變革。和以前的變革不同,云計算是由企業(yè)界而非學(xué)術(shù)界牽頭的。在云中,資源被虛擬化,可以動態(tài)升級,方便所有云計算用戶通過網(wǎng)絡(luò)使用。云計算最大的貢獻(xiàn)是改變了IT系統(tǒng)部署運(yùn)行的方式:用戶過去需要自行采購計算機(jī)獲取算力,現(xiàn)在只需要付費(fèi)租賃云上的計算資源,然后部署軟件即可自主運(yùn)行IT應(yīng)用系統(tǒng)。
近年來,物聯(lián)網(wǎng)(IoT)、移動互聯(lián)網(wǎng)(5G)應(yīng)用的蓬勃發(fā)展催生了另一種計算形態(tài)——邊緣計算。邊緣計算的出發(fā)點(diǎn)是讓應(yīng)用程序、數(shù)據(jù)和計算能力更靠近端用戶而不是中心的云,其效果是減少數(shù)據(jù)移動、降低數(shù)據(jù)傳輸延遲、降低端系統(tǒng)和數(shù)據(jù)中心之間的網(wǎng)絡(luò)帶寬需求,使得IT應(yīng)用的成本更低、用戶體驗更好。隨著邊緣計算技術(shù)的進(jìn)步,云邊端協(xié)調(diào)融合的IT應(yīng)用模式逐漸成為主流。
國家高性能計算環(huán)境的實踐
國家科技計劃在高性能計算方面一直不斷投入。從20世紀(jì)末到今天,我們連續(xù)執(zhí)行了多個國家重大項目(見表2)。在這些項目的支持下,我們研制了一批高性能計算機(jī),建立了我國的高性能計算環(huán)境,并發(fā)展了一系列網(wǎng)格和高性能計算應(yīng)用。
過去20多年來的主要經(jīng)驗之一是始終堅持“機(jī)器、環(huán)境、應(yīng)用”的協(xié)調(diào)平衡發(fā)展:第一,通過建造世界一流的機(jī)器,提供強(qiáng)大算力;第二,通過建設(shè)網(wǎng)絡(luò)計算環(huán)境,讓算力隨處可得;第三,發(fā)展大規(guī)模并行計算技術(shù),使算力發(fā)揮最大應(yīng)用效益。這20多年來,中國的高性能計算實現(xiàn)了超常發(fā)展:在計算機(jī)性能方面,從過去的百億次到今天的百億億次,實現(xiàn)了從跟蹤到世界交替領(lǐng)先的跨越;在應(yīng)用的并行性方面,從過去的百核并行快速進(jìn)步到當(dāng)下數(shù)千萬核并行;在算力的使用方式方面,從過去單機(jī)轉(zhuǎn)變成為現(xiàn)在的網(wǎng)絡(luò)計算環(huán)境。
要構(gòu)建國家高性能計算環(huán)境,面臨三個關(guān)鍵問題:(1)如何以網(wǎng)上分散、異構(gòu)、動態(tài)、自治的資源構(gòu)建國家高性能計算環(huán)境?(2)建立起這樣的環(huán)境后,如何以公共計算設(shè)施支持個性化的領(lǐng)域應(yīng)用?(3)如何在分布異構(gòu)環(huán)境下開發(fā)大規(guī)模并行應(yīng)用程序?解決這幾個問題的總體思路是把分散在各地的計算資源當(dāng)作一臺超級計算機(jī),通過研發(fā)系統(tǒng)軟件,實現(xiàn)資源聚合、統(tǒng)一管理調(diào)度和有效使用。首先要開發(fā)環(huán)境“操作系統(tǒng)”,解決分散、異構(gòu)、動態(tài)資源的聚合、調(diào)度、管理和共享問題;其次要發(fā)展網(wǎng)絡(luò)計算應(yīng)用新模式,解決以公共計算平臺承載個性化應(yīng)用的問題;最后要建立超算應(yīng)用集成開發(fā)環(huán)境,解決分布異構(gòu)環(huán)境下應(yīng)用軟件的開發(fā)問題。
環(huán)境操作系統(tǒng):非集中虛擬層級式的軟件體系結(jié)構(gòu)
“非集中”指采取地理分布的部署方式,即分散在全國各地的超算中心都有該操作系統(tǒng)的服務(wù)器,通過層迭網(wǎng)靈活連接這些服務(wù)器,從而實現(xiàn)超算中心資源的互聯(lián)?!疤摂M層級式”是指系統(tǒng)功能從上往下逐層抽象,最終映射到異構(gòu)的物理資源上,從而實現(xiàn)資源去耦和異構(gòu)屏蔽?;谶@些體系結(jié)構(gòu)和核心抽象,我們成功研發(fā)了完全自主知識產(chǎn)權(quán)的國家高性能計算環(huán)境操作系統(tǒng)CNGrid Suite(見圖1)。該套件是世界三大同類系統(tǒng)軟件之一,它基于核心系統(tǒng)抽象的層級式實現(xiàn),比國外基于功能集成的同類軟件系統(tǒng)更為簡潔高效。在性能方面,CNGrid Suite的內(nèi)核基準(zhǔn)延遲與美歐的同類系統(tǒng)相當(dāng),并發(fā)服務(wù)調(diào)用的成功率優(yōu)于美國的Globus?;贑NGrid Suite,我們成功研發(fā)了世界上資源領(lǐng)先的國家級高性能計算環(huán)境CNGrid。CNGrid支持了我國3000多項重大科技與工程項目,如全球氣候變化談判等國家重大需求,運(yùn)20、C919、高鐵“和諧號”“復(fù)興號”等國家重大專項和重大裝備的研發(fā),新藥研發(fā)等惠及百姓的行業(yè)應(yīng)用。
應(yīng)用新模式:領(lǐng)域應(yīng)用社區(qū)
資源“批發(fā)”供給與“零售”使用相結(jié)合的網(wǎng)絡(luò)計算應(yīng)用新模式開拓了按領(lǐng)域特點(diǎn)和需求構(gòu)建應(yīng)用社區(qū)的創(chuàng)新思路。包括資源需求精確適配、應(yīng)用快速封裝與動態(tài)部署以及運(yùn)行環(huán)境按需定制等在內(nèi)的一系列關(guān)鍵技術(shù)為快速開發(fā)個性化易用的應(yīng)用提供了解決方案。在此基礎(chǔ)上,由上海超算中心牽頭,我們成功研發(fā)了超算領(lǐng)域應(yīng)用中間件Xfinity(見圖2)。在Xfinity的支持下,依托CNGrid,構(gòu)建了一批領(lǐng)域應(yīng)用社區(qū),包括工業(yè)創(chuàng)新設(shè)計、生物信息和新藥研發(fā)、數(shù)字媒體渲染等。以工業(yè)創(chuàng)新設(shè)計為例,應(yīng)用社區(qū)把計算送到企業(yè)內(nèi)部,推動了企業(yè)的創(chuàng)新發(fā)展,其用戶涵蓋了中國商飛、中航工業(yè)、上海寶鋼、上汽集團(tuán)、國家核電等。
分布異構(gòu)環(huán)境下超算應(yīng)用開發(fā)
超算應(yīng)用開發(fā)主要關(guān)注分布并行程序開發(fā)問題和并行程序性能優(yōu)化問題。在開發(fā)方面,我們提出了構(gòu)件與流程結(jié)合的低代碼開發(fā)方法,實現(xiàn)了流程的在線組裝與即時協(xié)作、即插即用的構(gòu)件適配、底層分布資源的動態(tài)綁定以及基于算法映射的流程跨域執(zhí)行模型等,從而有效地將流程部署到分布的計算資源上。在性能方面,我們提出了異構(gòu)感知的程序性能優(yōu)化方法,有針對性地突破國產(chǎn)異構(gòu)架構(gòu)超算不同的性能約束。例如,針對天河系統(tǒng)的異構(gòu)加速結(jié)構(gòu),提出了CPU和加速器并行協(xié)同的區(qū)域分解和動態(tài)負(fù)載平衡方法,隱藏了異構(gòu)部件間的通信開銷;針對神威系統(tǒng)的異構(gòu)眾核結(jié)構(gòu),提出了緩存和直接存儲器訪問(DMA)定制機(jī)制,實現(xiàn)數(shù)據(jù)最佳重用和計算訪存重疊,緩解了內(nèi)存容量和訪存帶寬瓶頸,大幅提高程序性能?;谶@些技術(shù),我們研發(fā)了超算應(yīng)用的集成開發(fā)環(huán)境SCIDE(見圖3)。該軟件開發(fā)環(huán)境包含基礎(chǔ)算法庫、應(yīng)用模塊庫、程序模塊庫、優(yōu)化工具庫、工作流編排器以及跨異構(gòu)節(jié)點(diǎn)的編譯等。開發(fā)人員能夠基于模板庫的開發(fā)向?qū)В詣由?a target="_blank">程序代碼框架,重用基本算法和模板庫中的代碼,快速構(gòu)建應(yīng)用程序。
東數(shù)西算背景下的任務(wù)
東數(shù)西算是國家的戰(zhàn)略工程,其背后的概念十分樸素:2021年全國僅數(shù)據(jù)中心的能源消耗就達(dá)到了全國社會用電量的2.6%,二氧化碳的排放量也占到了全國的1.14%,數(shù)字不容小覷,故而國家雙碳指標(biāo)要求約束數(shù)據(jù)中心的能耗。目前東部電能緊張,而西部的水電、太陽能、風(fēng)能等新能源多,但新能源入網(wǎng)困難,西電東送的投資和損耗不可忽視,權(quán)衡之下輸送數(shù)據(jù)相較于輸電是更為經(jīng)濟(jì)的做法。
在東數(shù)西算背景下,我國超算領(lǐng)域的發(fā)展呈現(xiàn)以下幾個趨勢:第一,當(dāng)前我國對算力的需求不斷上升。隨著數(shù)字孿生、人工智能、云計算、大數(shù)據(jù)等技術(shù)不斷涌現(xiàn),科學(xué)研究、產(chǎn)業(yè)升級轉(zhuǎn)型對算力的需求越來越大。第二,超級計算機(jī)以異構(gòu)架構(gòu)為主。在超級計算機(jī)TOP500排行榜的前十名中,僅有一臺采用同構(gòu)架構(gòu),其余均為異構(gòu)架構(gòu)。其中我國的神威太湖之光是片內(nèi)異構(gòu)眾核,天河二號是CPU加國產(chǎn)加速器,另外,面向人工智能應(yīng)用的異構(gòu)架構(gòu)也不斷發(fā)展。第三,為應(yīng)對多樣化應(yīng)用,算力中心本身也存在多樣化。傳統(tǒng)的超算中心主要面向科學(xué)與工程計算,支持以雙精度浮點(diǎn)運(yùn)算為核心的計算密集型應(yīng)用。而新型的智算中心主要面向人工智能應(yīng)用,計算類型主要是單精度/半精度浮點(diǎn)和定點(diǎn)運(yùn)算,配置深度學(xué)習(xí)處理器/加速器。云算中心則以數(shù)據(jù)密集型應(yīng)用為主,配置大容量內(nèi)存和網(wǎng)絡(luò)虛擬化設(shè)備。多樣化算力中心的業(yè)務(wù)相互交叉產(chǎn)生了一系列新的問題。主要技術(shù)問題包括以下六點(diǎn):
一是異構(gòu)算力中心之間的透明調(diào)度,即多種體系結(jié)構(gòu)、多種算力形態(tài)、不同部門算力的互聯(lián)、集成與統(tǒng)一調(diào)度。針對這一問題,需要根據(jù)任務(wù)的類型確定所需資源,并根據(jù)各算力中心的硬件、軟件配置及可用資源數(shù)量進(jìn)行任務(wù)分配和調(diào)度。
二是異構(gòu)并行編程。異構(gòu)增加了并行編程的復(fù)雜性,在多樣化算力中心場景下更加突出。為一種平臺編寫的程序如果不加修改通常難以在另一種平臺上編譯和運(yùn)行,所以在屏蔽異構(gòu)的編程模型/語言和程序自動編譯方面要做更多工作,支持并行程序在多樣化算力中心的透明調(diào)度和運(yùn)行。
三是數(shù)據(jù)在分布算力中心的合理放置。多數(shù)計算應(yīng)用的數(shù)據(jù)規(guī)模都較大,在分布算力中心環(huán)境下,數(shù)據(jù)的放置和訪問對應(yīng)用性能影響很大,所以在計算任務(wù)調(diào)度和遷移時要充分考慮數(shù)據(jù)傳輸和訪問開銷,即數(shù)據(jù)親和性的任務(wù)調(diào)度/遷移問題。
四是公共算力中心的數(shù)據(jù)安全和隱私。用戶在進(jìn)行計算時須將數(shù)據(jù)上傳到算力中心,雖然可以使用虛擬專用網(wǎng)絡(luò)(VPN)等技術(shù)避免傳輸過程中的數(shù)據(jù)泄露,但是算力中心外存中的數(shù)據(jù)和計算過程內(nèi)存中的數(shù)據(jù)仍然面臨潛在的泄露風(fēng)險。這可以通過實現(xiàn)超算數(shù)據(jù)“可計算但不可讀寫”來避免。
五是適應(yīng)異構(gòu)的新型并行算法。作為軟件優(yōu)化和硬件加速的匯聚點(diǎn),并行算法的改進(jìn)可能比提升硬件獲得更大收益。通過發(fā)展面向領(lǐng)域、適應(yīng)異構(gòu)特點(diǎn)的并行算法庫可以實現(xiàn)這一目標(biāo),進(jìn)而提高軟件性能、降低開發(fā)的工作量和難度。
六是應(yīng)用生態(tài)環(huán)境。當(dāng)前和未來中國研制超級計算機(jī)只能依靠自主處理器。國外沒有適合國產(chǎn)處理器的超算系統(tǒng)應(yīng)用軟件,即使有也限制出售;缺少源代碼的商業(yè)軟件無法直接運(yùn)行,即使有也難以移植。因此我們必須建立完整的國產(chǎn)超算應(yīng)用生態(tài),從基礎(chǔ)操作系統(tǒng)和編譯器,到上層算法庫、基礎(chǔ)程序庫、工具軟件,再到并行開發(fā)環(huán)境及軟件本身,每一環(huán)都必不可少。?
除了上述一系列的技術(shù)問題,還有兩點(diǎn)非技術(shù)問題。首先,需要在超算領(lǐng)域推出新的運(yùn)營模式,基于國家超算基礎(chǔ)設(shè)施建立并運(yùn)營超算應(yīng)用網(wǎng),并在其上建立和運(yùn)營領(lǐng)域應(yīng)用平臺,軟件按需使用且按使用量收費(fèi),從而使超算中心由機(jī)時提供型向應(yīng)用服務(wù)/解決方案提供型轉(zhuǎn)變。其次,為了匹配這種新模式,還需要發(fā)展新的軟件開發(fā)機(jī)制,借鑒App Store的機(jī)制,鼓勵更多開發(fā)者進(jìn)入超算領(lǐng)域開發(fā)軟件,軟件開發(fā)者和計算商店運(yùn)營商緊密合作,軟件在商店銷售,開發(fā)者獲得回報并投入新的應(yīng)用開發(fā),形成良性循環(huán),促進(jìn)計算軟件的普及和繁榮。
結(jié)論與展望
東數(shù)西算是戰(zhàn)略工程也是系統(tǒng)工程,旨在合理規(guī)劃增量,盤活存量,重建設(shè)和重長期有效運(yùn)行,為算力基礎(chǔ)設(shè)施的運(yùn)行提供穩(wěn)定支持。這需要國家層面整體規(guī)劃,多渠道協(xié)同支持,長期努力,實現(xiàn)算力基礎(chǔ)設(shè)施的可持續(xù)發(fā)展。為達(dá)成這一目標(biāo),我們的愿景是構(gòu)建下一代國家超算基礎(chǔ)設(shè)施CNGrid-NG,其包含三層架構(gòu):基礎(chǔ)算力層、運(yùn)行管理層和運(yùn)營服務(wù)層。基礎(chǔ)算力層是CNGrid,通過提升網(wǎng)絡(luò)性能將分布在全國各地的超算中心連接起來。運(yùn)行管理層負(fù)責(zé)整個環(huán)境的建設(shè),包括標(biāo)準(zhǔn)評測、安全監(jiān)控等。運(yùn)營服務(wù)層采用多運(yùn)營商、多運(yùn)營中心的模式,不同運(yùn)營商和中心可以根據(jù)自己的平臺框架經(jīng)營特色店鋪,售賣機(jī)時、軟件、計算服務(wù)、移植優(yōu)化等。超算中心、大學(xué)、研究所、公司和個人都可以在運(yùn)營服務(wù)層活動。運(yùn)營服務(wù)層要與基礎(chǔ)算力層和運(yùn)行管理層協(xié)同工作,為用戶提供一站式服務(wù)。
我們設(shè)想,CNGrid-NG的組織架構(gòu)可以由理事會、運(yùn)行機(jī)構(gòu)和技術(shù)部門、運(yùn)營商三個層次組成。理事會主要由投資方、運(yùn)行方和技術(shù)方構(gòu)成。投資方包括科技部、地方政府、其他投資方,運(yùn)行方包括國家超算中心、網(wǎng)絡(luò)運(yùn)營商等,技術(shù)方包括我國從事超算開發(fā)的主要技術(shù)團(tuán)隊代表。理事會的職責(zé)是制定發(fā)展戰(zhàn)略,做好頂層規(guī)劃,同時保證國有資產(chǎn)增值。運(yùn)行機(jī)構(gòu)和技術(shù)部門由CNGrid-NG理事會聘請建立,負(fù)責(zé)制訂服務(wù)技術(shù)標(biāo)準(zhǔn)和服務(wù)規(guī)范,實施平臺建設(shè)和運(yùn)行管理,對服務(wù)運(yùn)營商進(jìn)行評測和認(rèn)證。多個運(yùn)營商/中心由運(yùn)行機(jī)構(gòu)進(jìn)行資格審查,通過理事會批準(zhǔn),依托平臺自主開展超算服務(wù)運(yùn)營。以上組織架構(gòu)可以保證和實現(xiàn)CNGrid-NG的商業(yè)模式。??
(本文根據(jù)CNCC2022特邀報告整理而成)
作者:
?
錢德
CCF會士、CCF創(chuàng)建60周年杰出貢獻(xiàn)獎獲得者。中國科學(xué)院院士。北京航空航天大學(xué)教授。主要研究方向為高性能計算機(jī)體系結(jié)構(gòu)、分布式系統(tǒng)、眾核處理器并行編程等。
depeiq@buaa.edu.cn
整理:
?
王需
CCF專業(yè)會員。清華大學(xué)全球創(chuàng)新學(xué)院助理研究員。主要研究方向為邊緣計算、人工智能物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)。
xuwang@mail.thu.edu.cn
?
鄭雅文
CCF學(xué)生會員。清華大學(xué)自動化系碩士研究生。主要研究方向為無線感知、工業(yè)互聯(lián)網(wǎng)。
yw-zheng21@mails.tsinghua.edu.cn
?
評論
查看更多