秦廣軍, 肖利民, 張廣艷, 牛北方, 陳志廣
1. 北京聯合大學智慧城市學院,北京 100101;2. 北京航空航天大學計算機學院,北京 100191;3. 軟件開發環境國家重點實驗室,北京 100191;4. 清華大學計算機科學與技術系,北京 100084;5. 中國科學院計算機網絡信息中心,北京 100190;6. 中國科學院大學,北京 100190;7. 中山大學計算機學院,廣東 廣州 510006
高性能計算環境是支撐國家科技創新、經濟發展、國防建設的核心信息基礎設施,世界高性能計算強國紛紛建設基于多超級計算中心(以下簡稱超算中心)資源的廣域高性能計算環境[1]。美國建立了跨域的極限科學與工程發現環境(extreme science and engineering discovery environment,XSEDE),旨在建設單一的虛擬系統,世界各地的科學家可以通過系統共享計算資源、數據和專業知識;歐洲建立了跨域的歐洲網格基礎設施(European grid infrastructure,EGI),目的是通過整合數字功能、各界資源和專業知識為科學研究和基礎設施建設提供開放的解決方案;我國建立了中國國家網格(China national grid,CNGrid),通過資源共享、協同工作和服務機制,有效地支持科學研究、資源環境、先進制造和信息服務等應用。高性能計算水平體現了一個國家的科技綜合實力,整合廣域分散的高性能計算資源,建立廣域高性能計算環境,對于國家高性能計算技術的領先發展、國家安全與高性能計算地位的提高至關重要。
與XSEDE和EGI相比,CNGrid不僅要能夠支持科學研究,更強調對多領域應用的支持。這些應用除了需要高性能計算能力,還需要支持對異地、異構數據進行存儲、訪問、交換和處理的能力。然而,在廣域高性能計算環境中,各超算中心往往地理位置分散,資源自治管理,數據跨域分散存儲,這使得資源和數據難以統一管理、調度和互訪,應用系統間相互孤立,難以滿足大型計算應用對全局資源空間的需求。因此,如何在廣域高性能計算環境中實現跨域資源統一管理與使用,有效支撐大型計算應用,一直是各高性能計算領域的重要研究課題,這迫切需要新技術、新系統來支持資源共享,提高資源利用率,發揮分散資源聚合效應。
CNGrid目前已經支持全局計算資源管理和作業調度,但存儲和數據資源仍然不能得到有效的全局統一管理、調度和訪問。本文針對國家高性能計算環境廣域分散存儲資源的聚合需求及大型計算應用對跨域全局虛擬數據空間的實際需要,對標高性能計算環境廣域存儲系統EGI OneData[2-3]和XSEDE GFFS[4],從跨域虛擬數據空間構建、廣域數據共享、全局存算協同調度、跨域并發數據聚合處理、CNGrid環境對接等幾個主要方面出發,建立了一套可用于構建廣域全局虛擬數據空間的完整技術體系,并研發了一個可運行于國家高性能計算環境的虛擬數據空間系統,旨在為在國家高性能計算環境中建立虛擬數據空間提供技術手段、應用經驗、人才儲備,支撐建設資源共享、統一管理、高效協同的國家高性能計算環境,促進我國高性能計算環境的應用和可持續發展。
國家級廣域高性能計算環境是支撐國家科技創新、經濟發展、國防建設的核心信息基礎設施,是大國競爭的戰略高地,世界高性能計算強國紛紛建設基于多超算中心資源的廣域高性能計算環境。
美國、歐洲、日本對虛擬數據空間系統及關鍵技術開展了研究。美國國家科學基金會的TeraGrid計劃[5]及其后續的XSEDE計劃[6],以及歐洲的網絡基礎項目EGI(前身為EGEE)[7],都旨在將廣域分散自治的大規模計算系統、科學儀器等互連并廣域共享,但TeraGrid需采用專用高速網絡,EGI欠缺全局統一管理能力。其中,EGI的基礎存儲系統是OneData,引入了“空間”和“供給者”的概念,較好地屏蔽了EGI中數據廣域分布的復雜性,但是采用緊密的元數據管理方式,元數據維護壓力巨大,系統可擴展性較差。XSEDE的基礎存儲系統是全局聯合文件系統(global federated file system,GFFS),采用松散的頂層元數據組織實現了異構存儲資源的聚合,但是頂層元數據集中管理,存儲集群的元數據分散自治管理,使得頂層元數據極易成為性能瓶頸。麻省理工學院的協作式文件系統(cooperative file system,CF S)、加利福尼亞大學伯克利分校的OceanStore[8]、紐約大學的Kademlia[9]等具有良好的平衡性和擴展性,但均為聚合集中式存儲資源的系統。谷歌公司的Spanner[10]實現了在特定硬件支撐下的跨域數據庫存儲模式,耶魯大學和谷歌公司聯合實現了跨數據中心的CalvinFS系統[11],加利福尼亞大學河濱分校提出了可跨多云平臺的SPANStore系統[12],德國卡爾斯魯厄理工學院設計了MetaStorage系統[13],上述系統可管理分散的存儲資源,但主要面向互聯網應用(如數據庫存儲),不適用于高性能計算應用環境。微軟公司的WAS(Windows Azure storage)系統[14]通過位置服務器和全局命名空間整合跨域存儲集群,但不支持跨域數據共享。美國印第安納大學實現了跨域的Lustre-WAN文件系統[15],但需專用網絡支持。日本筑波大學提出了跨域網格文件系統Gfarm[16],但其集中式元數據架構難以適應高性能計算環境的大規模并發數據訪問請求。
我國對虛擬數據空間系統及相關技術也開展了相關研究,建設了基于多個超算中心的國家高性能計算環境,實現了分散計算資源的統一管理和全局調度,但尚未實現分散存儲資源的全局數據空間以及存儲與計算全局協同調度。電子科技大學、中國科學院計算技術研究所、浙江大學等采用哈希算法,設計了針對集中式存儲資源的聚合系統PeerStore[17]和π-Store等。北京郵電大學、華為技術有限公司、阿里巴巴集團[18]面向互聯網應用實現了基于多云存儲平臺協同的云存儲模式。清華大學[19]、北京航空航天大學[20]、中國科學院計算機網絡信息中心研究了單一大規模存儲聚合系統及跨域存儲聚合技術,針對分布性、異構性、動態性的廣域網絡環境,實現了支持跨域數據驅動型應用的虛擬數據空間及服務協同平臺、跨多數據中心的全局虛擬文件系統等。
綜上,目前國內外都在研究跨域存儲資源聚合、廣域數據共享等問題,但尚未出現可有效支持廣域高性能計算環境的跨域虛擬數據空間。因此,研究在廣域高性能計算環境中建立跨域虛擬數據空間的方法和關鍵技術具有重要的理論意義和應用價值。
我國國家高性能計算環境(原中國國家網格環境)的環境資源種類繁多、異構性強、地域分布廣,主要由上海超級計算中心和中國科學院計算機網絡信息中心兩個南北主節點,國家超級計算無錫中心、國家超級計算天津中心等7個國家級超算中心,以及清華大學、西安交通大學等11個普通節點組成,總計算能力超200 PFlops,總存儲容量超160 PB,2020年新增國家超級計算鄭州中心和國家超級計算昆山中心。
計算資源管理的核心系統軟件——超級計算環境(s u p e r c o m p u t i n g environment,SCE)[21]是中國科學院開發的環境中間件,用戶可以通過此中間件使用整個環境中的所有計算資源。SCE主要包括前端服務器(front server,FS)和中央服務器(center server,CS),CS負責匯總FS采集的各類信息,以及作業全局調度與管理服務、數據傳輸與管理服務、用戶與權限服務、資源信息管理服務、安全策略以及計算環境管理;FS負責資源接入與監控、作業局部調度、局部信息管理、一些計算資源的執行控制,收集來自各超算中心的資源信息,并匯報給CS,以及執行來自CS的各種執行請求。
存儲資源由各超算中心自治管理,使用方式主要分為兩類:第一類,在超算中心中將區域劃分為計算區和存儲區,采用不同的文件系統進行管理并存儲在不同的集群上,進行計算作業時,需要將用戶的作業及用到的數據提交至計算集群中進行計算;第二類是不劃分存儲區和計算區,存儲和計算由同一個文件系統統一管理,作業直接在用戶目錄下運行。對于當前兩種使用模式,用戶數據都匯聚在一個超算中心中,而且是分散自治的,國家高性能計算環境中各超算中心之間相互隔離,無法做到用戶數據跨域及統一管理。
可見,在當前的國家高性能計算環境中,計算資源可統一管理、全局調度,但存儲資源仍廣域分散、隔離自治,雖然可全局調度計算資源,但無法有效地實現數據的跨廣域統一訪問和共享,應用規模的擴展受限于單中心的資源規模,無法構建更大型的、跨廣域的應用,更無法實現存儲與計算的協同調度,從而導致全系統資源利用率不能有效提高。
大型計算問題,諸如生物信息、精準醫療、高能物理、氣象預報等類型的應用,由于數據量和計算量都較大[22],且數據往往跨廣域分布,需要在高性能計算環境中形成廣域的數據共享、統一的數據空間,從而提高應用的規模,提高全系統資源利用率。例如,生物信息和精準醫療類應用涉及的數據量巨大,存儲需求往往達PB級,且需要在跨廣域海量樣本中進行匯聚處理和挖掘,而單中心局部存儲空間不足以滿足應用需求,且受到廣域網帶寬和路由的限制,數據跨廣域遷移效率較低,可統一管理的存儲空間和高效的廣域數據共享將有利于此類應用在數據處理規模上的擴展;高能物理類應用往往需要E級計算,目前單中心的計算能力尚不能有效滿足其需求,人為設置的數據和任務布局并不能很好地依據各中心具體的資源提供能力進行優化,實現數據與計算任務的協同布局和調度將有利于此類應用的高效運行;氣象預報類應用涉及廣泛的數據源,其類型多、分布廣,且時效性要求高,同樣受到廣域網帶寬和路由的限制,數據跨域訪問性能較低,實現跨廣域的多源數據聚合處理也將有利于提高此類應用的性能和時效性。
具體來講,數據空間應滿足如下4個方面大型應用的要求。
(1)支持跨域存儲資源統一管理和訪問
由于國家高性能計算環境中存儲資源廣域分散且隔離自治,系統無法對跨域存儲資源進行有效的管理和統一訪問,導致各數據中心數據的重復存儲以及多超算中心無法協同處理數據。大型應用迫切需要將分散的存儲資源聚合為全局數據空間,并提供跨域統一管理和訪問能力。
(2)支持廣域數據共享
在高性能計算環境中廣域數據無法共享,這導致資源閑置、重復建設,數據空間需要提供能夠有效整合分散自治、廣域隔離的存儲資源,匯聚各超算中心開放的數據,為用戶提供跨多個節點提取數據的能力,為應用提供一站式的數據共享服務。
(3)支持存儲與計算協同調度
由于高性能計算環境中的存儲與計算無法高效協同,廣域范圍內的計算任務和數據難以實現合理分布,需要設計并開發虛擬數據空間與現有國家高性能計算環境軟件的接口,以支持虛擬數據空間與國家高性能計算環境的對接,通過技術集成形成虛擬數據空間系統,提供能夠透明實現多節點聚合的機制,且能根據計算特征和數據布局來控制任務與數據的節點選擇,從而實現存算協同。
(4)支持跨域多源數據聚合處理
為了提升典型數據訪問模式的跨域訪問能力,需要能對數據空間與應用之間的I/O中間層進行優化、對跨域多源高并發數據進行高效聚合處理的方法來有效支持大型計算應用。因此,大型計算問題亟須聚合廣域分散的存儲資源,形成跨域的高性能計算數據空間,以滿足大型計算問題在規模、性能和資源利用率上的要求。
此外,從使用者角度考慮,還應該具備如下跨域分布式存儲系統的基本功能。
● 可跨廣域環境進行基本的存儲操作,且符合文件系統的標準可移植操作系統接口(protable operating system interface of UNIX, POSIX協議),如重命名、修改、增加、刪除等。
● 可訪問廣域環境中的數據集及其子集,且符合文件系統的標準POSIX協議。
● 可在廣域環境中統一瀏覽文件目錄,且有權限限制。
● 可將數據共享給指定的其他或所有用戶。
● 可將單個或多個數據源數據按需存儲到一個或多個超算中心,且能統一瀏覽和訪問。
● 可依據數據訪問特性進行優化的全局資源分配與數據放置。
針對上述大型計算問題對數據空間的要求,筆者在跨域虛擬數據空間的模型、體系結構、資源聚合、管理和訪問等方面開展了研究,突破了廣域分散自治存儲資源聚合、帶寬約束下數據高效可靠遷移、計算與數據跨域協同調度、高并發數據流聚合處理等關鍵技術,形成了完整的虛擬數據空間系統,并已經在國家高性能計算環境中對該系統進行了初步部署和應用驗證。

