亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        GVDS:面向廣域高性能計(jì)算環(huán)境的虛擬數(shù)據(jù)空間

        2021-03-22 10:55:58肖利民宋堯秦廣軍周漢杰王超波韋冰魏巍霍志勝
        大數(shù)據(jù) 2021年2期
        關(guān)鍵詞:存儲(chǔ)資源廣域副本

        肖利民,宋堯,秦廣軍,周漢杰,王超波,韋冰,魏巍,霍志勝

        1. 北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,北京 100191;2. 軟件開(kāi)發(fā)環(huán)境國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100191;3. 北京聯(lián)合大學(xué)智慧城市學(xué)院,北京 100101;4. 西安理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,陜西 西安 710048

        1 引言

        國(guó)家高性能計(jì)算環(huán)境擁有大量的計(jì)算與存儲(chǔ)資源。根據(jù)中國(guó)國(guó)家網(wǎng)格(CNGrid)發(fā)布的《國(guó)家高性能計(jì)算環(huán)境發(fā)展報(bào)告(2002—2017年)》,截至2017年年底,我國(guó)國(guó)家網(wǎng)格節(jié)點(diǎn)單位達(dá)到19家,聚合計(jì)算資源超過(guò)200 PFlops,總存儲(chǔ)資源超過(guò)178 PB。然而這些節(jié)點(diǎn)地理位置分散,如何發(fā)揮資源聚合效應(yīng)并統(tǒng)籌使用這些廣域資源一直是國(guó)家高性能計(jì)算環(huán)境發(fā)展面臨的一個(gè)挑戰(zhàn)性問(wèn)題。網(wǎng)格技術(shù)[1]常被用于解決此類(lèi)廣域資源聚合問(wèn)題。網(wǎng)格技術(shù)能夠?qū)⒕W(wǎng)絡(luò)上松散的計(jì)算與存儲(chǔ)資源聚合起來(lái),隱藏資源的異構(gòu)性,并最終向用戶(hù)呈現(xiàn)一個(gè)虛擬的超級(jí)計(jì)算機(jī)。當(dāng)前CNGrid[2-3]中的計(jì)算資源已可做到全局調(diào)度使用,然而存儲(chǔ)資源仍處于廣域分散且隔離自治的狀態(tài),未能實(shí)現(xiàn)統(tǒng)一管理和共享訪問(wèn)。當(dāng)研究人員需要跨機(jī)構(gòu)協(xié)同工作以及分享大規(guī)模的數(shù)據(jù)文件時(shí),通常需要通過(guò)網(wǎng)格的數(shù)據(jù)傳輸工具將與計(jì)算任務(wù)相關(guān)的輸入文件傳輸?shù)接?jì)算中心內(nèi)部的存儲(chǔ)集群中。在計(jì)算任務(wù)執(zhí)行完成后,超算用戶(hù)需要顯式指定計(jì)算任務(wù)的輸出文件來(lái)完成計(jì)算結(jié)果的回傳。因此,現(xiàn)存的基礎(chǔ)設(shè)施依然無(wú)法提供簡(jiǎn)單有效的數(shù)據(jù)訪問(wèn)與共享模式。

        科學(xué)計(jì)算應(yīng)用通常需要依賴(lài)外部數(shù)據(jù)文件,而其輸入數(shù)據(jù)時(shí)常來(lái)源于多個(gè)超級(jí)計(jì)算中心(以下簡(jiǎn)稱(chēng)為超算中心)。以全基因組關(guān)聯(lián)分析應(yīng)用為例,其不同機(jī)構(gòu)的基因庫(kù)位于不同的超算中心,主應(yīng)用位于某一個(gè)超算中心,當(dāng)執(zhí)行全基因組關(guān)聯(lián)分析任務(wù)時(shí),主應(yīng)用需要訪問(wèn)多個(gè)超算中心的基因庫(kù),并劃分出多個(gè)作業(yè)。每個(gè)作業(yè)都只需要訪問(wèn)基因庫(kù)中所有文件的某一個(gè)文件片段,并進(jìn)行關(guān)聯(lián)分析。這種情況下,數(shù)據(jù)跨域分散且隔離自治未得到有效匯聚,難以實(shí)現(xiàn)對(duì)該應(yīng)用數(shù)據(jù)的有效管理和共享,無(wú)法充分發(fā)揮多個(gè)超算中心并發(fā)處理海量數(shù)據(jù)的能力,導(dǎo)致各超算中心數(shù)據(jù)的重復(fù)存儲(chǔ)以及較低的數(shù)據(jù)處理效率。此外,現(xiàn)有的跨域存儲(chǔ)系統(tǒng)和訪問(wèn)方法不適用于廣域高性能計(jì)算環(huán)境。因此,當(dāng)前國(guó)家高性能計(jì)算環(huán)境亟須聚合廣域分散的存儲(chǔ)資源,以形成全局統(tǒng)一的數(shù)據(jù)空間,在此基礎(chǔ)上,針對(duì)用戶(hù)和應(yīng)用對(duì)數(shù)據(jù)空間的多樣化訪問(wèn)需求進(jìn)行分區(qū)管理、共享和隔離,并在廣域環(huán)境中提供數(shù)據(jù)空間的高效訪問(wèn)??山y(tǒng)一管理和高效訪問(wèn)的全局?jǐn)?shù)據(jù)空間的形成主要面臨如下挑戰(zhàn):

        ● 當(dāng)前國(guó)家高性能計(jì)算環(huán)境存儲(chǔ)資源廣域分散且隔離自治,缺乏適用于廣域高性能計(jì)算環(huán)境,能屏蔽底層文件系統(tǒng)異構(gòu)性,并支持統(tǒng)一管理、分區(qū)共享及視圖隔離的全局?jǐn)?shù)據(jù)空間;

        ● 在帶寬受限且高時(shí)延的廣域環(huán)境下,難以實(shí)現(xiàn)高效的遠(yuǎn)程數(shù)據(jù)訪問(wèn),難以滿(mǎn)足廣域分布數(shù)據(jù)訪問(wèn)需求。

        針對(duì)上述挑戰(zhàn),本文提出了虛擬數(shù)據(jù)空間構(gòu)建方法及數(shù)據(jù)訪問(wèn)性能優(yōu)化方法,并實(shí)現(xiàn)了一個(gè)面向廣域高性能計(jì)算環(huán)境的、訪問(wèn)模式統(tǒng)一且高效的全局虛擬數(shù)據(jù)空間(global virtual data space,GVDS)。GVDS是一個(gè)跨域分布式存儲(chǔ)系統(tǒng),單個(gè)GVDS實(shí)例可以直接部署到超算中心,并且通過(guò)與其他超算中心中的GVDS實(shí)例協(xié)作來(lái)實(shí)現(xiàn)存儲(chǔ)資源的聚合。用戶(hù)或計(jì)算節(jié)點(diǎn)通過(guò)運(yùn)行在用戶(hù)空間的GVDS實(shí)例,可以以POSIX文件訪問(wèn)接口的模式訪問(wèn)由跨域分散的異構(gòu)存儲(chǔ)資源聚合而成的數(shù)據(jù)空間。GVDS隱藏了數(shù)據(jù)傳輸過(guò)程,簡(jiǎn)化了多超算中心間數(shù)據(jù)訪問(wèn)與調(diào)度的模式。

        本文的主要貢獻(xiàn)包括以下兩個(gè)方面。

        ● 設(shè)計(jì)了一個(gè)面向廣域高性能計(jì)算環(huán)境的全局虛擬數(shù)據(jù)空間系統(tǒng)——GVDS。GVDS隱藏了底層存儲(chǔ)訪問(wèn)接口、廣域網(wǎng)鏈路、數(shù)據(jù)副本等的差異與復(fù)雜性,提供統(tǒng)一接口,以輕松管理、共享和訪問(wèn)跨域分散在多個(gè)超算中心的存儲(chǔ)資源。

        ● 設(shè)計(jì)了高效的廣域網(wǎng)遠(yuǎn)程數(shù)據(jù)訪問(wèn)機(jī)制,通過(guò)通信優(yōu)化、數(shù)據(jù)預(yù)讀與緩存、數(shù)據(jù)副本等技術(shù)有效提升了數(shù)據(jù)文件的實(shí)時(shí)訪問(wèn)速度。

        2 相關(guān)工作

        Lustre[4]、Ceph[5]和GPFS[6]等文件系統(tǒng)能夠在本地?cái)?shù)據(jù)中心內(nèi)實(shí)現(xiàn)統(tǒng)一訪問(wèn)和數(shù)據(jù)共享,其向上隱藏了分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)調(diào)度的復(fù)雜性,使得數(shù)據(jù)訪問(wèn)和共享就像使用本地文件系統(tǒng)一樣容易。但是在廣域高性能計(jì)算環(huán)境中,此類(lèi)問(wèn)題變得更加復(fù)雜,系統(tǒng)的用戶(hù)往往來(lái)自不同的地域和機(jī)構(gòu),因此需要整合跨域分散的異構(gòu)存儲(chǔ)資源,并對(duì)其進(jìn)行統(tǒng)一管理和訪問(wèn)。

        針對(duì)跨域異構(gòu)資源聚合和統(tǒng)一管理及訪問(wèn)問(wèn)題,目前已有許多關(guān)于廣域存儲(chǔ)系統(tǒng)的研究工作。點(diǎn)對(duì)點(diǎn)技術(shù)在網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)[7-12]解決廣域數(shù)據(jù)訪問(wèn)和共享問(wèn)題上發(fā)揮了重要作用。這些存儲(chǔ)系統(tǒng)通常基于一致性哈希進(jìn)行數(shù)據(jù)分區(qū)[13],在分區(qū)節(jié)點(diǎn)內(nèi)采用鍵值結(jié)構(gòu)組織目錄樹(shù)。此類(lèi)系統(tǒng)去中心化的架構(gòu)設(shè)計(jì)使其避免了單點(diǎn)瓶頸,并且還具有較小的集群擴(kuò)容代價(jià)與縮容代價(jià)。不過(guò)此類(lèi)架構(gòu)難以被直接應(yīng)用于廣域高性能計(jì)算環(huán)境,因其采用一致性哈希隨機(jī)地決定文件的放置位置,而忽視了文件之間的關(guān)聯(lián)性以及用戶(hù)的訪問(wèn)成本。WAS(Windows Azure storage)[14]是一種兼具高可用、安全、可伸縮性和可靠性的云存儲(chǔ)系統(tǒng)。其基于共享口令的文件訪問(wèn)授權(quán)使用戶(hù)之間極易共享數(shù)據(jù)。然而WAS不支持差量更新,即使僅覆寫(xiě)了文件的一小部分,也需要將整個(gè)文件全量上傳到遠(yuǎn)程數(shù)據(jù)中心,因此會(huì)導(dǎo)致巨大的網(wǎng)絡(luò)和磁盤(pán)開(kāi)銷(xiāo)。近年來(lái),部分研究人員提出了關(guān)于面向分布式計(jì)算和高性能計(jì)算的廣域文件系統(tǒng)的構(gòu)想。Lustre-WAN[15]是嘗試將并行文件系統(tǒng)部署到廣域的方案。實(shí)驗(yàn)結(jié)果表明,它可以在100 Gbit/s專(zhuān)線網(wǎng)絡(luò)上提供較高的聚合訪問(wèn)性能。然而其局限在于要求所有數(shù)據(jù)中心部署相同的文件系統(tǒng),即Lustre。Gfarm[16]是一個(gè)廣域分布式文件系統(tǒng),由一個(gè)元數(shù)據(jù)節(jié)點(diǎn)、多個(gè)數(shù)據(jù)節(jié)點(diǎn)組成,同樣提供了易用的廣域數(shù)據(jù)訪問(wèn)接口。然而Gfarm存在單點(diǎn)故障問(wèn)題,即元數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)的網(wǎng)絡(luò)故障會(huì)導(dǎo)致整個(gè)系統(tǒng)崩潰。CalvinFS[17]是一種基于廣域副本的高可用廣域分布式文件系統(tǒng)。CalvinFS利用分布式數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行元數(shù)據(jù)管理,并以數(shù)據(jù)塊為建立副本的基本單元。但CalvinFS使用鍵值的方式組織元數(shù)據(jù),并將文件或目錄的絕對(duì)路徑作為鍵,因此遞歸的目錄操作可能會(huì)導(dǎo)致性能顯著下降。OneData[18]是一種用于全局?jǐn)?shù)據(jù)存儲(chǔ)和共享的解決方案,它是PL-Grid Plus[19]項(xiàng)目的一部分。OneData引入了Space和Provider的概念,以隱藏?cái)?shù)據(jù)廣域分布的復(fù)雜性。Space是用戶(hù)數(shù)據(jù)存儲(chǔ)的載體,Provider是提供存儲(chǔ)資源的組織機(jī)構(gòu),每個(gè)Space可以由一個(gè)或多個(gè)Provider保存。然而OneData的目錄樹(shù)操作會(huì)被映射為大量的NoSQL操作,導(dǎo)致其數(shù)據(jù)庫(kù)面臨極大的負(fù)載壓力,從而成為性能瓶頸。全局聯(lián)合文件系統(tǒng)(global federated file system,GFFS)[20]是美國(guó)國(guó)家科學(xué)基金會(huì)的極限科學(xué)與工程發(fā)現(xiàn)環(huán)境(extreme science and engineering discovery environment,XSEDE)項(xiàng)目中用于聚合廣域分散自治存儲(chǔ)資源的全局聯(lián)合文件系統(tǒng)。與OneData緊密的元數(shù)據(jù)管理不同,GFFS通過(guò)一種松散的頂層元數(shù)據(jù)組織實(shí)現(xiàn)了異構(gòu)存儲(chǔ)資源的聚合,這種資源聚合形式支持個(gè)人計(jì)算機(jī)、大學(xué)校園存儲(chǔ)集群、云存儲(chǔ)等多種來(lái)源的存儲(chǔ)資源便捷地接入GFFS。GFFS的元數(shù)據(jù)分多級(jí)管理,即頂層元數(shù)據(jù)集中式管理,存儲(chǔ)集群上的元數(shù)據(jù)分散自治管理。因此,GFFS訪問(wèn)流程中單一的頂層元數(shù)據(jù)服務(wù)器可能會(huì)成為瓶頸,導(dǎo)致訪問(wèn)性能受限。

        針對(duì)大數(shù)據(jù)稀疏問(wèn)題,參考文獻(xiàn)[21]在基于異構(gòu)眾核的超級(jí)計(jì)算機(jī)上,從主存儲(chǔ)器訪問(wèn)、進(jìn)程間/節(jié)點(diǎn)間通信、并行化和負(fù)載均衡等方向開(kāi)展了對(duì)存儲(chǔ)資源訪問(wèn)性能的優(yōu)化方法研究,但廣域環(huán)境因其受限的網(wǎng)絡(luò)帶寬和高訪問(wèn)時(shí)延為數(shù)據(jù)訪問(wèn)性能帶來(lái)了挑戰(zhàn)。為了提升對(duì)廣域環(huán)境中存儲(chǔ)資源的訪問(wèn)能力,歐洲數(shù)據(jù)網(wǎng)格(EU data grid,EUDG)[22]、開(kāi)放網(wǎng)格服務(wù)基礎(chǔ)設(shè)施(open grid services infrastructure,OGSI)[23]等網(wǎng)格計(jì)算系統(tǒng)中應(yīng)用了大量I/O優(yōu)化手段。遺憾的是,它們最終都沒(méi)有實(shí)現(xiàn)從用戶(hù)本地環(huán)境到網(wǎng)格環(huán)境的完全無(wú)縫和透明。Globus項(xiàng)目中提供了副本定位服務(wù)(replica location service,RLS)[24]、網(wǎng)格文件傳輸協(xié)議(grid file transfer protocol,GridFTP)[25]以及遠(yuǎn)程I/O庫(kù)(remote I/O,RIO)[26]等工具供用戶(hù)高效使用網(wǎng)絡(luò)資源,然而用戶(hù)需要通過(guò)GridFTP顯式地管理和檢查文件狀態(tài)、來(lái)回復(fù)制文件,便捷性較低。作為廣域存儲(chǔ)系統(tǒng)中的常見(jiàn)技術(shù),預(yù)取和緩存是提升元數(shù)據(jù)和數(shù)據(jù)訪問(wèn)性能的重要手段。網(wǎng)絡(luò)文件系統(tǒng)4.1版本(network file system v4.1,vNFS)[27]以數(shù)據(jù)塊為粒度對(duì)數(shù)據(jù)進(jìn)行預(yù)取,當(dāng)應(yīng)用請(qǐng)求的數(shù)據(jù)量小于一個(gè)數(shù)據(jù)塊時(shí),系統(tǒng)預(yù)取整個(gè)數(shù)據(jù)塊,以減少后續(xù)訪問(wèn)的網(wǎng)絡(luò)開(kāi)銷(xiāo)。但在帶寬受限且時(shí)延高的廣域網(wǎng)環(huán)境中,vNFS小粒度地預(yù)取數(shù)據(jù)塊會(huì)導(dǎo)致較大的訪問(wèn)時(shí)延。參考文獻(xiàn)[28]在密集型I/O環(huán)境中提出了一種面向突發(fā)負(fù)載的預(yù)取性能優(yōu)化方法,對(duì)突發(fā)I/O進(jìn)行在線識(shí)別以進(jìn)行數(shù)據(jù)預(yù)取,從而有效地節(jié)省維護(hù)數(shù)據(jù)關(guān)聯(lián)性所需的資源。但此類(lèi)方法大多面向單一類(lèi)型的訪問(wèn)負(fù)載,在混合負(fù)載中無(wú)法有效地識(shí)別訪問(wèn)特征。數(shù)據(jù)副本也是廣域存儲(chǔ)系統(tǒng)中一種常用的訪問(wèn)性能優(yōu)化手段。SPANStore[29]鍵值存儲(chǔ)系統(tǒng)通過(guò)其定位服務(wù)器根據(jù)每個(gè)云平臺(tái)的存儲(chǔ)價(jià)格和負(fù)載狀態(tài)決定文件及其副本存放地址,客戶(hù)端通過(guò)本地云存儲(chǔ)平臺(tái)的元數(shù)據(jù)索引到最近的目標(biāo)副本地址,然后訪問(wèn)該副本,以提升訪問(wèn)性能。然而SPANStore的解決方案是面向云環(huán)境的,其面向云存儲(chǔ)成本的副本策略無(wú)法直接用于高性能計(jì)算環(huán)境。參考文獻(xiàn)[30]針對(duì)邊緣計(jì)算與云計(jì)算協(xié)作場(chǎng)景提出了一種數(shù)據(jù)副本布局策略,在存儲(chǔ)空間有限及最長(zhǎng)數(shù)據(jù)訪問(wèn)時(shí)間約束等限制條件下,通過(guò)啟發(fā)式算法計(jì)算副本放置位置,以降低數(shù)據(jù)訪問(wèn)時(shí)延。但是其中心化、全信息感知的靜態(tài)副本放置策略會(huì)帶來(lái)較大的信息采集開(kāi)銷(xiāo)。而參考文獻(xiàn)[31]采用了一種局部信息感知的副本策略,其中WARP算法基于對(duì)副本一致性維護(hù)開(kāi)銷(xiāo)的分析,通過(guò)感知副本的數(shù)據(jù)寫(xiě)入操作,決定副本的最優(yōu)數(shù)量與位置。但只針對(duì)寫(xiě)操作的感知導(dǎo)致該副本動(dòng)態(tài)布局在讀性能優(yōu)化方面仍存在提升空間。

        綜上所述,在廣域高性能計(jì)算場(chǎng)景中,現(xiàn)有系統(tǒng)都無(wú)法完全滿(mǎn)足對(duì)廣域分布數(shù)據(jù)的統(tǒng)一管理和高效訪問(wèn)需求,因此筆者設(shè)計(jì)并實(shí)現(xiàn)了全局虛擬數(shù)據(jù)空間,以聚合廣域分散異構(gòu)存儲(chǔ)資源,并支持統(tǒng)一且高效的訪問(wèn)模式。

        3 方法和關(guān)鍵技術(shù)

        為了構(gòu)建適用于廣域高性能計(jì)算環(huán)境的全局?jǐn)?shù)據(jù)空間,并實(shí)現(xiàn)對(duì)廣域分布數(shù)據(jù)的統(tǒng)一管理和高效訪問(wèn),本文針對(duì)存儲(chǔ)資源廣域分散且隔離自治的國(guó)家高性能計(jì)算環(huán)境中全局虛擬數(shù)據(jù)空間構(gòu)建問(wèn)題,研究了一套適用于廣域高性能計(jì)算環(huán)境的虛擬數(shù)據(jù)空間構(gòu)建方法,以實(shí)現(xiàn)跨域異構(gòu)存儲(chǔ)資源的統(tǒng)一管理。此外,本文針對(duì)帶寬受限且時(shí)延高的廣域網(wǎng)環(huán)境下的數(shù)據(jù)高效訪問(wèn)問(wèn)題,提出了一套數(shù)據(jù)訪問(wèn)性能優(yōu)化方法,以實(shí)現(xiàn)對(duì)廣域分布數(shù)據(jù)的高效訪問(wèn)。

        3.1 虛擬數(shù)據(jù)空間構(gòu)建方法

        為了構(gòu)建適用于廣域高性能計(jì)算環(huán)境,能屏蔽底層文件系統(tǒng)異構(gòu)性,并支持統(tǒng)一管理、分區(qū)共享及視圖隔離的全局?jǐn)?shù)據(jù)空間,本節(jié)提出了基于廣域分散自治存儲(chǔ)資源的虛擬數(shù)據(jù)空間構(gòu)建方法。該方法需聚合已部署在多個(gè)超算中心中的異構(gòu)存儲(chǔ)資源,形成數(shù)據(jù)空間,并根據(jù)高性能計(jì)算環(huán)境用戶(hù)及應(yīng)用對(duì)數(shù)據(jù)空間的多樣化訪問(wèn)需求進(jìn)行分區(qū)管理、共享和隔離。因此,針對(duì)廣域分散存儲(chǔ)資源聚合問(wèn)題、數(shù)據(jù)的多樣化共享問(wèn)題及用戶(hù)訪問(wèn)控制問(wèn)題3個(gè)子問(wèn)題,研究并建立了一套虛擬數(shù)據(jù)空間構(gòu)建方法。通過(guò)分散自治存儲(chǔ)資源的聚合方法,實(shí)現(xiàn)存儲(chǔ)資源的全局統(tǒng)一邏輯視圖;通過(guò)可定制數(shù)據(jù)區(qū)域劃分和空間分配方法,實(shí)現(xiàn)區(qū)域虛擬視圖,以隱藏?cái)?shù)據(jù)分布的復(fù)雜性,并提供統(tǒng)一的數(shù)據(jù)分區(qū)管理;通過(guò)視圖隔離和訪問(wèn)控制機(jī)制,實(shí)現(xiàn)用戶(hù)及用戶(hù)組之間的數(shù)據(jù)共享和隔離。

        3.1.1 分散自治存儲(chǔ)資源聚合方法

        針對(duì)高性能計(jì)算環(huán)境存儲(chǔ)資源廣域分散、無(wú)法充分發(fā)揮廣域資源聚合效應(yīng)的問(wèn)題,GVDS使用基于全局路徑的名字空間,以實(shí)現(xiàn)廣域分散、自治異構(gòu)存儲(chǔ)資源的聚合。

        GV DS對(duì)廣域分散的存儲(chǔ)資源從本地、局域、廣域3個(gè)層級(jí)進(jìn)行逐層聚合,形成全局統(tǒng)一的名字空間,以支撐分散異構(gòu)存儲(chǔ)資源的聚合管理和統(tǒng)一訪問(wèn)。GVDS基于單機(jī)文件系統(tǒng)和并行文件系統(tǒng)對(duì)存儲(chǔ)資源進(jìn)行本地聚合和局域聚合,并將所有超算中心的存儲(chǔ)資源以存儲(chǔ)集群的粒度映射到管理節(jié)點(diǎn)維護(hù)的存儲(chǔ)資源名字空間中,以進(jìn)行廣域?qū)蛹?jí)資源聚合。如圖1(a)所示,每個(gè)并行文件系統(tǒng)的根目錄都鏈接到全局管理節(jié)點(diǎn)維護(hù)的全局名字空間中的邏輯節(jié)點(diǎn),邏輯節(jié)點(diǎn)的信息和組織關(guān)系被管理節(jié)點(diǎn)記錄在數(shù)據(jù)庫(kù)中,底層存儲(chǔ)集群的幾個(gè)重要屬性,包括資源的通用唯一識(shí)別碼(universally unique identifier,UUID)、超算中心的UUID、已分配容量、已使用容量、可用容量和資源狀態(tài)等,進(jìn)而聚合所有存儲(chǔ)資源,形成全局?jǐn)?shù)據(jù)空間。

        GVDS被部署在多個(gè)超算中心內(nèi),并聚合了Lustre、Gluster、MooseFS等多種并行或分布式文件系統(tǒng)。如圖1(b)所示,GVDS的3層資源聚合方法表現(xiàn)出了良好的聚合性能,以較低的性能損失聚合了廣域分散且自治異構(gòu)的存儲(chǔ)資源,實(shí)現(xiàn)了GVDS的聚合資源管理和統(tǒng)一訪問(wèn)接口。

        圖1 分散自治存儲(chǔ)資源聚合方法

        3.1.2 可定制數(shù)據(jù)區(qū)域劃分和空間分配方法

        廣域分散存儲(chǔ)資源聚合后,針對(duì)數(shù)據(jù)的便捷管理和共享問(wèn)題,GVDS引入了“區(qū)域”與“空間”的概念,以隱藏?cái)?shù)據(jù)分布的復(fù)雜性,并實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一管理和共享。區(qū)域是對(duì)分散數(shù)據(jù)進(jìn)行統(tǒng)一管理和共享的平臺(tái),空間是承載數(shù)據(jù)文件的邏輯實(shí)體,是存儲(chǔ)空間分配、集群映射等的基礎(chǔ)控制單元。一個(gè)區(qū)域通常由多個(gè)空間組成。GVDS區(qū)域劃分和空間分配如圖2所示,GVDS中可構(gòu)建個(gè)人私有區(qū)域、群組共享區(qū)域、全局共享區(qū)域等不同類(lèi)型的區(qū)域,以作為定制化數(shù)據(jù)存儲(chǔ)和共享的基礎(chǔ),而作為分散數(shù)據(jù)的集合體,每個(gè)區(qū)域下設(shè)多個(gè)空間,這些空間被分配至不同超算中心內(nèi)的存儲(chǔ)集群上,作為承載分散數(shù)據(jù)的實(shí)體。例如圖2中,用戶(hù)1可訪問(wèn)個(gè)人私有區(qū)域“用戶(hù)1”、群組共享區(qū)域“高能物理”以及全局共享區(qū)域,而其個(gè)人私有區(qū)域“用戶(hù)1”內(nèi)的數(shù)據(jù)則被分散存儲(chǔ)于超算中心1內(nèi)的存儲(chǔ)集群1-1和超算中心m內(nèi)的存儲(chǔ)集群m-1上的不同空間內(nèi)。

        GVDS通過(guò)構(gòu)建區(qū)域,讓用戶(hù)視圖在區(qū)域粒度實(shí)現(xiàn)隔離,從而隱藏全局?jǐn)?shù)據(jù)空間的管理復(fù)雜性,而空間創(chuàng)建時(shí)的資源分配被映射為邏輯節(jié)點(diǎn)創(chuàng)建子節(jié)點(diǎn)的操作,進(jìn)而被映射為不同類(lèi)型底層存儲(chǔ)集群的具體操作。如圖2所示,用戶(hù)可以根據(jù)需要自定義多個(gè)區(qū)域,不同科研領(lǐng)域的數(shù)據(jù)集、用戶(hù)的私有數(shù)據(jù)集等均可以存儲(chǔ)至不同區(qū)域中。同時(shí),GVDS允許用戶(hù)將新創(chuàng)建的空間映射到存儲(chǔ)集群的基礎(chǔ)存儲(chǔ)容器中,例如并行文件系統(tǒng)的數(shù)據(jù)目錄。如果用戶(hù)在創(chuàng)建空間時(shí)未指定映射的目錄路徑,則系統(tǒng)會(huì)自動(dòng)根據(jù)存儲(chǔ)集群剩余容量、區(qū)域關(guān)聯(lián)度、用戶(hù)關(guān)聯(lián)度等信息選擇合適的存儲(chǔ)集群節(jié)點(diǎn),并創(chuàng)建一個(gè)新的映射目錄。

        圖2 區(qū)域劃分和空間分配

        GVDS能較好地支持相同類(lèi)型的數(shù)據(jù)存儲(chǔ)在不同的超算中心的場(chǎng)景。例如在氣象預(yù)測(cè)場(chǎng)景中,異地站點(diǎn)收集的測(cè)量數(shù)據(jù)需要被存儲(chǔ)于就近的超算中心,并且進(jìn)行預(yù)處理,因此相同類(lèi)型的數(shù)據(jù)需要被分配到不同的超算中心。區(qū)域和空間的引入可以有效地管理這些地理分布的數(shù)據(jù),如圖2中,用戶(hù)可以為氣象預(yù)測(cè)數(shù)據(jù)創(chuàng)建一個(gè)區(qū)域,然后在該區(qū)域中創(chuàng)建多個(gè)空間,并將空間各自映射到距離站點(diǎn)較近的超算中心,以存儲(chǔ)相關(guān)數(shù)據(jù)。

        GVDS可定制化的數(shù)據(jù)區(qū)域劃分和空間分配滿(mǎn)足了用戶(hù)對(duì)數(shù)據(jù)管理和共享的多樣化需求,可支撐個(gè)人、群組、全局等不同層級(jí)的數(shù)據(jù)管理和共享。此外,GVDS以拓展屬性接口形式提供了擴(kuò)展應(yīng)用程序接口(application programming interface,API),用于獲取空間實(shí)際映射位置信息。這允許高性能計(jì)算環(huán)境中的作業(yè)調(diào)度程序有感知地將作業(yè)調(diào)度到數(shù)據(jù)文件所在的計(jì)算中心,以最大化數(shù)據(jù)局部性,從而降低遠(yuǎn)程數(shù)據(jù)訪問(wèn)或遷移的開(kāi)銷(xiāo)。

        3.1.3 視圖隔離與訪問(wèn)控制機(jī)制

        為了支持GVDS中數(shù)據(jù)的安全共享和隔離,針對(duì)用戶(hù)訪問(wèn)控制問(wèn)題,本節(jié)研究了GVDS中視圖隔離和訪問(wèn)控制機(jī)制。如第3.1.2節(jié)所述,GVDS中的區(qū)域可以在多用戶(hù)之間共享。創(chuàng)建區(qū)域后,該區(qū)域的所有者可以將區(qū)域的訪問(wèn)權(quán)限授予其他用戶(hù)或用戶(hù)組。例如,用戶(hù)可以創(chuàng)建一個(gè)區(qū)域,并向一個(gè)用戶(hù)組授予其對(duì)該區(qū)域的只讀權(quán)限,然后該用戶(hù)組的成員將繼承用戶(hù)組的只讀權(quán)限,并且能夠訪問(wèn)該用戶(hù)的區(qū)域。

        GVDS管理節(jié)點(diǎn)的數(shù)據(jù)庫(kù)中記錄了每個(gè)區(qū)域?qū)τ脩?hù)和用戶(hù)組的訪問(wèn)控制列表權(quán)限。當(dāng)用戶(hù)登錄GVDS客戶(hù)端時(shí),將獲取其可訪問(wèn)的區(qū)域列表,管理節(jié)點(diǎn)將使用N1QL在數(shù)據(jù)庫(kù)中搜尋所有該用戶(hù)可見(jiàn)的區(qū)域。并且客戶(hù)端會(huì)定期向管理節(jié)點(diǎn)發(fā)送區(qū)域請(qǐng)求,以獲取最新的區(qū)域信息。

        GVDS使用一對(duì)多映射模型來(lái)控制訪問(wèn)權(quán)限,一個(gè)GVDS賬號(hào)將會(huì)被映射到多個(gè)超算中心的專(zhuān)屬本地賬號(hào)或者GVDS統(tǒng)一賬號(hào)。如果用戶(hù)賬號(hào)被映射到超算中心專(zhuān)屬本地賬號(hào),則該賬號(hào)名下的所有映射到該超算中心的空間在存儲(chǔ)集群中的所有者等信息都會(huì)變更為專(zhuān)屬賬戶(hù)用戶(hù),基于此,本地超算中心計(jì)算節(jié)點(diǎn)上的GVDS客戶(hù)端即可繞過(guò)I/O代理直接訪問(wèn)空間中的文件。如果用戶(hù)賬戶(hù)被映射到GVDS統(tǒng)一賬戶(hù),則其權(quán)限將采用GVDS的區(qū)域空間權(quán)限管理機(jī)制,通過(guò)管理節(jié)點(diǎn)鑒權(quán)產(chǎn)生的憑證經(jīng)由I/O代理訪問(wèn)相應(yīng)數(shù)據(jù)空間。

        基于視圖隔離和訪問(wèn)控制機(jī)制,GVDS建立了全局一站式權(quán)限控制和認(rèn)證體系,實(shí)現(xiàn)了廣域分散存儲(chǔ)資源的共享和隔離訪問(wèn)。

        3.2 數(shù)據(jù)訪問(wèn)性能優(yōu)化方法

        GVDS聚合了跨域分散且異構(gòu)的存儲(chǔ)資源,形成了統(tǒng)一的虛擬數(shù)據(jù)空間,并面向用戶(hù)和應(yīng)用提供統(tǒng)一的訪問(wèn)接口及便捷的管理和共享。然而,仍需進(jìn)行大量的性能優(yōu)化工作才能滿(mǎn)足用戶(hù)對(duì)廣域分布數(shù)據(jù)高性能、低時(shí)延的訪問(wèn)需求。因此,本節(jié)研究了虛擬數(shù)據(jù)空間中的數(shù)據(jù)訪問(wèn)性能優(yōu)化方法。針對(duì)帶寬受限且時(shí)延高的廣域網(wǎng)環(huán)境下的高效數(shù)據(jù)讀、寫(xiě)及數(shù)據(jù)優(yōu)化布局3個(gè)子問(wèn)題,通過(guò)基于負(fù)載特征的數(shù)據(jù)預(yù)讀方法,實(shí)現(xiàn)高效的數(shù)據(jù)讀?。煌ㄟ^(guò)基于請(qǐng)求合并的回寫(xiě)緩存方法,有效提升數(shù)據(jù)寫(xiě)性能;通過(guò)副本布局及一致性同步方法,實(shí)現(xiàn)數(shù)據(jù)塊副本的廣域優(yōu)化布局及低開(kāi)銷(xiāo)同步。在本節(jié)中,筆者將詳細(xì)描述這些性能優(yōu)化措施。

        3.2.1 基于負(fù)載特征的數(shù)據(jù)預(yù)讀方法

        針對(duì)廣域帶寬受限且數(shù)據(jù)廣域分布場(chǎng)景下的數(shù)據(jù)高效讀取需求,GVDS實(shí)現(xiàn)了基于負(fù)載特征的自適應(yīng)增量預(yù)讀方法,通過(guò)感知訪問(wèn)的帶寬負(fù)載、文件I/O等特征,基于緩存的命中概率動(dòng)態(tài)調(diào)整預(yù)讀塊的長(zhǎng)度,實(shí)現(xiàn)了廣域環(huán)境下多文件海量數(shù)據(jù)的高效訪問(wèn)。

        在讀取數(shù)據(jù)時(shí),如果在客戶(hù)端緩存中找到請(qǐng)求的數(shù)據(jù),即可確認(rèn)讀取完成。而當(dāng)發(fā)生緩存未命中時(shí),則需要通過(guò)與I/O代理聯(lián)系來(lái)讀取請(qǐng)求的數(shù)據(jù)。如圖3(a)所示,GVDS使用文件緩存控制塊來(lái)記錄文件訪問(wèn)特征,并決定是否需要進(jìn)行預(yù)讀以及確定預(yù)讀的步長(zhǎng)。當(dāng)用戶(hù)提交文件讀請(qǐng)求時(shí),文件緩存控制塊會(huì)記錄該文件的歷史訪問(wèn)信息,并根據(jù)其訪問(wèn)的數(shù)據(jù)塊大小、存儲(chǔ)區(qū)地址、歷史預(yù)讀塊及其命中率等信息分析其訪問(wèn)特征。文件訪問(wèn)的隨機(jī)讀和順序讀特征是GVDS預(yù)讀機(jī)制是否發(fā)揮作用的關(guān)鍵,當(dāng)GVDS的預(yù)讀機(jī)制發(fā)現(xiàn)當(dāng)前文件的歷史順序訪問(wèn)數(shù)據(jù)量已經(jīng)超過(guò)預(yù)設(shè)的啟動(dòng)閾值之后,將會(huì)啟動(dòng)預(yù)讀機(jī)制,分配預(yù)讀緩存,并行預(yù)讀若干個(gè)數(shù)據(jù)塊。在預(yù)讀機(jī)制啟動(dòng)后,GVDS預(yù)讀機(jī)制則會(huì)根據(jù)預(yù)讀緩存的命中率進(jìn)行增量預(yù)讀,即在判定預(yù)讀緩存被訪問(wèn)后,自適應(yīng)地增加預(yù)讀數(shù)據(jù)量。此外,預(yù)讀的數(shù)據(jù)量與預(yù)讀步長(zhǎng)正相關(guān),而預(yù)讀步長(zhǎng)則由帶寬壓力和文件I/O特征等負(fù)載特征綜合決定,以平衡系統(tǒng)負(fù)載和數(shù)據(jù)訪問(wèn)性能。其中,帶寬壓力由I/O請(qǐng)求調(diào)度器提供,其與I/O請(qǐng)求調(diào)度器中等待隊(duì)列中的請(qǐng)求數(shù)量成正比,較大的帶寬壓力意味著較大的I/O負(fù)載,此時(shí)預(yù)讀步長(zhǎng)會(huì)自適應(yīng)地減小,以減輕負(fù)載;文件I/O特征則包括文件的預(yù)讀命中率、I/O請(qǐng)求最大吞吐量等,較高的預(yù)讀命中率和較大的I/O請(qǐng)求吞吐量都會(huì)增加預(yù)讀步長(zhǎng),以提升訪問(wèn)性能。

        如圖3(b)、圖3(c)所示,GVDS的數(shù)據(jù)預(yù)讀方法可有效地提升順序讀時(shí)的數(shù)據(jù)訪問(wèn)性能,而隨機(jī)讀取時(shí),面對(duì)讀放大問(wèn)題,GVDS通過(guò)動(dòng)態(tài)訪問(wèn)模式檢測(cè)動(dòng)態(tài)調(diào)整預(yù)讀機(jī)制,從而獲取較低的性能損失。綜上所述,GVDS通過(guò)基于負(fù)載特征的數(shù)據(jù)預(yù)讀方法實(shí)現(xiàn)了廣域環(huán)境中的數(shù)據(jù)高效讀取。

        圖3 基于負(fù)載特征的數(shù)據(jù)預(yù)讀方法

        3.2.2 基于請(qǐng)求合并的回寫(xiě)緩存方法

        在數(shù)據(jù)寫(xiě)入方面,針對(duì)廣域環(huán)境中的數(shù)據(jù)高效寫(xiě)入需求,GVDS實(shí)現(xiàn)了基于請(qǐng)求合并的回寫(xiě)緩存方法。GVDS客戶(hù)端聚合可亂序執(zhí)行的數(shù)據(jù)I/O請(qǐng)求,并通過(guò)回寫(xiě)緩存將虛擬數(shù)據(jù)空間客戶(hù)端提交的數(shù)據(jù)暫時(shí)緩存在本地,由后臺(tái)線程異步提交,進(jìn)而提升遠(yuǎn)程數(shù)據(jù)的寫(xiě)入性能。

        數(shù)據(jù)寫(xiě)入請(qǐng)求將數(shù)據(jù)寫(xiě)入客戶(hù)端緩存而非數(shù)據(jù)源,客戶(hù)端不斷將緩存數(shù)據(jù)刷新回?cái)?shù)據(jù)源。由于可同時(shí)將多個(gè)寫(xiě)入請(qǐng)求發(fā)送到遠(yuǎn)程超算中心內(nèi)部署的I/O代理上,因此GVDS采用異步寫(xiě)方式顯著提高寫(xiě)性能。此外,每個(gè)請(qǐng)求都需要通過(guò)高時(shí)延廣域網(wǎng)絡(luò)通信,這會(huì)帶來(lái)較大的網(wǎng)絡(luò)開(kāi)銷(xiāo),并且對(duì)文件的多個(gè)不連續(xù)部分的訪問(wèn)請(qǐng)求經(jīng)常被交叉提交,因此如圖4(a)所示,在將寫(xiě)請(qǐng)求發(fā)送到I/O代理之前,用戶(hù)級(jí)別的守護(hù)程序會(huì)合并這些請(qǐng)求,以提高I/O性能。

        為了提高并發(fā)請(qǐng)求處理的性能,GVDS客戶(hù)端允許存在多個(gè)線程,以便每個(gè)線程可以獨(dú)立選擇和處理隊(duì)列中的并發(fā)請(qǐng)求。當(dāng)從I/O代理接收到響應(yīng)時(shí),用戶(hù)級(jí)別的守護(hù)程序會(huì)將其寫(xiě)回到用戶(hù)空間文件系統(tǒng)(filesystem in userspace,F(xiàn)USE)[32]的內(nèi)核模塊,然后驅(qū)動(dòng)程序?qū)⒄?qǐng)求標(biāo)記為已完成,并喚醒用戶(hù)進(jìn)程。

        如圖4(b)所示,GVDS請(qǐng)求合并方法能有效地提升小數(shù)據(jù)訪問(wèn)塊時(shí)的寫(xiě)入性能,因?yàn)槠鋵?duì)請(qǐng)求的合并能有效地降低高時(shí)延網(wǎng)絡(luò)通信開(kāi)銷(xiāo)。但是受到FUSE請(qǐng)求切割機(jī)制的約束,在數(shù)據(jù)訪問(wèn)塊大于64 KB時(shí),請(qǐng)求合并方法將無(wú)明顯的性能優(yōu)化。此外,GVDS基于請(qǐng)求合并的回寫(xiě)緩存方法能從整體上保持較高的遠(yuǎn)程數(shù)據(jù)寫(xiě)入性能。

        圖4 基于請(qǐng)求合并的回寫(xiě)緩存方法

        3.2.3 副本布局及一致性同步方法

        除了對(duì)數(shù)據(jù)讀取和寫(xiě)入進(jìn)行優(yōu)化外,數(shù)據(jù)布局也是提升系統(tǒng)跨域訪問(wèn)性能的重要方法之一。針對(duì)廣域環(huán)境中的數(shù)據(jù)優(yōu)化布局問(wèn)題,GVDS中設(shè)計(jì)并實(shí)現(xiàn)了一種數(shù)據(jù)塊粒度的多副本機(jī)制及副本間的一致性同步方法,以?xún)?yōu)化數(shù)據(jù)在廣域環(huán)境中的布局,并實(shí)現(xiàn)低開(kāi)銷(xiāo)的副本同步。

        首先,GVDS基于負(fù)載特征感知實(shí)現(xiàn)副本的動(dòng)態(tài)布局。如圖5(a)所示,GVDS基于本地超算采集的I/O負(fù)載特征來(lái)預(yù)估并構(gòu)建以訪問(wèn)時(shí)延為收益的計(jì)算模型,并結(jié)合對(duì)副本異地更新I/O負(fù)載的感知來(lái)決策副本的創(chuàng)建與布局。為了避免負(fù)載特征的采集給I/O代理帶來(lái)過(guò)大的開(kāi)銷(xiāo),客戶(hù)端維護(hù)其本地打開(kāi)的遠(yuǎn)程文件的歷史訪問(wèn)請(qǐng)求統(tǒng)計(jì)信息,并周期性地提交給I/O代理的負(fù)載特征度量子系統(tǒng)。GVDS副本動(dòng)態(tài)布局策略能夠憑借有限時(shí)間窗口內(nèi)的局部數(shù)據(jù)訪問(wèn)信息、歷史積累的目錄及文件訪問(wèn)模式統(tǒng)計(jì)量對(duì)文件的負(fù)載特征進(jìn)行識(shí)別,并根據(jù)識(shí)別到的數(shù)據(jù)負(fù)載特征實(shí)現(xiàn)副本動(dòng)態(tài)布局。圖5(b)表明,GVDS中的副本布局方法能有效地提升廣域環(huán)境中的文件訪問(wèn)性能。

        數(shù)據(jù)布局執(zhí)行后,如何以較低的同步開(kāi)銷(xiāo)保證副本數(shù)據(jù)間的一致性是GVDS面臨的重要挑戰(zhàn)之一。GVDS針對(duì)廣域環(huán)境中副本空間的目錄樹(shù)同步問(wèn)題和并發(fā)寫(xiě)的一致性問(wèn)題,分別采用了漸進(jìn)一致性保證的目錄樹(shù)同步方法和因果一致的副本數(shù)據(jù)索引同步方法。

        圖5 負(fù)載特征感知的副本動(dòng)態(tài)布局方法

        副本空間內(nèi)目錄樹(shù)的一致性是存儲(chǔ)系統(tǒng)需要滿(mǎn)足的基本屬性和首要保證。如圖6(a)所示,GVDS采用了一種適用于廣域網(wǎng)環(huán)境的副本空間目錄樹(shù)同步架構(gòu)。其通過(guò)沖突檢測(cè)識(shí)別或預(yù)判廣域網(wǎng)絡(luò)中目錄樹(shù)節(jié)點(diǎn)的并行沖突狀態(tài),通過(guò)為節(jié)點(diǎn)消息同步選擇漸進(jìn)一致性保證的同步模型中強(qiáng)一致或者弱一致的同步信道,最終達(dá)成了較強(qiáng)的一致性以及高性能訪問(wèn)的目的。GVDS中目錄樹(shù)的漸進(jìn)一致性同步模型將I/O代理劃分到兩種不同一致性強(qiáng)度的共識(shí)組,將單中心內(nèi)的I/O代理節(jié)點(diǎn)劃分為域內(nèi)共識(shí)組,負(fù)責(zé)中心內(nèi)的目錄樹(shù)副本狀態(tài)同步。域內(nèi)共識(shí)組中的一個(gè)特殊節(jié)點(diǎn)會(huì)被指派為邊緣I/O代理,參與到GVDS系統(tǒng)的跨域共識(shí)組中??缬蚬沧R(shí)組負(fù)責(zé)維護(hù)跨廣域網(wǎng)多個(gè)超算中心的副本空間內(nèi)的目錄樹(shù)的一致性,所有對(duì)跨域副本空間的目錄樹(shù)修改操作都會(huì)由域內(nèi)共識(shí)組的邊緣節(jié)點(diǎn)發(fā)起并提交。

        圖6 副本空間一致性保證

        對(duì)于數(shù)據(jù)并發(fā)寫(xiě)的一致性問(wèn)題,GVDS采用一種因果一致的副本數(shù)據(jù)索引同步方法。如圖6(b)所示,GVDS通過(guò)I/O請(qǐng)求邏輯時(shí)間戳對(duì)訪問(wèn)請(qǐng)求進(jìn)行定序,并基于多版本區(qū)段樹(shù)的數(shù)據(jù)索引方法解決索引更新請(qǐng)求亂序到達(dá)的沖突問(wèn)題,實(shí)現(xiàn)了副本數(shù)據(jù)并發(fā)寫(xiě)的因果一致性。保證因果一致的I/O請(qǐng)求邏輯時(shí)間戳主要由版本矢量、機(jī)器時(shí)間戳以及源超算中心3個(gè)值構(gòu)成。其中,版本矢量用于標(biāo)記請(qǐng)求之間的因果依賴(lài)關(guān)系,機(jī)器時(shí)間戳以及源超算中心的ID號(hào)用于為I/O請(qǐng)求提供全序關(guān)系,以在因果一致性模型的并行更新時(shí)解決沖突。此外,I/O代理節(jié)點(diǎn)會(huì)為目標(biāo)副本文件構(gòu)建多版本區(qū)段樹(shù),并通過(guò)樹(shù)的版本回滾來(lái)解決網(wǎng)絡(luò)包亂序到達(dá)導(dǎo)致的并發(fā)沖突。

        如圖7所示,相對(duì)于訪問(wèn)廣域中的數(shù)據(jù)空間,在應(yīng)用副本布局及一致性同步方法時(shí),GVDS能實(shí)現(xiàn)低時(shí)延的副本空間訪問(wèn)。綜上所述,GVDS通過(guò)優(yōu)化的副本布局實(shí)現(xiàn)了廣域數(shù)據(jù)的高效訪問(wèn),并在多副本之間形成了低開(kāi)銷(xiāo)的有效同步。

        4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        4.1 GVDS軟件體系結(jié)構(gòu)

        GVDS中引入了用戶(hù)、用戶(hù)組、區(qū)域、空間等實(shí)體,以實(shí)現(xiàn)對(duì)廣域分散存儲(chǔ)資源的聚合、共享與隔離。GVDS實(shí)體關(guān)系如圖8所示。

        每個(gè)GV DS用戶(hù)都對(duì)應(yīng)一個(gè)包含基本權(quán)限信息、組關(guān)系和區(qū)域空間列表的GVDS賬戶(hù),例如在圖8中,用戶(hù)3與區(qū)域1和區(qū)域2關(guān)聯(lián),即區(qū)域1、區(qū)域2對(duì)用戶(hù)3可見(jiàn)。用戶(hù)組由多個(gè)用戶(hù)組成,用于進(jìn)行批量的數(shù)據(jù)共享和訪問(wèn)權(quán)限控制,組的權(quán)限將被其成員用戶(hù)繼承,例如在圖8中,用戶(hù)1和用戶(hù)2是同一用戶(hù)組的成員,因此用戶(hù)1和用戶(hù)2將繼承用戶(hù)組對(duì)區(qū)域1的訪問(wèn)權(quán)限。區(qū)域可以隱藏?cái)?shù)據(jù)訪問(wèn)的復(fù)雜性,并簡(jiǎn)化數(shù)據(jù)共享過(guò)程,用戶(hù)數(shù)據(jù)在區(qū)域級(jí)別共享,用戶(hù)通過(guò)加入?yún)^(qū)域來(lái)獲取某些領(lǐng)域或者科研機(jī)構(gòu)所共享的數(shù)據(jù)集。空間用于隱藏?cái)?shù)據(jù)位置映射的復(fù)雜性,并簡(jiǎn)化對(duì)數(shù)據(jù)的訪問(wèn),是保存用戶(hù)數(shù)據(jù)的邏輯容器及數(shù)據(jù)調(diào)度和副本控制的一級(jí)單位。創(chuàng)建空間時(shí),調(diào)度程序會(huì)根據(jù)存儲(chǔ)集群剩余容量、區(qū)域關(guān)聯(lián)度、用戶(hù)關(guān)聯(lián)度等信息將空間映射到合理的超算中心??臻g的存儲(chǔ)資源由超算中心的I/O代理提供。如在圖8中,區(qū)域1中含有空間1和空間2兩個(gè)空間,空間1和空間2分別存儲(chǔ)于超算中心1和超算中心2中,并分別由部署于兩個(gè)超算中心的I/O代理1和I/O代理2提供訪問(wèn)支持,同時(shí)I/O代理2還支持區(qū)域2下的空間3。

        圖7 副本空間與廣域空間的訪問(wèn)性能對(duì)比

        圖8 GVDS 實(shí)體關(guān)系

        圖9 GVDS 軟件體系結(jié)構(gòu)

        GV D S 軟件體系結(jié)構(gòu)如圖9 所示。GVDS管理節(jié)點(diǎn)中的模塊提供對(duì)存儲(chǔ)資源的管理功能,并使用分布式數(shù)據(jù)庫(kù)維護(hù)控制信息,包括存儲(chǔ)資源狀態(tài)、用戶(hù)與組成員信息、區(qū)域信息與空間信息、I/O代理拓?fù)鋱D等信息,該數(shù)據(jù)庫(kù)部署在每個(gè)超算中心,并且彼此同步。I/O 代理節(jié)點(diǎn)向廣域網(wǎng)暴露存儲(chǔ)資源的訪問(wèn)接口。GV DS客戶(hù)端從GV DS入口點(diǎn)獲取超算中心的拓?fù)鋱D,并且以網(wǎng)絡(luò)連接質(zhì)量為標(biāo)準(zhǔn),對(duì)所有超算中心進(jìn)行排序。GVDS客戶(hù)端會(huì)優(yōu)先選擇同一超算中心的GVDS管理節(jié)點(diǎn)實(shí)例,其次選擇網(wǎng)絡(luò)距離最近的超算中心管理節(jié)點(diǎn)實(shí)例。GVDS客戶(hù)端向管理節(jié)點(diǎn)拉取用戶(hù)身份認(rèn)證、用戶(hù)可訪問(wèn)的區(qū)域及空間等信息。經(jīng)由管理節(jié)點(diǎn)身份驗(yàn)證的客戶(hù)端有權(quán)訪問(wèn)GVDS廣域環(huán)境中的所有I/O代理節(jié)點(diǎn),并且從其名下的空間讀寫(xiě)文件數(shù)據(jù)。在數(shù)據(jù)訪問(wèn)過(guò)程中,客戶(hù)端會(huì)將客戶(hù)端視圖的邏輯文件路徑轉(zhuǎn)換為GVDS全局資源路徑,該全局資源路徑最終在I/O代理中被轉(zhuǎn)化為實(shí)際資源存儲(chǔ)路徑。GVDS 客戶(hù)端基于FUSE 構(gòu)建POSIX訪問(wèn)接口,將P O S I X 語(yǔ)義的請(qǐng)求轉(zhuǎn)換為GV D S 語(yǔ)義的請(qǐng)求,并發(fā)送到I/O 代理端數(shù)據(jù)訪問(wèn)模塊處理,實(shí)現(xiàn)統(tǒng)一訪問(wèn)接口。此外,GVDS客戶(hù)端的預(yù)讀和緩存機(jī)制及I/O代理節(jié)點(diǎn)中的副本機(jī)制將優(yōu)化廣域環(huán)境中的數(shù)據(jù)訪問(wèn)性能,以實(shí)現(xiàn)高效數(shù)據(jù)訪問(wèn)。

        4.2 系統(tǒng)實(shí)現(xiàn)

        GVDS系統(tǒng)架構(gòu)如圖10所示,GVDS系統(tǒng)可以部署在多個(gè)超算中心內(nèi),基于每個(gè)超算中心內(nèi)的存儲(chǔ)資源構(gòu)建若干個(gè)管理節(jié)點(diǎn)和I/O代理節(jié)點(diǎn)。GVDS客戶(hù)端通常被部署于超算中心內(nèi)的計(jì)算節(jié)點(diǎn)上,也可以被部署在超算中心之外,并通過(guò)廣域網(wǎng)訪問(wèn)超算中心的存儲(chǔ)資源。

        4.2.1 管理節(jié)點(diǎn)

        單個(gè)超算中心需要至少一個(gè)管理節(jié)點(diǎn),管理節(jié)點(diǎn)通過(guò)使用全局知識(shí)構(gòu)建的全局名字空間,極大地簡(jiǎn)化了存儲(chǔ)資源聚合、空間放置決策和I/O代理管理。為了降低管理節(jié)點(diǎn)的負(fù)載,避免管理節(jié)點(diǎn)成為文件訪問(wèn)性能瓶頸,盡量避免其參與到主I/O路徑中。GVDS管理節(jié)點(diǎn)僅維護(hù)用戶(hù)視圖中第一級(jí)區(qū)域和第二級(jí)空間的元數(shù)據(jù)信息,空間下文件的元數(shù)據(jù)全部由空間所映射超算中心的I/O代理維護(hù)。GVDS客戶(hù)端僅在初次訪問(wèn)或者區(qū)域空間的元數(shù)據(jù)緩存超時(shí)時(shí),才會(huì)向管理節(jié)點(diǎn)發(fā)起數(shù)據(jù)訪問(wèn)請(qǐng)求。

        圖10 GVDS 系統(tǒng)架構(gòu)

        客戶(hù)端在訪問(wèn)文件時(shí),會(huì)與管理節(jié)點(diǎn)和I/O代理節(jié)點(diǎn)產(chǎn)生交互。客戶(hù)端請(qǐng)求由管理節(jié)點(diǎn)維護(hù)的區(qū)域和空間信息,獲取與當(dāng)前登錄用戶(hù)關(guān)聯(lián)的區(qū)域和空間信息、集群拓?fù)鋱D等?;趶墓芾砉?jié)點(diǎn)獲取的信息,客戶(hù)端將構(gòu)建一個(gè)由區(qū)域邏輯節(jié)點(diǎn)和空間邏輯節(jié)點(diǎn)組成的兩級(jí)目錄樹(shù)。進(jìn)入?yún)^(qū)域目錄時(shí),客戶(hù)端需要向管理節(jié)點(diǎn)發(fā)送帶有區(qū)域ID的請(qǐng)求,以獲取有關(guān)區(qū)域內(nèi)的空間信息??臻g信息則包含空間全局映射統(tǒng)一資源標(biāo)識(shí)符(uniform resource identifier,URI)、空間權(quán)限信息等,其中空間全局映射URI是存儲(chǔ)用戶(hù)文件的I/O代理入口點(diǎn)。管理節(jié)點(diǎn)動(dòng)態(tài)采集I/O代理的負(fù)載信息,監(jiān)控其健康狀態(tài),并且向客戶(hù)端反饋I/O代理的負(fù)載信息,不可用的I/O代理將會(huì)被管理節(jié)點(diǎn)屏蔽,避免客戶(hù)端數(shù)據(jù)訪問(wèn)超時(shí)對(duì)計(jì)算任務(wù)產(chǎn)生影響??蛻?hù)端可以基于緩存局部性、最低負(fù)載等策略選擇同一超算中心內(nèi)的任意一個(gè)I/O代理訪問(wèn)其空間。

        為了提高可靠性與自治性,GVDS環(huán)境中的每個(gè)超算中心均部署了一個(gè)分布式數(shù)據(jù)庫(kù)實(shí)例。主機(jī)使用Couchbase[33]數(shù)據(jù)庫(kù)系統(tǒng)存儲(chǔ)用戶(hù)、區(qū)域、空間、I/O代理和存儲(chǔ)資源等信息,并且依賴(lài)其跨數(shù)據(jù)中心復(fù)制機(jī)制實(shí)現(xiàn)超算中心間跨域的最終一致的控制信息復(fù)制??蛻?hù)端和I/O代理通常與位于同一超算中心的管理節(jié)點(diǎn)聯(lián)系,以避免廣域網(wǎng)通信的開(kāi)銷(xiāo)。當(dāng)同一超算中心中的管理節(jié)點(diǎn)發(fā)生故障時(shí),客戶(hù)端和I/O代理會(huì)聯(lián)系較近的超算中心的管理節(jié)點(diǎn)。

        4.2.2 I/O代理節(jié)點(diǎn)

        I/O代理節(jié)點(diǎn)為客戶(hù)端提供空間分配的存儲(chǔ)資源的訪問(wèn)接口。I/O代理節(jié)點(diǎn)的挑戰(zhàn)在于保證實(shí)際應(yīng)用的文件操作與客戶(hù)端POSIX語(yǔ)義請(qǐng)求的一致性。例如當(dāng)客戶(hù)端打開(kāi)文件時(shí),需要獲取文件句柄,以進(jìn)行后續(xù)的文件讀取/寫(xiě)入。如果選擇讓I/O代理節(jié)點(diǎn)執(zhí)行同樣的打開(kāi)文件操作、返回文件句柄,并且讓客戶(hù)端在隨后的文件讀寫(xiě)中使用文件句柄作為文件訪問(wèn)入口點(diǎn),這種操作的一一對(duì)應(yīng)反而將造成與實(shí)際效果的不一致。例如,當(dāng)I/O代理負(fù)載平衡、I/O代理句柄過(guò)多自動(dòng)刪除、句柄號(hào)長(zhǎng)時(shí)間未用被回收并被其他客戶(hù)端使用時(shí),都會(huì)發(fā)生因句柄失效而產(chǎn)生的不一致操作。

        而生成GVDS環(huán)境中全局唯一句柄號(hào)的開(kāi)銷(xiāo)過(guò)于龐大,因此I/O代理使用文件路徑打開(kāi)文件,然后執(zhí)行實(shí)際的讀寫(xiě)操作,最后關(guān)閉文件。并且,為了減少文件打開(kāi)帶來(lái)的開(kāi)銷(xiāo)以及文件關(guān)閉引發(fā)的不必要的緩存沖刷操作,I/O代理將文件路徑作為鍵來(lái)緩存文件句柄,采用最近最少使用(least recently used,LRU)策略驅(qū)逐長(zhǎng)期未訪問(wèn)的句柄,并實(shí)際關(guān)閉該文件。

        4.2.3 GVDS客戶(hù)端

        用戶(hù)應(yīng)用程序使用GVDS客戶(hù)端訪問(wèn)文件。GVDS客戶(hù)端基于FUSE向用戶(hù)應(yīng)用程序提供POSIX文件訪問(wèn)接口。它一般被安裝在超算中心內(nèi)的計(jì)算節(jié)點(diǎn)上,用于獲取執(zhí)行計(jì)算時(shí)所需的數(shù)據(jù);或者被安裝在用戶(hù)PC上,用于上傳輸入文件或者瀏覽計(jì)算結(jié)果。GVDS客戶(hù)端在用戶(hù)空間中提供訪問(wèn)服務(wù),與大多數(shù)本地文件系統(tǒng)相似,GVDS提供讀取、寫(xiě)入、刪除文件的操作,以及創(chuàng)建、移動(dòng)和刪除目錄的操作。用戶(hù)應(yīng)用程序使用客戶(hù)端文件視圖中的邏輯文件路徑來(lái)訪問(wèn)文件數(shù)據(jù),而無(wú)須知道文件實(shí)際所處的超算中心。訪問(wèn)文件時(shí),客戶(hù)端將邏輯文件路徑轉(zhuǎn)換為GVDS全局資源路徑,并且根據(jù)文件的全局資源路徑從GVDS環(huán)境拓?fù)鋱D中尋找適合的I/O代理,將POSIX語(yǔ)義的文件訪問(wèn)請(qǐng)求翻譯為GVDS文件訪問(wèn)請(qǐng)求格式,并最終向I/O代理入口點(diǎn)提交請(qǐng)求。

        5 實(shí)驗(yàn)驗(yàn)證

        為了從各個(gè)方面評(píng)估本文提出的系統(tǒng),筆者在國(guó)家高性能計(jì)算環(huán)境以及阿里云環(huán)境中對(duì)GVDS進(jìn)行了實(shí)驗(yàn)驗(yàn)證。在國(guó)家高性能計(jì)算環(huán)境中廣域分布的5個(gè)超算節(jié)點(diǎn)部署了GVDS,并測(cè)試了GVDS的功能及性能。此外,在阿里云中的5個(gè)跨域分布的數(shù)據(jù)中心中部署了GVDS以及流行的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng),以進(jìn)行性能對(duì)比測(cè)試,并驗(yàn)證了GVDS系統(tǒng)在不同環(huán)境中的適用性。

        5.1 功能驗(yàn)證

        在GVDS功能驗(yàn)證方面,在部署的實(shí)驗(yàn)平臺(tái)中開(kāi)展了GVDS典型使用場(chǎng)景測(cè)試驗(yàn)證工作。通過(guò)數(shù)據(jù)區(qū)域的定制化共享、遠(yuǎn)程大數(shù)據(jù)集的按需實(shí)時(shí)訪問(wèn)、廣域分布數(shù)據(jù)的多中心協(xié)同處理等GVDS使用場(chǎng)景,驗(yàn)證GVDS系統(tǒng)全局統(tǒng)一視圖、廣域數(shù)據(jù)共享、遠(yuǎn)程數(shù)據(jù)按需訪問(wèn)、跨域數(shù)據(jù)協(xié)同處理等重要功能。

        (1)典型使用場(chǎng)景1:數(shù)據(jù)區(qū)域的定制化共享

        當(dāng)前高性能計(jì)算環(huán)境中,在數(shù)據(jù)廣域分散、各中心隔離自治的情況下,GVDS提供了一種能滿(mǎn)足用戶(hù)多樣化共享需求的靈活數(shù)據(jù)共享模式。如圖11(a)所示,利用GVDS數(shù)據(jù)區(qū)域管理和權(quán)限管理等功能,可將數(shù)據(jù)區(qū)域定制化共享給個(gè)體用戶(hù)、群組用戶(hù)、全部用戶(hù)等多層級(jí),獲得可靠安全且靈活的數(shù)據(jù)分區(qū)能力。驗(yàn)證情況如圖11(b)所示。

        (2)典型使用場(chǎng)景2:遠(yuǎn)程大數(shù)據(jù)集的按需實(shí)時(shí)訪問(wèn)

        針對(duì)國(guó)家高性能計(jì)算環(huán)境中用戶(hù)對(duì)遠(yuǎn)程大規(guī)模數(shù)據(jù)集的訪問(wèn)需求,現(xiàn)有的訪問(wèn)模式在進(jìn)行跨域訪問(wèn)和管理時(shí)較為困難,甚至需要遠(yuǎn)程遷移整個(gè)數(shù)據(jù)集。GVDS系統(tǒng)可通過(guò)統(tǒng)一文件虛擬視圖,以標(biāo)準(zhǔn)文件訪問(wèn)接口直接跨域訪問(wèn)大數(shù)據(jù)集中的任何數(shù)據(jù),如圖12(a)所示。GVDS系統(tǒng)可按需實(shí)時(shí)訪問(wèn)所需數(shù)據(jù)塊,而不必傳輸整個(gè)大數(shù)據(jù)集。驗(yàn)證情況如圖12(b)所示。

        (3)典型使用場(chǎng)景3:廣域分布數(shù)據(jù)的多中心協(xié)同處理

        隨著科學(xué)和工程問(wèn)題的復(fù)雜化,對(duì)跨域分布數(shù)據(jù)的多中心協(xié)同處理已成為未來(lái)大型應(yīng)用重要的發(fā)展趨勢(shì)。為了滿(mǎn)足上述需求,如圖13所示,GVDS系統(tǒng)基于廣域分布數(shù)據(jù)的全局統(tǒng)一視圖支撐數(shù)據(jù)多中心協(xié)同處理。計(jì)算任務(wù)可以分布于不同的超算中心,并可直接訪問(wèn)分布于不同地點(diǎn)的數(shù)據(jù),數(shù)據(jù)的分布和遷移由GVDS透明地完成。

        圖11 數(shù)據(jù)區(qū)域的定制化共享

        圖12 遠(yuǎn)程大數(shù)據(jù)集的按需實(shí)時(shí)訪問(wèn)

        圖13 廣域分布數(shù)據(jù)的多中心協(xié)同處理

        5.2 性能測(cè)試

        筆者在國(guó)家高性能計(jì)算環(huán)境中進(jìn)行了GVDS系統(tǒng)訪問(wèn)性能和網(wǎng)絡(luò)傳輸帶寬的對(duì)比測(cè)試,采用了4種不同平均帶寬的跨超算中心鏈路進(jìn)行文件讀寫(xiě)壓力測(cè)試,并記錄了GVDS的文件讀寫(xiě)吞吐速率與網(wǎng)絡(luò)傳輸帶寬比值。各超算節(jié)點(diǎn)間的平均網(wǎng)絡(luò)傳輸帶寬分別為中國(guó)科學(xué)院超級(jí)計(jì)算中心(簡(jiǎn)稱(chēng)中科院超算中心)到國(guó)家超級(jí)計(jì)算濟(jì)南中心(簡(jiǎn)稱(chēng)濟(jì)南超算中心)112 125 KB/s、中科院超算中心到上海超級(jí)計(jì)算中心(簡(jiǎn)稱(chēng)上海超算中心)82 083 KB/s、國(guó)家超級(jí)計(jì)算長(zhǎng)沙中心(簡(jiǎn)稱(chēng)長(zhǎng)沙超算中心)到國(guó)家超級(jí)計(jì)算廣州中心(簡(jiǎn)稱(chēng)廣州超算中心)3 887 KB/s、長(zhǎng)沙超算中心到上海超算中心118 KB/s。圖14表明,在多種廣域網(wǎng)絡(luò)鏈路條件下,GVDS文件寫(xiě)入性能平均能達(dá)到約80%的最大網(wǎng)絡(luò)傳輸速率,讀取性能平均能達(dá)到約50%的最大網(wǎng)絡(luò)傳輸帶寬速率。

        此外,在阿里云的5個(gè)數(shù)據(jù)中心進(jìn)行了GVDS與3個(gè)網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的性能對(duì)比測(cè)試。5個(gè)數(shù)據(jù)中心分別位于北京、上海、青島、深圳和成都,每個(gè)中心各創(chuàng)建3~4臺(tái)2xLarge的云服務(wù)器(elastic compute service,ECS)實(shí)例,每臺(tái)實(shí)例擁有廣域網(wǎng)的32 Mbit/s帶寬。將GVDS與以下3個(gè)存儲(chǔ)系統(tǒng)進(jìn)行比較:安全外殼協(xié)議文件系統(tǒng)(secure shell file system,SSHFS)[34]、網(wǎng)絡(luò)文件系統(tǒng)(network file system,NFS)[35]、OneData[19]。筆者使用Fio[36]生成所需類(lèi)型的I/O操作,以評(píng)估所有系統(tǒng)的數(shù)據(jù)訪問(wèn)性能。

        圖15展示了多種存儲(chǔ)系統(tǒng)在廣域環(huán)境中的元數(shù)據(jù)訪問(wèn)性能對(duì)比??梢钥闯?,基于GVDS在元數(shù)據(jù)訪問(wèn)方面的優(yōu)化工作,GVDS的文件創(chuàng)建速度僅次于NFS,且文件刪除速度快于其他網(wǎng)絡(luò)文件系統(tǒng)。此外,GVDS為了優(yōu)化元數(shù)據(jù)訪問(wèn)性能,對(duì)目錄項(xiàng)元數(shù)據(jù)進(jìn)行了預(yù)讀優(yōu)化。這種優(yōu)化在創(chuàng)建或刪除文件等元數(shù)據(jù)操作時(shí)會(huì)有較好的優(yōu)化效果,在列文件目錄操作時(shí)會(huì)導(dǎo)致不必要的開(kāi)銷(xiāo),同時(shí)OneData實(shí)現(xiàn)了元數(shù)據(jù)的自管理推送更新且SSHFS對(duì)目錄項(xiàng)有緩存優(yōu)化,因此GVDS的性能略低于OneData和SSHFS。

        圖14 不同數(shù)據(jù)訪問(wèn)塊大小下的數(shù)據(jù)訪問(wèn)性能

        圖15 不同數(shù)據(jù)訪問(wèn)塊大小下的數(shù)據(jù)順序訪問(wèn)性能

        對(duì)于順序讀、寫(xiě)壓力測(cè)試,單個(gè)壓力器線程以不同的數(shù)據(jù)塊大小順序刷入10 GB的數(shù)據(jù),而單次實(shí)驗(yàn)中,壓力器讀取或?qū)懭氲臄?shù)據(jù)塊的大小是相同的。如圖16(a)所示,對(duì)于數(shù)據(jù)順序?qū)懭?,?dāng)單次寫(xiě)入數(shù)據(jù)塊小于256 KB時(shí),GVDS、SSHFS、OneData的吞吐量要遠(yuǎn)遠(yuǎn)高于NFS。原因在于,寫(xiě)入請(qǐng)求在NFS中串行提交、同步寫(xiě)入,數(shù)據(jù)塊越小時(shí),相同I/O量的網(wǎng)絡(luò)請(qǐng)求數(shù)量越多,而每次寫(xiě)入都需要串行通過(guò)高時(shí)延的廣域網(wǎng)通信,從而導(dǎo)致了NFC較差的寫(xiě)入性能。SSHFS、GVDS和OneData均選擇了回寫(xiě)機(jī)制刷寫(xiě)緩存到遠(yuǎn)程數(shù)據(jù)中心,這有益于提升性能,但是違背了客戶(hù)端同步寫(xiě)入的語(yǔ)義,引入了數(shù)據(jù)丟失的風(fēng)險(xiǎn)。為了解決這個(gè)風(fēng)險(xiǎn),GVDS只對(duì)遠(yuǎn)程數(shù)據(jù)中心或者訪問(wèn)數(shù)據(jù)塊大小小于“帶寬×?xí)r延÷2”的請(qǐng)求進(jìn)行回寫(xiě)緩存,并且當(dāng)應(yīng)用程序開(kāi)啟同步標(biāo)志時(shí),還會(huì)優(yōu)先選擇磁盤(pán)文件作為持久緩存,盡量保證數(shù)據(jù)持久性。與此同時(shí),在塊大小從512 KB增加到4 096 KB的過(guò)程中,NFS的吞吐量顯著增加,并且基本達(dá)到網(wǎng)絡(luò)帶寬瓶頸。從實(shí)驗(yàn)結(jié)果可以看到,GVDS基本具有最佳的寫(xiě)入性能,相比SSHFS和OneData,分別平均高9.94%和49.18%。

        圖16(b)顯示了順序讀取數(shù)據(jù)的實(shí)驗(yàn)結(jié)果。GVDS順序讀性能相比SSHFS、OneData和NFS,分別平均高131.22%、52.84%和35.89%。當(dāng)單次讀取數(shù)據(jù)塊小于256 KB時(shí),GVDS的文件讀取性能一直有較高的優(yōu)勢(shì),這是因?yàn)镚VDS針對(duì)廣域網(wǎng)環(huán)境特性設(shè)計(jì)了鏈?zhǔn)筋A(yù)讀機(jī)制。GVDS依賴(lài)文件的歷史訪問(wèn)負(fù)載特征進(jìn)行預(yù)讀判斷,相比SSHFS以及OneData的固定塊預(yù)讀機(jī)制,能更早地觸發(fā)預(yù)讀,并且兩次預(yù)讀之間沒(méi)有明顯的停頓時(shí)間。當(dāng)塊大小超過(guò)256 KB時(shí),NFS展現(xiàn)出比所有基于FUSE接口的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)更高的吞吐量。這是由于FUSE會(huì)將大塊數(shù)據(jù)讀過(guò)程切分為對(duì)多個(gè)128 KB大小固定塊的串行子過(guò)程,成倍提高了請(qǐng)求的總響應(yīng)時(shí)間以及請(qǐng)求總數(shù)。而NFS的大塊數(shù)據(jù)讀子過(guò)程為并行執(zhí)行,沒(méi)有該缺陷。

        對(duì)于隨機(jī)讀、寫(xiě)壓力測(cè)試,單個(gè)壓力器將1 GB數(shù)據(jù)隨機(jī)寫(xiě)入具有不同塊大小的文件中,或從具有不同塊大小的文件中隨機(jī)讀取數(shù)據(jù)。如圖17(a)所示,隨著塊大小的增加,GVDS、SSHFS與OneData的隨機(jī)寫(xiě)性能沒(méi)有明顯變化,其瓶頸均在于廣域網(wǎng)鏈路帶寬。其原因與順序?qū)懭胂嗤呔捎昧嘶貙?xiě)緩存以加速寫(xiě)入過(guò)程,并且GVDS提供了更強(qiáng)的數(shù)據(jù)持久性。塊大小增加到512 KB后,NFS與其他網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的寫(xiě)入性能基本持平,達(dá)到廣域網(wǎng)鏈路瓶頸。在隨機(jī)寫(xiě)過(guò)程中,由于數(shù)據(jù)塊相互覆蓋的情況以及緩存導(dǎo)致的誤差,GVDS的寫(xiě)入性能在部分測(cè)試項(xiàng)中略微超過(guò)了鏈路最大帶寬。

        圖16 不同數(shù)據(jù)訪問(wèn)塊大小下的數(shù)據(jù)順序訪問(wèn)性能

        圖17 不同數(shù)據(jù)訪問(wèn)塊大小下的數(shù)據(jù)隨機(jī)訪問(wèn)性能

        如圖17(b)所示,當(dāng)數(shù)據(jù)訪問(wèn)塊大小在128 KB以下時(shí),NFS性能與SSHFS相差不大,訪問(wèn)塊大小超過(guò)128 KB以后,由于FUSE的串行子過(guò)程機(jī)制,基于FUSE訪問(wèn)接口的3個(gè)網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)(SSHFS、OneData以及GVDS)表現(xiàn)均劣于NFS。并且在隨機(jī)讀負(fù)載下,預(yù)讀機(jī)制并沒(méi)有發(fā)揮作用,反而擠占了OneData以及GVDS的正常訪問(wèn)流量,導(dǎo)致這兩者的隨機(jī)讀訪問(wèn)性能低于同類(lèi)型的SSHFS。

        綜上所述,在對(duì)廣域分布數(shù)據(jù)的訪問(wèn)性能方面,GVDS在順序讀寫(xiě)和隨機(jī)寫(xiě)性能上優(yōu)于其他主流網(wǎng)絡(luò)文件系統(tǒng),而在隨機(jī)讀性能方面仍存在進(jìn)一步的優(yōu)化空間。

        6 結(jié)束語(yǔ)

        GVDS是為了滿(mǎn)足國(guó)家高性能計(jì)算環(huán)境中對(duì)廣域分布數(shù)據(jù)的統(tǒng)一管理和高效訪問(wèn)需求而設(shè)計(jì)并實(shí)現(xiàn)的跨域分布式存儲(chǔ)系統(tǒng)。GVDS不僅是國(guó)家高性能計(jì)算環(huán)境中提供基礎(chǔ)存儲(chǔ)服務(wù)的工具,還能與CNGrid基礎(chǔ)架構(gòu)進(jìn)行結(jié)合,進(jìn)而豐富其數(shù)據(jù)層面的跨域協(xié)作與資源共享。

        GVDS具有以下優(yōu)點(diǎn)。

        ● 位于異地超算中心的異構(gòu)存儲(chǔ)資源可以被統(tǒng)一管理、共享和訪問(wèn)。由抽象的區(qū)域、空間以及空間內(nèi)部實(shí)際目錄與文件所構(gòu)建的文件系統(tǒng)視圖可以提供透明的跨域數(shù)據(jù)共享與隔離。

        ● 支持文件數(shù)據(jù)按需加載。通過(guò)數(shù)據(jù)塊粒度的數(shù)據(jù)遷移可以從遠(yuǎn)程超算中心加載文件的任意數(shù)據(jù)片段,而不必下載整個(gè)文件,大大減少了通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。

        ● 支持高效的數(shù)據(jù)訪問(wèn)。通過(guò)預(yù)讀、副本等數(shù)據(jù)訪問(wèn)性能優(yōu)化方法可以支撐高效的遠(yuǎn)程數(shù)據(jù)訪問(wèn),而且簡(jiǎn)化了現(xiàn)有的顯式數(shù)據(jù)遷移和部署過(guò)程。

        今后筆者將進(jìn)一步優(yōu)化GVDS的廣域數(shù)據(jù)訪問(wèn)性能,針對(duì)隨機(jī)讀方面存在的問(wèn)題開(kāi)展相關(guān)的優(yōu)化方法研究工作,進(jìn)而使GVDS系統(tǒng)能有效地支撐大型計(jì)算應(yīng)用的高效訪問(wèn)和跨域協(xié)作。

        猜你喜歡
        存儲(chǔ)資源廣域副本
        一種基于區(qū)塊鏈的存儲(chǔ)資源可信分配方法
        面向流媒體基于蟻群的副本選擇算法①
        廣域雷達(dá)信息采集系統(tǒng)應(yīng)用
        副本放置中的更新策略及算法*
        用SSD提升私有云存儲(chǔ)性能
        基于免疫算法的高容錯(cuò)性廣域保護(hù)研究
        樹(shù)形網(wǎng)絡(luò)中的副本更新策略及算法*
        被動(dòng)成像廣域空中監(jiān)視系統(tǒng)綜述
        基于事件的視頻傳輸自適應(yīng)調(diào)節(jié)方法及其應(yīng)用
        基于完全調(diào)節(jié)法的廣域阻尼魯棒H2/H∞控制策略
        久久99免费精品国产| 无遮挡亲胸捏胸免费视频 | 国产国拍亚洲精品午夜不卡17| 天堂视频一区二区免费在线观看| av天堂免费在线播放| 亚洲一区二区三区影院| 亚洲精品国产av成拍色拍| 福利视频一二区| 国产麻豆极品高清另类| 欧美性猛交xxxx乱大交极品| 欧美 丝袜 自拍 制服 另类| 国产精品毛片无码久久| 国产精品农村妇女一区二区三区| 极品美女一区二区三区免费| 欧美寡妇xxxx黑人猛交| 日韩第四页| 日本a一区二区三区在线| 超级乱淫片国语对白免费视频| 国产乱国产乱老熟300部视频| 免费看操片| 亚洲国产精品美女久久久| 看女人毛茸茸下面视频| 国偷自产一区二区免费视频| 亚洲久无码中文字幕热| 一区二区三区少妇熟女高潮| 久久伊人这里都是精品| 一性一交一口添一摸视频| 国产丝袜一区二区三区在线不卡 | 国产精品国产午夜免费福利看| 按摩少妇高潮在线一区| 夜夜爽日日澡人人添| 天码av无码一区二区三区四区 | 亚洲av无码一区二区乱子伦as| 粉嫩国产白浆在线播放| 国产一区二区黄色网页| 精品999日本久久久影院| 国产精选免在线观看| 国产av黄色一区二区| 人妻少妇看a偷人无码| 曰本女人牲交全视频免费播放 | 三级日本理论在线观看|