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