圖1 虛擬數據空間模型
4.1.1 虛擬數據空間模型
針對廣域分散、自治異構的底層存儲資源,以及種類繁多、需求各異的上層大型應用,通過分析數據分布需求和應用的數據訪問特征,抽象底層存儲資源的分布形式,將虛擬數據空間提煉為主體、服務、空間、資源四要素,并構建了多層級的數據空間模型,如圖1所示。
各要素的定義及形式化描述如下。
● 主體:數據空間服務的對象(如個體用戶、群組用戶、全體用戶及其應用),主體可通過服務的形式使用虛擬數據空間的資源。
● 服務:面向主體提供的各種功能服務,如用戶管理、區域管理、空間管理、權限管理、訪問控制、數據共享、數據遷移等。
● 空間:對分散自治的存儲資源依次進行物理聚合、局部聚合、全局聚合形成的全局虛擬數據空間。
● 資源:廣域分散、隔離自治的存儲資源。
4.1.2 虛擬數據空間表示方法
基于上述虛擬數據空間模型,對虛擬數據空間進行層次化表示,形成虛擬數據空間的層次化模型,主要包括資源層、空間層、服務層、主體層,如圖2所示。
● 資源層:包含各超算中心的存儲資源,存儲資源分布在不同的地理位置上,且通常具有異構性。
● 空間層:通過對底層廣域分散的存儲資源依次采用物理存儲資源聚合、局部存儲資源聚合、全局存儲資源聚合,最終形成全局虛擬數據空間。
● 服務層:提供使用虛擬數據空間存儲資源所需的基本功能,主要包括用戶管理、區域管理、空間管理、權限管理、訪問控制、數據共享、數據遷移等,并通過統一接口以服務形式對外提供。
● 主體層:主要包含用戶及其應用(如數值模擬、大數據、人工智能等典型應用),可通過接口使用虛擬數據空間提供的各種服務。
4.1.3 虛擬數據空間軟件體系結構
基于本文提出的模型和表示方式,將虛擬數據空間體系結構相應地設計為資源層、空間層、服務層、主體層4個層次,如圖3所示。
● 資源層:處于最底層,主要提供用于構建虛擬數據空間的物理存儲資源。該層包含廣域分布的存儲資源,存儲資源分布于不同地理位置的超算中心之中。
● 空間層:位于資源層之上,通過聚合底層廣域分散的存儲資源,形成全局數據空間。該層依次采用物理存儲資源聚合、局部存儲資源聚合、全局存儲資源聚合等資源聚合方法,實現廣域存儲資源的逐層聚合;同時,采用全局名字空間節點高可用方法實現全局元數據關鍵組件的高可用。
● 服務層:提供虛擬數據空間基本服務,如數據區域劃分和管理提供按需區域劃分服務;區域空間分配和管理提供區域映射和空間分配服務;區域隔離和權限管控提供區域隔離和數據安全保障;數據訪問優化通過元數據訪問優化和遠程數據緩存提升元數據和數據的訪問性能;數據訪問帶寬聚合服務用來優化頻繁訪問數據的廣域布局,以提高帶寬利用率;數據遷移共享通過優化應用I/O與遷移速率、多源與多數據遷移性能提高數據遷移與共享效能;安全可靠傳輸機制提供構造可靠遷移協議和高效安全遷移服務;存算協同調度提供數據傳輸、放置及任務布局協同的全局作業調度服務;訪問接口服務為不同應用對虛擬數據空間的統一訪問提供命令行和文件視圖兩種接口使用方式,并提供數據聚合處理框架和并行I/O庫,以優化大型應用常用的高級I/O接口,并支持復雜數據處理模式,提升數據訪問性能。
● 主體層:主要包含各類用戶及其應用,如天氣預報模式、生物信息學、目標協同識別等典型應用,應用可通過調用服務層提供的服務功能,在全局虛擬數據空間中使用資源層中的廣域分布存儲資源。

圖2 虛擬數據空間的層次化表示

圖3 虛擬數據空間體系結構
4.1.4 虛擬數據空間系統關鍵技術
在本文建立的虛擬數據空間理論和模型的指導下,重點從跨域虛擬數據空間模型及構建方法、虛擬數據空間中數據的共享與遷移方法、國家高性能計算環境中的虛擬數據空間運行支撐技術、面向典型應用的虛擬數據空間驗證與優化技術4個層面開展研發工作,研發了一套面向高性能計算環境的廣域數據存儲與共享的技術體系和功能體系,具體涉及的關鍵技術如圖4所示。
(1)跨域虛擬數據空間構建方法
針對廣域分散存儲資源的統一管理和高效訪問需求,筆者依據虛擬數據空間理論模型,將廣域分散自治的存儲資源抽象為層次化模型,從本地、局域、廣域3個層級進行聚合,構建與本地數據空間一致且能可靠地統一訪問與管理的跨域虛擬數據空間,并定制化個人、群組、全局多級數據分區安全可靠共享,優化跨域元數據與數據服務能力,以解決跨域分散存儲資源的統一管理和高效訪問問題,有效發揮資源聚合效應。相比國外同類典型系統的相關技術,本文的跨域虛擬數據空間構建方法比OneData增加了管理數據的高可用能力,比Gfarm增加了管理數據高可用和數據區域劃分能力,比CalvinFS增加了數據區域劃分、跨域數據共享和賬號安全管理能力。在性能測試中,基于本文方法構建的跨域資源聚合層軟件模塊在聚合訪問本地單設備存儲資源、本地單超算中心局部存儲資源和跨廣域全局存儲資源方面,分別可達到直接訪問存儲資源時性能的96%、86.73%和84.3%;客戶端元數據時延比基于最近最少使用(least recently used,LRU)的替換策略、基于目錄(directory-directed prefetching,DDP)的預取策略、基于概率圖(variant probability graph,VPG)的預取策略、基于Apriori關聯規則算法的預取策略和基于語義距離算法的預取策略分別減少27.8%、32.5%、19.37%、24.96%、22.17%的平均訪問時間[23];維護數據一致性的開銷比Raft-log減少42 ms;每秒查詢數(quer ies-per-second,QPS)比Raft-log提升36倍,也優于MaterSlave和Tintri等系統,并且通過數據副本的優化布局,本地副本命中率達到68%,遠程副本訪問率下降至32%[24]。

圖4 高 性能計算虛擬數據空間關鍵技術
(2)廣域環境中的數據高效遷移方法
針對大規模高性能計算數據跨域遷移中的帶寬受限問題,筆者研發了可突破廣域帶寬受限的數據高效遷移方法,將網絡擁塞控制過程抽象為可部分觀察的馬爾可夫決策過程,以動態凸包和迭代加權混洗方法來決策多遷移任務的調度和傳輸帶寬分配,以多TCP流、流水線、并發傳輸等形式遷移數據,滿足了廣域帶寬受限下的數據高效遷移需求,可有效跨域遷移數據。相比國外同類典型系統的相關技術,本文的廣域環境中的數據高效遷移方法基于廣域非專用網絡,比Gfarm和CalvinFS增加了數據可靠安全遷移能力,比GPFS增加了數據區域劃分和多副本能力;相比于盤古系統,本文方法的跨廣域數據遷移性能提升2.96倍。實驗表明,文件越大,本文方法的傳輸性能越好,小文件的傳輸性能也不低于網絡傳輸性能的35%,且網絡吞吐量可提高兩倍以上。
(3)廣域環境中的存算協同調度方法
針對廣域環境中計算任務與存儲資源的協同調度需求,筆者研發了廣域環境中計算任務與存儲資源的聯動調度方法,將各中心資源聚合為虛擬隊列,按計算任務和數據分布情況、集群隊列排隊情況進行歸一化,并根據時間成本來決策計算作業與存儲資源的協同調度,以有效發揮計算與存儲資源的聯動效應。實驗結果表明,本文的廣域環境中的存算協同調度方法可有效地提升資源使用率和計算作業的調度性能[25]。相比國外同類典型系統,本文方法創造性地提供了高性能計算環境中存儲和計算資源的協同調度及布局能力。
(4)跨域高并發數據聚合處理技術
針對虛擬數據空間中的資源異構、數據流高并發且多源等特征,筆者研發了面向跨域高并發數據流模式的數據聚合處理技術,以代理方式跨域訪問元數據,以高并發異步亂序數據流的細粒度任務調度形式匯聚跨域多源高并發數據流,優化面向跨域環境的I/O接口,滿足了跨域作業的高效執行需求,可有效發揮虛擬數據空間對大型應用跨域運行的支撐能力。相比國外同類典型系統,上層應用可基于本文提供的多副本和廣域環境中的存算協同調度能力,跨域高并發訪問多源數據,實現數據聚合處理。相較于相關技術,上層應用的遠程數據請求率可減少38%~71%,命中率比自適應替換緩存(adjustable replacement cache,ARC)和預取方法提升20.7%和28.8%,文件創建的吞吐率提升17%~93%,執行時間減少37%。
4.2.1 虛擬數據空間系統架構
在關鍵技術研究的基礎上,筆者研發了面向高性能計算的虛擬數據空間系統GVDS,技術上覆蓋了虛擬數據空間模型和體系結構、分散資源聚合方法、端到端數據傳輸方法、存儲與計算協同調度方法、跨節點數據聚合的I/O接口優化等20多項關鍵技術,功能上覆蓋了全局數據空間、跨域數據存儲、數據區域劃分、多副本等10多項重要功能。系統的總體架構如圖5所示。
筆者設計了高性能計算虛擬數據空間系統的操作界面,包括Web和命令行,如圖6所示。
Web界面展示了運算時間、輸入輸出帶寬、容量信息、服務器、節點數量、用戶數量、總體容量等信息,以及部署的節點分布情況。命令行界面包括41條命令,如賬戶注冊命令、區域注冊命令、空間映射增加命令、管理員審批命令、用戶區域查詢命令等,命令的接口見表1。

圖5 虛擬 數據空間系統的總體架構
相較國際同類領先系統,GVDS具備更完整的技術體系和功能。在技術體系上,該系統覆蓋了數據空間模型、跨域空間構建、廣域數據共享等20項關鍵技術,形成了完整的技術體系;在核心功能上,該系統與對標系統相比,有所超越,涵蓋了全局名字空間、跨域數據共享、多數據副本等10項重要功能,形成了完整的功能體系,見表2。

表1 命令接口

表2 GVDS 與國際同類系統的功能對比
所實現的虛擬數據空間符合文件系統的POSIX標準,可通過mount命令直接掛載,并支持多種異構文件系統,目前測試通過的文件系統包括Lustre、Ceph、GPFS、Gluster、MooseFS、ParaStore等符合POSIX標準的文件系統。目前,GVDS已在國家高性能計算環境的6個廣域節點上部署,可管理PB級的跨域存儲資源,并在典型計算應用上進行了示范應用。初步測試表明,在關鍵性能上,與對標系統相比,該系統具有較大優勢,跨域寫數據和讀數據性能分別是對標系統的1.3倍和1.6倍。
4.2.2 國家高性能計算環境部署
目前,筆者研發的系統已和國家高性能計算環境初步對接,虛擬數據空間與計算環境的訪問接口采用REST風格的API,提供基于HTTP的國家高性能計算環境訪問接口,包括集群節點、環境應用、環境隊列等接口,為計算服務平臺中的各類服務提供虛擬數據空間數據的查詢、訪問和傳輸。部署環境包括3個國家超級計算中心(國家超級計算廣州中心、國家超級計算濟南中心、國家超級計算長沙中心)、兩個國家網格主節點(中國科學院計算機網絡信息中心(中國國家網格北方主節點)、上海超級計算中心(中國國家網格南方主節點))。另外,也在北京航空航天大學完成部署,形成了跨廣域6個節點測試驗證環境。部署情況如圖7所示。
所有節點各部署一個管理節點,2~3個I/O代理節點,以及一套Lustre文件系統。目前,所部署的驗證環境已經匯聚1.57 PB存儲空間,匯聚的各中心資源見表3。

圖7 系統部署情況

表3 目前部署環境已聚合的存儲資源
目前,所研發的Web界面也被集成到中國國家網格門戶網站“聚合資源運行支撐環境”AROSE平臺中,可以通過AROSE平臺進入虛擬數據空間系統的Web界面。AROSE平臺集成如圖8所示。
為了驗證虛擬數據空間對應用的支撐效果,筆者在實驗床上開展了典型場景和應用的測試驗證工作。典型場景包括數據區域的定制化共享、遠程大數據集的按需隨機訪問、廣域分布數據的多中心協同處理、工作流作業的透明數據處理4 類,典型應用包括生物信息學應用、跨域目標協同識別、天氣預報模式等。驗證方案如圖9所示,主要驗證全局統一視圖、存儲計算協同、廣域數據共享等重要的特色功能。
截至目前,已經驗證了生物信息學方面的分子對接應用、全基因組關聯分析應用,以及天氣預報模式應用,跨域目標協同識別應用還在部署中。具體應用情況如下。
(1)分子對接應用
分子對接應用一般基于高通量計算框架來搜尋與受體大分子具備最佳結合模式的配體小分子,配體小分子則來自多個數據中心的用戶共享數據集。針對此場景,在筆者研發的虛擬數據空間系統中,分子對接應用可透明地實現多中心數據聚合能力,將所有分子數據從邏輯上聚合起來,給用戶提供統一的數據視圖,直接以文件系統的形式訪問不同中心的數據,同時也可以利用存算聯動機制將計算任務合理分發到對應數據所在的超算中心,以減少數據遷移,實現計算結果的自動規約。具體驗證情況如
圖10所示。
該應用在驗證環境中的4個節點上部署,驗證結果表明,吞吐率達到了單個節點的3.07倍,有效提升了分子對接應用的執行效率。

圖8 AROSE 平臺集成
(2)全基因組關聯分析應用

圖9 驗證方案

圖10 分子對接應用驗證
全基因組關聯分析需要處理大規模數據,計算過程中會使用多個計算工具,產生大量階段性計算的中間文件。單個分析數據文件達數百兆,且與基因測序深度和測序人數相關,深度越大,人數越多,數據量越大,一般在幾百TB到PB級。實驗所用基因數據測序深度為0.1×時,實驗中用到的平均單個基因文件約為260 MB,測序100萬人的基因組就需要處理100萬個基因文件,數據量達幾百TB。若將測序深度提高到1×,則數據量可達PB級。此外,分析過程中用到的多個計算工具之間也不可避免地會產生中間文件,用于計算工具銜接和避免程序崩潰,從而在程序崩潰時不必重啟全部計算。這就使得在原有數據規模的基礎上,文件量又成倍地增加。如此大量的文件訪問使得元數據服務器極易擁堵,因為在分布式文件系統中,相比對象存儲服務器,元數據服務器更容易成為瓶頸。針對此場景,筆者在部署環境上進行了相關實驗,具體如圖11所示。
測試中,虛擬數據空間為超算中心的生物數據庫建設提供了支撐,一方面匯聚了各超算中心用戶提供的開放數據,可供更多科研工作者共享;另一方面為應用提供了跨多個超算中心提取數據的能力,并針對一些特定的數據查詢、匹配操作,采用存算協同機制,將計算任務分發到多個超算中心,以提高并發性。
(3)天氣預報模式應用
天氣研究與預報(weather research and forecasting,WRF)模型是典型的中尺度天氣預報模式和同化系統,屬于計算密集型應用,數據量小,但計算量大,需持續將數據輸入計算中心,而將各氣象站數據以文件傳輸方式匯聚到計算中心是一項繁雜的工作。此外,為了更精確地預測氣候變化,模式的精度和分辨率需求也在不斷提高,這使得模式的計算量大幅增加。
驗證中采用基于嵌套降尺度的WRF應用,在需要計算的區域嵌套多層、多塊不同分辨率的網格,細網格通過相鄰粗網格根據細化率進行局部加密得到,從而將中心A和中心B的計算時間重疊,縮短整體計算時間,以更好地利用各中心的閑置資源,協同完成大尺度、高分辨率的天氣預報,具體如圖12所示。
虛擬數據空間的全局虛擬視圖可將多采集點數據邏輯匯聚到虛擬數據空間,各時序任務從虛擬數據空間獲取數據。在交互時,從虛擬數據空間查看所需數據的生成及完整性,傳統模式則通過ssh遠程查詢。通過虛擬數據空間訪問遠程數據,數據的遷移和讀取可由系統自動完成,基于系統提供的存算調度能力,也可以自適應地選擇數據向任務遷移,或者任務向數據遷移,以提高資源利用率,避免跨廣域的通信開銷。

圖11 全基因組關聯分析
為了驗證虛擬數據空間系統的可靠性,筆者還開展了性能綜合測試,測試模式如圖13所示。以國家超級計算濟南中心為中心,從國家超級計算長沙中心、國家超級計算廣州中心、上海超級計算中心和中國科學院計算機網絡信息中心以總負載壓力超過1 GB/s的多類型負載壓力對國家超級計算濟南中心進行了為期25天的不間斷訪問。
測試采用FIO、DD等壓力測試工具,從廣域網中不同超算中心的多個客戶端產生混合負載,不間斷訪問遠程中心,測試結果如圖14所示。

圖12 天氣預報模式應用
測試中,中國科學院計算機網絡信息中心到國家超級計算濟南中心的吞吐量穩定在105 MB/s左右,上海超級計算中心到中國科學院計算機網絡信息中心為50 MB/s左右,國家超級計算長沙中心到上海超級計算中心為35 MB/s左右,這是因為節點對間的物理帶寬不一樣。測得的節點對間廣域網帶寬如圖15所示。

圖13 測試模式

圖14 穩定性測試

圖15 節點對間的廣域網帶寬
由于筆者研發的系統也提供了自適應數據緩存、按需遠程訪問、數據塊級訪問等能力,而且也對廣域網通信做了大量并發通信方面的優化,測試結果基本上能保持在物理帶寬附近。這一方面表明在高負載壓力和長時間運行過程中,系統仍然能夠較好地保證可靠性和吞吐量的穩定性;另一方面也表明系統在數據訪問和廣域網帶寬優化等方面的關鍵技術行之有效。
本文設計的虛擬數據空間系統架構在國家高性能計算環境中,可統一管理和利用國家高性能計算環境計算和存儲資源。目前,虛擬數據空間已部署并匯聚了國家高性能計算環境5個超算中心的存儲資源,通過統一名字空間進行統一管理。此外,也可在計算時通過存算聯動策略選擇最佳的用戶計算策略,并通過虛擬數據空間對用戶的計算作業和數據進行調度,從而實現對國家高性能計算環境的資源匯聚及提升。
基于本文研究成果,預期可有效提高跨中心協同工作的效率,并推動國家高性能計算環境中大型應用跨域計算模式的發展,同時提高全系統的資源利用率。無虛擬數據空間下的數據訪問方式(即當前的跨域文件訪問方式)如圖16所示。

圖16 當前的跨域文件訪問方式
目前對于跨廣域環境的基本文件操作,一般通過FTP、U盤郵寄、網絡文件系統、ssh訪問等方式實現,導致數據傳輸量大、時延大,且需要用戶手動通過多個賬號與各個超算中心進行連接和登錄。基于本文的虛擬數據空間,則可以通過一站式登錄遠程訪問并執行與本地訪問一致的操作,同時也可實現存儲和計算的協同調度及數據和作業合理全局放置,如圖17所示。
例如,在刑偵、安防等大型應用中,搜尋和追蹤一個目標時往往涉及跨地域的多計算中心和多數據源,利用虛擬數據空間實現的多中心數據聚合能力,可以給用戶提供統一的數據視圖,并通過存儲計算協同機制將計算任務合理分發到對應數據所在的中心,以減少數據遷移,實現計算結果的自動規約。

圖17 基于虛擬數據空間的應用訪問與計算模式
本文針對國家高性能計算環境中聚合廣域分散存儲資源的技術短板及大型計算應用對跨域全局虛擬數據空間的現實需求,建立了一套可用于構建廣域全局虛擬數據空間的完整技術體系,研發了一個可運行于國家高性能計算環境的虛擬數據空間系統。該成果從核心技術層面解決了長期困擾我國高性能計算環境發展的廣域存儲管理訪問瓶頸問題,填補了我國在廣域分散存儲資源統一管理和跨域訪問方面的技術空白,為在國家高性能計算環境中建立跨域虛擬數據空間提供了技術手段和應用經驗。對于推動完善我國自主高性能計算環境軟件技術體系,支撐建設資源共享、統一管理、高效協同的國家高性能計算環境,促進我國高性能計算環境自主可控和可持續發展具有重要意義。
筆者的下一步工作是進一步提升國家高性能計算環境的部署規模和系統的功能擴展,并開展用戶推廣和宣傳工作,推動研究成果與現有國家高性能計算環境的深度融合,高效聚合廣域分散資源,充分發揮資源聚合效應,有效支撐大型計算應用,促進我國高性能計算環境及應用的可持續發展。
致謝
感謝國家重點研發計劃“高性能計算虛擬數據空間”項目團隊的各位老師和同學,以及為項目研發提供指導的各位項目專家。