肖利民,霍志勝
北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,北京 100191
大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化技術(shù)研究進(jìn)展
肖利民,霍志勝
北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,北京 100191
大數(shù)據(jù)存儲(chǔ)系統(tǒng)的I/O性能是影響大數(shù)據(jù)應(yīng)用整體性能的關(guān)鍵因素之一,總結(jié)了當(dāng)前在存儲(chǔ)系統(tǒng)架構(gòu)、元數(shù)據(jù)I/O性能、數(shù)據(jù)I/O性能方面開展的大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化工作,并指出了未來大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化的一些研究方向。
大數(shù)據(jù)存儲(chǔ)系統(tǒng);存儲(chǔ)系統(tǒng)架構(gòu);元數(shù)據(jù)I/O性能;數(shù)據(jù)I/O性能;性能優(yōu)化技術(shù)
大數(shù)據(jù)已成為當(dāng)前IT領(lǐng)域的重點(diǎn)研發(fā)內(nèi)容和產(chǎn)業(yè)發(fā)展方向,我國把應(yīng)對大數(shù)據(jù)問題帶來的機(jī)遇和挑戰(zhàn)提升到了國家戰(zhàn)略層次,國家自然科學(xué)基金、國家重點(diǎn)研發(fā)計(jì)劃等國家科技計(jì)劃設(shè)置專項(xiàng)引導(dǎo)我國大數(shù)據(jù)研發(fā)工作,國務(wù)院頒布《促進(jìn)大數(shù)據(jù)發(fā)展行動(dòng)綱要》推動(dòng)我國大數(shù)據(jù)產(chǎn)業(yè)發(fā)展工作。根據(jù)《自然》雜志對大數(shù)據(jù)及其應(yīng)用的論述,數(shù)據(jù)存儲(chǔ)是大數(shù)據(jù)處理和利用過程中不可或缺的關(guān)鍵環(huán)節(jié)。大數(shù)據(jù)存儲(chǔ)系統(tǒng)是滿足大數(shù)據(jù)應(yīng)用存儲(chǔ)需求的基礎(chǔ)設(shè)施,其輸入/輸出(input/output,I/O)性能直接決定大數(shù)據(jù)存儲(chǔ)效率,是影響大數(shù)據(jù)應(yīng)用整體性能的關(guān)鍵因素。因此,如何提升大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能是當(dāng)前大數(shù)據(jù)領(lǐng)域的研究熱點(diǎn)。
大數(shù)據(jù)存儲(chǔ)系統(tǒng)大多沿用傳統(tǒng)存儲(chǔ)技術(shù)構(gòu)建,甚至大多直接由傳統(tǒng)存儲(chǔ)系統(tǒng)擴(kuò)展或升級而來,在大數(shù)據(jù)應(yīng)用環(huán)境的巨大負(fù)載壓力下,元數(shù) 據(jù)I/O和數(shù)據(jù)I/O性能極易成為大數(shù)據(jù)存儲(chǔ)過程中的性能瓶頸。例如,在大數(shù)據(jù)應(yīng)用環(huán)境中,元數(shù)據(jù)I/O在整個(gè)存儲(chǔ)系統(tǒng)I/O活動(dòng)中占比很高,而支持元數(shù)據(jù)I/O的傳統(tǒng)目錄樹結(jié)構(gòu)組織方式往往是針對小規(guī)模數(shù)據(jù)設(shè)計(jì)的,不適應(yīng)大數(shù)據(jù)應(yīng)用導(dǎo)致的日益龐大的目錄樹規(guī)模,因此,元數(shù)據(jù)I/O極易成為影響存儲(chǔ)系統(tǒng)I/O性能的關(guān)鍵瓶頸。同時(shí),在大數(shù)據(jù)應(yīng)用環(huán)境中,數(shù)據(jù)規(guī)模超過PB級甚至EB級,文件數(shù)量達(dá)到萬億級別,用戶數(shù)量急劇增長,用戶I/O負(fù)載呈現(xiàn)出多樣性特征,且存在數(shù)據(jù)服務(wù)器中數(shù)據(jù)分布不合理、I/O帶寬資源競爭劇烈、小文件大量存在等因素,數(shù)據(jù)I/O同樣容易成為影響存儲(chǔ)系統(tǒng)I/O性能的瓶頸。
為了適應(yīng)和滿足大數(shù)據(jù)應(yīng)用環(huán)境中數(shù)據(jù)存儲(chǔ)的需求,針對當(dāng)前存儲(chǔ)系統(tǒng)中元數(shù)據(jù)I/O和數(shù)據(jù)I/O面臨的性能瓶頸問題,國內(nèi)外學(xué)術(shù)界和工業(yè)界主要從存儲(chǔ)系統(tǒng)架構(gòu)優(yōu)化、元數(shù)據(jù)I/O性能優(yōu)化、數(shù)據(jù)I/O性能優(yōu)化3個(gè)維度開展了大量的大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化工作,如圖1所示。因此,本文首先總結(jié)和分析了當(dāng)前在存儲(chǔ)系統(tǒng)架構(gòu)優(yōu)化方面的工作,包括基于負(fù)載特征的存儲(chǔ)系統(tǒng)架構(gòu)、密集型元數(shù)據(jù)I/O緩存架構(gòu)、基于Flash的存儲(chǔ)系統(tǒng)架構(gòu)、新型元數(shù)據(jù)管理架構(gòu);其次,總結(jié)和分析了當(dāng)前存儲(chǔ)系統(tǒng)元數(shù)據(jù)I/O性能優(yōu)化技術(shù),包括元數(shù)據(jù)搜索、元數(shù)據(jù)查找、元數(shù)據(jù)創(chuàng)建3方面的優(yōu)化技術(shù);再次,總結(jié)和分析了當(dāng)前存儲(chǔ)系統(tǒng)數(shù)據(jù)I/O優(yōu)化技術(shù),包括數(shù)據(jù)I/O的文件級分條方法、數(shù)據(jù)I/O的負(fù)載均衡方法、數(shù)據(jù)I/O的最小化訪問沖突方法、數(shù)據(jù)I/O的寫優(yōu)化技術(shù)、數(shù)據(jù)I/O的緩存容量擴(kuò)展技術(shù)、數(shù)據(jù)I/O的帶寬分配技術(shù)、數(shù)據(jù)I/O的客戶端緩存技術(shù);然后,分析和指出了未來大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化可能的一些研究方向;最后,對全文進(jìn)行了總結(jié)。
在大數(shù)據(jù)應(yīng)用環(huán)境中,當(dāng)前存儲(chǔ)系統(tǒng)架構(gòu)主要面臨如下問題。
● 大數(shù)據(jù)應(yīng)用的負(fù)載特征呈現(xiàn)出多樣性,存儲(chǔ)系統(tǒng)的通用架構(gòu)無法有效應(yīng)對多樣化的負(fù)載,從而造成存儲(chǔ)系統(tǒng)I/O性能的異常起伏。
● 大數(shù)據(jù)應(yīng)用使得元數(shù)據(jù)I/O請求呈現(xiàn)密集型負(fù)載特征,導(dǎo)致元數(shù)據(jù)服務(wù)器I/O帶寬資源的競爭加劇,從而引起元數(shù)據(jù)I/O性能下降。
● 支持元數(shù)據(jù)I/O的傳統(tǒng)目錄樹組織方式是為較小規(guī)模的存儲(chǔ)系統(tǒng)設(shè)計(jì)的,不適應(yīng)大數(shù)據(jù)應(yīng)用中日益龐大的目錄樹規(guī)模,從而限制了元數(shù)據(jù)I/O性能。
● 隨著新型Flash存儲(chǔ)介質(zhì)的大量應(yīng)用,亟需研究新的存儲(chǔ)系統(tǒng)架構(gòu),以充分利用Flash隨機(jī)讀寫性能優(yōu)勢,從而提高存儲(chǔ)系統(tǒng)I/O性能。
針對上述問題,當(dāng)前學(xué)術(shù)界和工業(yè)界從存儲(chǔ)系統(tǒng)架構(gòu)角度出發(fā),開展了大量I/O性能優(yōu)化工作。
圖1 大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化相關(guān)研究工作
在大數(shù)據(jù)應(yīng)用環(huán)境中,存儲(chǔ)系統(tǒng)服務(wù)的I/O負(fù)載通常來自多種類型的大數(shù)據(jù)應(yīng)用,普遍采用“ one-size-fits-all”的存儲(chǔ)系統(tǒng)架構(gòu)設(shè)計(jì),無法很好地滿足大數(shù)據(jù)應(yīng)用負(fù)載對存儲(chǔ)資源訪問的多樣性需求,往往導(dǎo)致底層存儲(chǔ)系統(tǒng)的性能未被充分利用。
在具有不同負(fù)載特征的并發(fā)大數(shù)據(jù)應(yīng)用環(huán)境中,優(yōu)化I/O負(fù)載的性能給存儲(chǔ)系統(tǒng)的架構(gòu)設(shè)計(jì)帶來了新的需求和挑戰(zhàn)。首先,不同類型應(yīng)用對存儲(chǔ)資源的訪問具有多樣性的需求,根據(jù)負(fù)載特征設(shè)計(jì)合理的I/O優(yōu)化策略是滿足存儲(chǔ)需求的必要手段,并且,還需要細(xì)粒度地配置和管理啟用的I/O優(yōu)化策略,而目前的存儲(chǔ)系統(tǒng)如并行虛擬文件系統(tǒng)(parallel virtual file system,PVFS)、 Lustre等只支持文件數(shù)據(jù)分布等少數(shù)優(yōu)化策略。其次,在系統(tǒng)運(yùn)行過程中,針對I/O負(fù)載產(chǎn)生的請求,需要選擇符合其特征的優(yōu)化策略,以滿足相應(yīng)的存儲(chǔ)訪問需求,而現(xiàn)有的存儲(chǔ)系統(tǒng)架構(gòu)主要面向大規(guī)??茖W(xué)計(jì)算應(yīng)用而設(shè)計(jì),難以在優(yōu)化策略的實(shí)現(xiàn)以及I/O請求的處理過程中,區(qū)分I/O負(fù)載的數(shù)據(jù)存儲(chǔ)和訪問方式。最后,存儲(chǔ)系統(tǒng)需要支持在系統(tǒng)不停機(jī)的情況下,根據(jù)負(fù)載特征的變化情況動(dòng)態(tài)調(diào)整處理I/O請求使用的優(yōu)化策略,并保證調(diào)優(yōu)過程中并發(fā)訪問的正確性,而現(xiàn)有的靜態(tài)配置和動(dòng)態(tài)配置方法無法同時(shí)滿足上述需求。
為優(yōu)化存儲(chǔ)系統(tǒng)架構(gòu),使其更好地適應(yīng)負(fù)載多樣性,通常分別從存儲(chǔ)系統(tǒng)架構(gòu)的I/O 高層庫、I/O中間件層、存儲(chǔ)系統(tǒng)層開展相應(yīng)的優(yōu)化,具體如下。
● 基于負(fù)載特征的I/O高層庫優(yōu)化:通常的思路是設(shè)計(jì)一套靈活的 應(yīng)用程序編程接口(application programming interface,API),以支持用戶在運(yùn)行時(shí)描述其復(fù)雜的I/O負(fù)載特征,如非連續(xù)內(nèi)存訪問結(jié)構(gòu)[1]等,從而將應(yīng)用負(fù)載特征傳遞到中間件層和存儲(chǔ)系統(tǒng)層,以便后續(xù)開展針對性優(yōu)化。
● 基于負(fù)載特征的I/O中間件層優(yōu)化:針對大數(shù)據(jù)應(yīng)用存在的請求數(shù)據(jù)量小、非連續(xù)、非對稱等典型負(fù)載特征,在I/O中間件層采取 列表I/O(list I/O)[2]、 數(shù)據(jù)類型I/O (datatype I/ O)[3]、聚集 I/O[4]、 聚集緩存[5]、預(yù)取[6]、數(shù)據(jù)析取[4]、 高性能便攜式MPI-I/O(R OM I/O)[7]、 網(wǎng)絡(luò)文件系統(tǒng)用戶空間遠(yuǎn)程過程調(diào)用協(xié) 議庫(vNFS)[8]等針對性優(yōu)化方法,以提高不同I/O訪問模式的應(yīng)用負(fù)載的I/O性能。
● 基于負(fù)載特征的存儲(chǔ)系統(tǒng)層優(yōu)化:針對不同類型負(fù)載特征,動(dòng)態(tài)調(diào)整和優(yōu)化存儲(chǔ)系統(tǒng)架構(gòu)及其策略,選擇合適的緩存替換策略或配置相應(yīng)的存儲(chǔ)系統(tǒng)優(yōu)化策略[9-15],以提高存儲(chǔ)系統(tǒng)的負(fù)載適應(yīng)性。
在大數(shù)據(jù)應(yīng)用環(huán)境中,存儲(chǔ)系統(tǒng)的數(shù)據(jù)量變得十分龐大,元數(shù)據(jù)的規(guī)模也日益龐大,往往超過 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamic random access memory,DRAM)緩存的容量;同時(shí),大數(shù)據(jù)應(yīng)用的用戶數(shù)量急劇增長,多用戶并發(fā)訪問造成元數(shù)據(jù)I/O呈現(xiàn)密集型負(fù)載特征。這些都造成了元數(shù)據(jù)I/O資源競爭加劇,影響了存儲(chǔ)系統(tǒng)的元數(shù)據(jù)I/O性能。
當(dāng)前互聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用環(huán)境中,用戶數(shù)量的規(guī)模達(dá)到上億級別(例如,百度、淘寶等),在高峰時(shí)期,用戶并發(fā)訪問存儲(chǔ)系統(tǒng)帶來大量的讀寫請求,造成元數(shù)據(jù)服務(wù)器I/O資源的競爭,從而降低存儲(chǔ)系統(tǒng)的整體性能,而Flash存儲(chǔ)介質(zhì)能夠有效提高存儲(chǔ)系統(tǒng)的性能,因此,互聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用大量采用Flash存儲(chǔ)介質(zhì),以提高元數(shù)據(jù)I/O的性能。
為有效應(yīng)對大規(guī)模密集型元數(shù)據(jù)I/O訪問需求,主要的思路是構(gòu)建基于Flash的元數(shù)據(jù)緩存架構(gòu),利用Flash存儲(chǔ)介質(zhì)隨機(jī)讀寫性能的優(yōu)勢,提高大規(guī)模密集型元數(shù)據(jù)I/O性能。同時(shí),為避免密集型元數(shù)據(jù)I/O中寫負(fù)載過重影響 固態(tài)硬盤(solid state drive,SSD)壽命,可通過重構(gòu)文件系統(tǒng)減少元數(shù)據(jù)寫回尺寸,采用 就地更新(inplace)策略降低SSD寫負(fù)載[16-18]。此外,也可利用基于SSD和DRAM協(xié)作式緩存架構(gòu),在盡量延長SSD壽命的同時(shí),提 高元數(shù)據(jù)I/O性能[19]。
當(dāng)前,大部分存儲(chǔ)系統(tǒng)仍采用 硬盤驅(qū)動(dòng)器(hard disk drive,HDD)作為主要存儲(chǔ)介質(zhì),不能有效滿足大數(shù)據(jù)應(yīng)用的I/O性能需求。相比之下,F(xiàn)lash存儲(chǔ)介質(zhì)具有更好的隨機(jī)I/O性能,能夠更好地滿足大數(shù)據(jù)應(yīng)用的I/O性能需求。但是,如果簡單地將Flash加載到存儲(chǔ)系統(tǒng)中,因受傳統(tǒng)存儲(chǔ)架構(gòu)的約束,并不能充分發(fā)揮Flash的隨機(jī)讀寫性能。
在互聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用環(huán)境中,隨著網(wǎng)絡(luò)和硬件設(shè)備技術(shù)的發(fā)展,用戶數(shù)量規(guī)模變得十分龐大,如果存儲(chǔ)系統(tǒng)仍以HDD作為主要的存儲(chǔ)介質(zhì),由于HDD固有的機(jī)械式特性,將難以滿足應(yīng)用的性能需求,造成極大的等待時(shí)延,降低用戶的體驗(yàn)。Flash存儲(chǔ)介質(zhì)具有優(yōu)良的隨機(jī)讀寫性能,能夠提高存儲(chǔ)系統(tǒng)的性能,因此,互聯(lián)網(wǎng)行業(yè)對基于Flash的存儲(chǔ)架構(gòu)進(jìn)行了大量研究。
為使Flash在存儲(chǔ)系統(tǒng)中更好地發(fā)揮其優(yōu)勢,滿足大數(shù)據(jù)I/O性能需求,基本的優(yōu)化思路是設(shè)計(jì)和構(gòu)建基于Flash的存儲(chǔ)系統(tǒng)架構(gòu),針對當(dāng)前存儲(chǔ)系統(tǒng)架構(gòu)中現(xiàn)有協(xié)議未能充分發(fā)揮Flash隨機(jī)讀寫性能優(yōu)勢的問題,研究相應(yīng)的優(yōu)化策略[20-23],例如,利用SSD再使用機(jī)制預(yù)取無效數(shù)據(jù);并行化二次寫以提升寫操作性能;利用追加日志機(jī)制發(fā)揮Flash的隨機(jī)讀寫性能;設(shè)計(jì)基于新型 閃存轉(zhuǎn)換層(Flash translation layer,F(xiàn)TL)接口的Flash存儲(chǔ)系統(tǒng)架構(gòu)等,以發(fā)揮Flash隨機(jī)讀寫性能優(yōu)勢,提高存儲(chǔ)系統(tǒng)I/O性能;基于新型的SSD內(nèi)部管理機(jī)制(如強(qiáng)力控制器、 基于奇偶校驗(yàn)的冗余NIC陣列(RAIN)、電容支持隨機(jī)存取存儲(chǔ)器),降低SSD的 垃圾回收(garbage collection,GC)負(fù)載以提高它的性能,從而提高 存儲(chǔ)系統(tǒng)的I/O性能[24]。
傳統(tǒng)基于目錄樹的元數(shù)據(jù)管理架構(gòu)已被應(yīng)用三十多年,當(dāng)數(shù)據(jù)規(guī)模較小時(shí),能夠有效管理存儲(chǔ)系統(tǒng)的元數(shù)據(jù)。但進(jìn)入大數(shù)據(jù)時(shí)代,目錄樹規(guī)模日益龐大,傳統(tǒng)的目錄樹映射方式、元數(shù)據(jù)組織和管理方式等容易成為制約元數(shù)據(jù)I/O性能提升的瓶頸。
為提升元數(shù)據(jù)I/O性能以滿足大數(shù)據(jù)應(yīng)用需求,當(dāng)前主要從新型目錄樹映射方式、基于數(shù)據(jù)庫的元數(shù)據(jù)組織架構(gòu)兩方面開展元數(shù)據(jù)管理架構(gòu)的優(yōu)化。
● 新型目錄樹映射方式[25]:傳統(tǒng)文件系統(tǒng)采用元數(shù)據(jù)與數(shù)據(jù)一對一的映射方式,不能有效利用時(shí)間負(fù)載局部性特征,限制了文件系統(tǒng)的性能提升,因此,設(shè)計(jì)新型的目錄樹映射方式,采用元數(shù)據(jù)與數(shù)據(jù)一對多的映射方法,能有效提高文件系統(tǒng)的元數(shù)據(jù)I/O性能,同時(shí),利用新型的元數(shù)據(jù)完整性保護(hù)方式 可提高元數(shù)據(jù)I/O的性能[26]。
● 基于數(shù)據(jù)庫的元數(shù)據(jù)組織架構(gòu)[27-29]:采用非結(jié)構(gòu)化數(shù)據(jù)庫組織和管理元數(shù)據(jù),可有效提高元數(shù)據(jù)I/O性能,并且利用基于高速帶寬的分布式數(shù)據(jù)庫進(jìn)行元數(shù)據(jù)管理,還可提高元數(shù)據(jù)管理架構(gòu)的可擴(kuò)展性。
針對大數(shù)據(jù)應(yīng)用的多樣性負(fù)載特征、密集型元數(shù)據(jù)負(fù)載等造成的存儲(chǔ)系統(tǒng)I/O性能問題,學(xué)術(shù)界和工業(yè)界從存儲(chǔ)系統(tǒng)架構(gòu)角度進(jìn)行了大量研究,以優(yōu)化元數(shù)據(jù)I/O和數(shù)據(jù)I/O性能。由于 相變存儲(chǔ)器(phase change memory,PCM)等新型存儲(chǔ)介質(zhì)的出現(xiàn),未來存儲(chǔ)系統(tǒng)還可能采用更多新型存儲(chǔ)介質(zhì)以提高I/O性能。然而,簡單地將這些新型存儲(chǔ)介質(zhì)添加到存儲(chǔ)系統(tǒng)中,受傳統(tǒng)存儲(chǔ)架構(gòu)的約束,往往不能有效發(fā)揮其優(yōu)勢。為充分發(fā)揮新型存儲(chǔ)介質(zhì)的性能,需要研究新型存儲(chǔ)系統(tǒng)架構(gòu),因此,基于新型存儲(chǔ)介質(zhì)的存儲(chǔ)系統(tǒng)架構(gòu)仍會(huì)是當(dāng)前和未來一段時(shí)間的研究熱點(diǎn)。
存儲(chǔ)系統(tǒng)普遍采用目錄樹結(jié)構(gòu)組織文件,即存儲(chǔ)系統(tǒng)將文件分布到不同層次的目錄中進(jìn)行管理,并且按照一定的元數(shù)據(jù)分布算法進(jìn)一步將文件分配到不同的元數(shù)據(jù)服務(wù)器中。這是傳統(tǒng)存儲(chǔ)系統(tǒng)采用的一種元數(shù)據(jù)組織方式,當(dāng)數(shù)據(jù)規(guī)模較小時(shí),是一種高效的元數(shù)據(jù)組織方式。然而,在大數(shù)據(jù)應(yīng)用環(huán)境中,數(shù)據(jù)規(guī)模劇增,文件數(shù)量規(guī)模達(dá)到萬億級別,如果依然采用傳統(tǒng)樹型組織方式,將會(huì)導(dǎo)致文件管理和維護(hù)及獲取文件元數(shù)據(jù)的網(wǎng)絡(luò)交互等開銷不斷增大,從而造成元數(shù)據(jù)I/O性能瓶頸。為此,當(dāng)前學(xué)術(shù)界和工業(yè)界在元數(shù)據(jù)I/O性能優(yōu)化方面開展了大量的研究工作。
元數(shù)據(jù)搜索是大數(shù)據(jù)存儲(chǔ)系統(tǒng)中一種重要的元數(shù)據(jù)訪問活動(dòng)。在大數(shù)據(jù)應(yīng)用環(huán)境中,由于日益增長的文件規(guī)模和傳統(tǒng)的目錄組織結(jié)構(gòu)等矛盾,元數(shù)據(jù)搜索操作會(huì)產(chǎn)生大量的元數(shù)據(jù)訪問,然而,目錄樹的關(guān)鍵路徑瓶頸將使元數(shù)據(jù)服務(wù)器能力未能充分利用,從而嚴(yán)重制約元數(shù)據(jù)搜索性能。
在高性能計(jì)算及互聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用環(huán)境中,相關(guān)大數(shù)據(jù)應(yīng)用需要及時(shí)獲取數(shù)據(jù)進(jìn)行處理,例如,用戶需要通過搜索引擎快速瀏覽網(wǎng)頁。當(dāng)前,存儲(chǔ)系統(tǒng)主要以目錄樹的形式組織網(wǎng)頁數(shù)據(jù),并且,大數(shù)據(jù)應(yīng)用導(dǎo)致目錄樹的規(guī)模十分龐大,搜索整個(gè)目錄空間會(huì)帶來較長的時(shí)延。樹型結(jié)構(gòu)存在關(guān)鍵路徑,關(guān)鍵路徑造成多元數(shù)據(jù)服務(wù)器串行化搜索,降低元數(shù)據(jù)的搜索性能,因此,高性能計(jì)算和互聯(lián)網(wǎng)行業(yè)針對元數(shù)據(jù)搜索進(jìn)行了大量研究。
圍繞提升元數(shù)據(jù)搜索性能的研究主要可分為以下幾類。
● 基于索引結(jié)構(gòu)的元數(shù)據(jù)搜索方法:該類方法通常用于桌面搜索和小規(guī)模企業(yè)文件系統(tǒng)搜索應(yīng)用,這些應(yīng)用程序包含一個(gè)一般性的關(guān)系數(shù)據(jù)庫和一個(gè)倒排索引,它們部署在文件系統(tǒng)之外,作為一個(gè)獨(dú)立的應(yīng)用程序使用[30,31],以彌補(bǔ)文件系統(tǒng)欠缺的快速搜索支持。
● 基于語義分組的元數(shù)據(jù)搜索方法:針對當(dāng)前主流分層文件系統(tǒng)架構(gòu)的限制,采用語義分組相關(guān)性技術(shù)[32,33],通過擴(kuò)展分層結(jié)構(gòu)的方式,從文件中動(dòng)態(tài)提取文件屬性,組成基于屬性語義的虛擬目錄,以加速元數(shù)據(jù)搜索。
● 基于采樣的元數(shù)據(jù)搜索方法: 該類方法是一種快速搜索技術(shù)[34],對目錄樹各分支進(jìn)行采樣打分,通過對分值的判定,快速剪切目錄分支,縮小分層目錄搜索范圍,以加快元數(shù)據(jù)搜索速度。
● 基于事件通知的元數(shù)據(jù)搜索方法[35]:該類方法利用時(shí)間通知機(jī)制,替換出緩存中不活躍的文件,以提高緩存使用率。相比索引結(jié)構(gòu),可減少存儲(chǔ)開銷;相比采樣方法,可提高文件搜索的準(zhǔn)確率。
● 基于多維 Bloom Filter結(jié)構(gòu)的并行搜索方法[36]:該類方法利用多維Bloom Filter結(jié)構(gòu),快速縮小目錄樹搜索范圍,并且通過MapReduce實(shí)現(xiàn)多元數(shù)據(jù)服務(wù)器的并行化搜索,在占用輕量負(fù)載的前提下,快速準(zhǔn)確地獲得元數(shù)據(jù)搜索結(jié)果。
元數(shù)據(jù)查找是大數(shù)據(jù)存儲(chǔ)系統(tǒng)中一種常用的元數(shù)據(jù)訪問活動(dòng),在元數(shù)據(jù)操作中占比很大。在大數(shù)據(jù)應(yīng)用環(huán) 境中,根據(jù)Lustre社區(qū)的估計(jì)[37],單個(gè)存儲(chǔ)系統(tǒng)管理的文件數(shù)量規(guī)??蛇_(dá)到萬億級別,當(dāng)前基于目錄路徑的元數(shù)據(jù)查找方法會(huì)引入大量的內(nèi)存占用開銷,從而導(dǎo)致元數(shù)據(jù)查找性能瓶頸問題。
在高性能計(jì)算的大數(shù)據(jù)應(yīng)用場景中,萬億級別的存儲(chǔ)系統(tǒng)中目錄數(shù)可達(dá)到千億級別,文件查找把文件的路徑信息映射成文件句柄,大多數(shù)的存儲(chǔ)系統(tǒng)采用目錄層次結(jié)構(gòu)來管理文件和目錄,查找一個(gè)文件需要遍歷目錄樹,并且在訪問每層目錄時(shí)進(jìn)行權(quán)限檢查,以禁止未經(jīng)授權(quán)的訪問,通過引入 目錄路徑(directory path,DP)來消除目錄樹的遍歷。然而, 基于DP的方法會(huì)引入大量的內(nèi)存占用開銷,導(dǎo)致存儲(chǔ)系統(tǒng)性能的下降。因此,工業(yè)界和學(xué)術(shù)界針對元數(shù)據(jù)搜索進(jìn)行了大量研究。
圍繞提升元數(shù)據(jù)查找性能的研究主要可分為以下兩類。
● 基于散列的元數(shù)據(jù)查找方法[38-40]:該類方法采用直接散列文件訪問路徑定位文件所在的元數(shù)據(jù)服務(wù)器,使用層次化的Bloom Filter矩陣標(biāo)識文件所在的服務(wù)器,通過 直接散列文件的名字查找對應(yīng)的文件元數(shù)據(jù),利用基于文件全路徑名的散列值定位元數(shù)據(jù)服務(wù)器,可減少遍歷目錄路徑的開銷。
● 基于目錄查找表的元數(shù)據(jù)查找方法[41,42]:該類方法為避免目錄重命名導(dǎo)致的遷移開銷,建立了目錄路徑與標(biāo)識號的一一對應(yīng)關(guān)系,文件的路徑查找直接通過唯一不變的標(biāo)識號定位文件所在目錄的元數(shù)據(jù)服務(wù)器和地址,在修改目錄名時(shí),避免遷移目錄中文件的元數(shù)據(jù),從而提高元數(shù)據(jù)查詢性能。
元數(shù)據(jù)創(chuàng)建是大數(shù)據(jù)存儲(chǔ)系統(tǒng)中一種關(guān)鍵的元數(shù)據(jù)訪問活動(dòng),當(dāng)前在大數(shù)據(jù)應(yīng)用環(huán)境中,大量文件創(chuàng)建操作導(dǎo)致密集的元數(shù)據(jù)創(chuàng)建操作,給元數(shù)據(jù)服務(wù)器造成了很大的資源競爭,因而降低了大數(shù)據(jù)存儲(chǔ)系統(tǒng)的I/O性能。
科學(xué)計(jì)算、商業(yè)計(jì)算等大數(shù)據(jù)應(yīng)用是大數(shù)據(jù)存儲(chǔ)系統(tǒng)的主要應(yīng)用來源,其元數(shù)據(jù)操作呈現(xiàn)訪問密集性、數(shù)據(jù)海量性等特征。例如,高性能計(jì)算機(jī)普遍采用檢查點(diǎn)技術(shù)實(shí)現(xiàn)系統(tǒng)容錯(cuò),這些應(yīng)用程序一般采用多進(jìn)程共享文件(多對1:N-1)或單一文件(1對1:N-N)兩種方式操作,但由于在高性能計(jì)算機(jī)中有數(shù)千甚至數(shù)萬個(gè)進(jìn)程同時(shí)執(zhí)行上述應(yīng)用程序,產(chǎn)生大規(guī)模的并發(fā)密集型元數(shù)據(jù)訪問。此外,隨著數(shù)據(jù)密集型應(yīng)用的快速發(fā)展,應(yīng)用對計(jì)算機(jī)I/O系統(tǒng)需求的數(shù)據(jù)總量大、文件數(shù)量多,對存儲(chǔ)系統(tǒng)的元數(shù)據(jù)訪問也呈現(xiàn)密集型的特點(diǎn),如北美電力網(wǎng)絡(luò)平臺(tái)每年產(chǎn)生15 TB的原始數(shù)據(jù),為不同領(lǐng)域應(yīng)用分析的數(shù)據(jù)量超過每天45 TB。因此,針對元數(shù)據(jù)的密集型創(chuàng)建,學(xué)術(shù)界和工業(yè)界進(jìn)行了大量研究。
圍繞有效提升元數(shù)據(jù)創(chuàng)建性能的研究主要可分為以下兩類。
● 文件創(chuàng)建的交互協(xié)議優(yōu)化方法[43,44]:該類方法在文件創(chuàng)建過程中控制客戶端與服務(wù)器端的消息交互流程,通過合并子操作、出租數(shù)據(jù)文件句柄、預(yù)創(chuàng)建數(shù)據(jù)文件等文件創(chuàng)建方法,在保證文件創(chuàng)建過程中數(shù)據(jù)一致性的前提下,減少不必要的消息交互,以提高元數(shù)據(jù)創(chuàng)建的性能。
● 元數(shù)據(jù)的存儲(chǔ)優(yōu)化方法[45,46]:該類方法主要通過優(yōu)化文件元數(shù)據(jù)在元數(shù)據(jù)服務(wù)器上的存儲(chǔ)方式,提升元數(shù)據(jù)在持久存儲(chǔ)中的寫入性能,從而提高元數(shù)據(jù)創(chuàng)建的性能。
針對大數(shù)據(jù)存儲(chǔ)系統(tǒng)中目錄樹組織方式造成的元數(shù)據(jù)I/O性能瓶頸問題,學(xué)術(shù)界和工業(yè)界在搜索、查找、創(chuàng)建等元數(shù)據(jù)I/O活動(dòng)方面開展了性能優(yōu)化工作,一定程度上提高了元數(shù)據(jù)I/O的性能。然而,隨著大數(shù)據(jù)應(yīng)用的發(fā)展,數(shù)據(jù)規(guī)模的進(jìn)一步擴(kuò)大對元數(shù)據(jù)I/O性能提出了更高的要求,新的應(yīng)用負(fù)載的出現(xiàn)也給元數(shù)據(jù)I/O性能帶來了更多的挑戰(zhàn),因此,元數(shù)據(jù)I/O性能優(yōu)化仍會(huì)是未來一段時(shí)間的研究熱點(diǎn)。
在大數(shù)據(jù)應(yīng)用環(huán)境中,數(shù)據(jù)規(guī)模達(dá)到PB甚至EB級、文件數(shù)量達(dá)到萬億級別、用戶數(shù)量急劇增長、用戶I/O負(fù)載呈現(xiàn)多樣性特征,加之?dāng)?shù)據(jù)在數(shù)據(jù)服務(wù)器中分布不合理等因素,導(dǎo)致數(shù)據(jù)服務(wù)器資源競爭加劇、數(shù)據(jù)I/O負(fù)載不均衡,從而造成數(shù)據(jù)I/O性能瓶頸問題。為此,當(dāng)前學(xué)術(shù)界和工業(yè)界在數(shù)據(jù)I/O性能優(yōu)化方面開展了大量的研究工作。
文件分條是存儲(chǔ)系統(tǒng)提高數(shù)據(jù)I/O性能的重要技術(shù)途徑之一,即把一個(gè)文件分成多個(gè)子文件,將這些子文件合理地分配到不同的I/O服務(wù)器上,那么訪問該文件時(shí),就可以從這些子文件中并行讀取數(shù)據(jù),從而提高數(shù)據(jù)I/O性能。因此,恰當(dāng)?shù)奈募謼l方法有助于提高數(shù)據(jù)的I/O性能,而不恰當(dāng)?shù)奈?件分條方法會(huì)導(dǎo)致數(shù)據(jù)I/O性能損失[47]。
對于高性能計(jì)算而言,大數(shù)據(jù)計(jì)算應(yīng)用的計(jì)算結(jié)果的速率與計(jì)算結(jié)果存儲(chǔ)在磁盤內(nèi)的速度之間的不匹配是一個(gè)不可避免的問題[11]。作為一種可行的解決方案,存儲(chǔ)系統(tǒng)(例如 PVFS、Lustre、 通用并行文件系統(tǒng)(GPFS)和 Panasas文件系統(tǒng)(PanFS))首先把一個(gè)文件分割成多個(gè)子文件,然后把這些子文件分配到多個(gè)數(shù)據(jù)服務(wù)器,從而通過多個(gè)數(shù)據(jù)服務(wù)器的并發(fā)度提供高速的數(shù)據(jù)傳輸速率和吞吐量。文件分條的一個(gè)關(guān)鍵因素是文件分條寬度的大小。具體而言,文件分條寬度是指同一個(gè)文件內(nèi)被分配到同一個(gè)數(shù)據(jù)服務(wù)器上的連續(xù)文件空間。研究表明,合適的文件分條寬度的大小能夠很好地提高整個(gè)存儲(chǔ)系統(tǒng)的性能,否則并行文件系統(tǒng)80%的性能可能損失。
圍繞文件分條方法的研究主要可分為以下3類。
● 系統(tǒng)級文件分條方法:典型的思想是基于整個(gè)并行I/O系統(tǒng)的平均文件大小和平均文件請求頻率等因素,通過實(shí)驗(yàn)或性能分析模型等確定整個(gè)文件系統(tǒng)內(nèi)文件的分條寬度。
● 目錄級文件分條方法:基本的思想是位于同一目錄 的文件都從父目錄處獲得文件分條的寬度[48]。
● 文件級文件分配方法:每一個(gè)文件可根據(jù)各自承擔(dān)的負(fù)載特征以及整個(gè)系統(tǒng)的負(fù)載情況,決定其各自的分條寬度。此外,允許某個(gè)文件在其負(fù)載特征發(fā)生改變的情況下,對該文件重新進(jìn)行分條。由于不同的應(yīng)用程序往往具有不同的文件訪問負(fù)載特征,因此,基于文件粒度的文件分條方法能更好地保證單一文件的訪問性能[49-51]。
進(jìn)入大數(shù)據(jù)時(shí)代,大數(shù)據(jù)存儲(chǔ)系統(tǒng)面臨巨量數(shù)據(jù)服務(wù)器管理而引起的挑戰(zhàn)。為充分發(fā)揮所有數(shù)據(jù)服務(wù)器的系統(tǒng)性能,數(shù)據(jù)I/O負(fù)載在數(shù)據(jù)服務(wù)器之間應(yīng)盡可能均衡分布[52-54]。然而,日益龐大的數(shù)據(jù)服務(wù)器規(guī)模將更容易導(dǎo)致存儲(chǔ)系統(tǒng)中數(shù)據(jù)I/O負(fù)載失衡的問題。
對于高性能大數(shù)據(jù)計(jì)算應(yīng)用的科學(xué)計(jì)算數(shù)據(jù)的管理而言,存儲(chǔ)系統(tǒng)扮演著重要的角色,為了充分地發(fā)揮并行I/O系統(tǒng)的性能,存儲(chǔ)系統(tǒng)內(nèi)的數(shù)據(jù)服務(wù)器之間的負(fù)載應(yīng)該符合均勻的分布,數(shù)據(jù)服務(wù)器之間的負(fù)載均衡能夠消除系統(tǒng)的性能瓶頸,從而優(yōu)化整個(gè)存儲(chǔ)系統(tǒng)的平均響應(yīng)時(shí)間和資源利用率。然而,不恰當(dāng)?shù)奈募謼l大小、不平衡的文件分配策略、不同應(yīng)用程序訪問的沖突以及異構(gòu)的計(jì)算環(huán)境等一些因素均可能導(dǎo)致數(shù)據(jù)服務(wù)器之間負(fù)載的失衡。
圍繞數(shù)據(jù)I/O負(fù)載均衡方法的研究主要可分為以下兩類。
● 靜態(tài)負(fù)載均衡:指在程序運(yùn)行前,對文件數(shù)據(jù)按照負(fù)載比例分塊,并映射到不同的I/O服務(wù)器,以實(shí)現(xiàn)I/O服務(wù)器間的負(fù)載均衡。該類方法簡單有效,適用于具有穩(wěn)定負(fù)載或可預(yù)測負(fù)載應(yīng)用,如并行計(jì)算應(yīng)用,因此,幾 乎所有主流的并行文件系 統(tǒng)(包括GPFS[55]、Lustre①http://wiki.lustre.org/和并行虛擬文件系統(tǒng)版本2(parallel virtual file system v2,PVFS2)[56]等)大多采用靜態(tài)均衡方法。
● 動(dòng)態(tài)負(fù)載均衡:指在文件負(fù)載特性等信息未知的情況下,根據(jù)系統(tǒng)運(yùn)行時(shí)的動(dòng)態(tài)負(fù)載信息,實(shí)時(shí)調(diào)整負(fù)載在數(shù)據(jù)服務(wù)器間的分布,從而及時(shí)消除負(fù)載熱點(diǎn),優(yōu)化整個(gè)系統(tǒng)的I/O性能。該類方法通過動(dòng)態(tài)調(diào)整I/O負(fù)載在數(shù)據(jù)服務(wù)器間的分布,能夠有效協(xié)調(diào)并行I/O間的訪問,從而有效提高存儲(chǔ)系統(tǒng)的并行數(shù)據(jù)I/O性能[57-59]。
存儲(chǔ)系統(tǒng)通過分條文件在多個(gè)數(shù)據(jù)服務(wù)器間的分配,最小化大數(shù)據(jù)應(yīng)用訪問存儲(chǔ)系統(tǒng)的平均響應(yīng)時(shí)間,然而,現(xiàn)有方法一般通過平衡磁盤間負(fù)載或最小化單磁盤上文件大小方差等技術(shù),優(yōu)化文件請求的平均響應(yīng)時(shí)間等性能指標(biāo),未考慮文件請求的磁盤I/O沖突概率問題,會(huì)導(dǎo)致數(shù)據(jù)I/O性能降低。
高性能大數(shù)據(jù)計(jì)算應(yīng)用產(chǎn)生的科學(xué)數(shù)據(jù)的存儲(chǔ)和管理已成為當(dāng)今學(xué)術(shù)界和工業(yè)界面臨的實(shí)際挑戰(zhàn)。主要的原因是當(dāng)前需要存儲(chǔ)的數(shù)據(jù)的容量急劇增加,然而科學(xué)計(jì)算程序從磁盤上讀取數(shù)據(jù)速率的增加仍然相當(dāng)慢。因此,對于大多需要頻繁進(jìn)行文件讀寫的大數(shù)據(jù)科學(xué)計(jì)算應(yīng)用來講,文件數(shù)據(jù)的輸入和輸出仍然是其性能瓶頸之一。與此同時(shí),存儲(chǔ)系統(tǒng)能夠通過在多個(gè)磁盤間分配文件分條后的文件提供并行的文件數(shù)據(jù)讀和寫,從而提供高速的文件數(shù)據(jù)傳輸速率。因此,基于大規(guī)模的并行磁盤設(shè)備建立的存儲(chǔ)系統(tǒng)最近獲得了相當(dāng)多的研究關(guān)注,為 了在存儲(chǔ)系統(tǒng)內(nèi)進(jìn)行大數(shù)據(jù)的有效存儲(chǔ)和管理,在文件被訪問之前,應(yīng)該在多個(gè)并行的磁盤內(nèi)對文件進(jìn)行有效的分配。然而,文件分配方法往往忽略了動(dòng)態(tài)文件訪問特性——文件請求的磁盤I/O沖突概率。
圍繞數(shù)據(jù)I/O最小化訪問沖突方法的研究主要可分為以下兩類。
● 基于最優(yōu)化理論的文件分配算法[60,61]:該類方法以最小化平均響應(yīng)時(shí)間(或最優(yōu)化資源利用率,或最大化系統(tǒng)吞吐量等)為目標(biāo),以數(shù)據(jù)服務(wù)器的最大化服務(wù)率等為限制條件,建立最優(yōu)化模型求解文件最優(yōu)分配方案。該類方法的優(yōu)點(diǎn)是平臺(tái)無關(guān)性和準(zhǔn)確性,但其不足是計(jì)算復(fù)雜度較高。
● 基于啟發(fā)式思想的文件分配算法[62-64]:該類方法充分利用和挖掘已知的文件訪問信息,以其中某些文件訪問特性(如文件訪問的時(shí)間方差等)為出發(fā)點(diǎn),建立近似均衡的負(fù)載均衡算法實(shí)現(xiàn)文件的分配。該類方法計(jì)算復(fù)雜度低,雖然性能較基于最優(yōu)化理論的方法有所下降,但在實(shí)際應(yīng)用場景下有較好的使用價(jià)值。
在大數(shù)據(jù)應(yīng)用的I/O負(fù)載中,寫操作占據(jù)很高的比例,同時(shí),相比于讀操作,寫操作是一種代價(jià)昂貴的操作,無論存儲(chǔ)介質(zhì)是HDD還是SSD,寫操作都會(huì)被放大,影響存儲(chǔ)系統(tǒng)的I/O性能,因此,寫操作性能是存儲(chǔ)系統(tǒng)I/O性能的重要瓶頸。
在互聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用環(huán)境中,用戶數(shù)量的急劇增加造成高并發(fā)的數(shù)據(jù)寫,例如,淘寶在促銷活動(dòng)時(shí)期,每秒鐘能夠達(dá)到上百萬的寫操作,這會(huì)給存儲(chǔ)系統(tǒng)帶來極大的壓力,造成存儲(chǔ)系統(tǒng)I/O帶寬資源的競爭,降低I/O性能,因此,學(xué)術(shù)界和工業(yè)界對寫操作的性能優(yōu)化進(jìn)行了大量的研究。
圍繞數(shù)據(jù)I/O寫操作優(yōu)化方法的研究主要可分為以下3類。
● 非阻塞寫優(yōu)化策略:主要通過消除異步預(yù)取頁來達(dá)到非阻塞寫操作的目的,通過非阻塞寫策略,增加 寫操作的并行化程度,從而優(yōu)化寫操作I/O性能[65]。
● 基于Flash的寫加速優(yōu)化方法:在保留動(dòng)態(tài)資源管理和高可用的前提下,通過基于Flash的寫加 速層,無縫合并虛擬化環(huán)境,加速寫操作I/O性能[66]。同時(shí),研究建立應(yīng)用的訪問負(fù)載模型,為應(yīng)用劃分合適的Flash存儲(chǔ)空間,以提高寫操作I/O性能[67]。
● 基于寫索引結(jié)構(gòu)的優(yōu)化方法:通過使用未修改的 操作系統(tǒng)(operating sy stem,OS)內(nèi)核架構(gòu),最小化對寫優(yōu)化造成的影響[68]。在索引結(jié)構(gòu)上利用延遲綁定日志、分區(qū)和范圍刪除等技 術(shù),在保證其他操作性能的前提下,提高寫操作I/O性能[69]。在持 久內(nèi)存中利用基于寫優(yōu)化基數(shù)樹的索引結(jié)構(gòu),以提高寫操作性能[70]。研究基于物理地址的垃圾收集機(jī)制能夠降低對寫操作的干擾[71]。
大數(shù)據(jù)應(yīng)用需要快速訪問存儲(chǔ)系統(tǒng)中的數(shù)據(jù),當(dāng)前主流的存儲(chǔ)介質(zhì)HDD因其機(jī)械操作極易成為性能瓶頸。隨著DRAM、Flash等高速存儲(chǔ)介質(zhì)的成本下降,存儲(chǔ)系統(tǒng)開始大量采用DRAM、Flash等高速存儲(chǔ)介質(zhì)來擴(kuò)展存儲(chǔ)系統(tǒng)緩存容量以提高性能,然而,簡單地將DRAM和Flash等加入存儲(chǔ)系統(tǒng)中,易造成緩存資源利用率低等問題。
圍繞數(shù)據(jù)I/O緩存容量擴(kuò)展技術(shù) 的研究主要可分為如下兩類。
● 基于DRAM的緩存容量擴(kuò)展方法[72]:該類方法利用DRAM擴(kuò)大緩存容量,使大數(shù)據(jù)應(yīng)用的大部分工作數(shù)據(jù)都裝載在緩存中,同時(shí),研究建立基于應(yīng)用的訪問負(fù)載模型,利用基于日志結(jié)構(gòu)的管理機(jī)制提高緩存資源利用率。
● 基于Flash的緩存容量擴(kuò)展方法[73-75]:該類方法利用Flash存儲(chǔ)作為二級緩存,擴(kuò)展存儲(chǔ)系統(tǒng)的緩存容量。為高性能網(wǎng)絡(luò)連接的Flash存儲(chǔ)介質(zhì)劃分虛擬地址層,達(dá)到擴(kuò)展緩存容量的目的,從而提高數(shù)據(jù)I/O的性能。
I/O帶寬是大數(shù)據(jù)存儲(chǔ)系統(tǒng)的一種重要資源,I/O帶寬能否公平和高效地分配,直接影響著大數(shù)據(jù)存儲(chǔ)系統(tǒng)的I/O性能好壞。然而,當(dāng)前存儲(chǔ)系統(tǒng)的異構(gòu)性和應(yīng)用負(fù)載的多樣性相互交織在一起,給公平和高效的I/O帶寬分配帶來了很大挑戰(zhàn)。
數(shù)據(jù)中心是大數(shù)據(jù)存儲(chǔ)的重要載體,當(dāng)前互聯(lián)網(wǎng)應(yīng)用和高性能計(jì)算研究都建立了大量的數(shù)據(jù)中心。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,數(shù)據(jù)中心的應(yīng)用數(shù)量也在急劇增長?,F(xiàn)代數(shù)據(jù)中心是為多種大數(shù)據(jù)應(yīng)用服務(wù)構(gòu)建的,不同的大數(shù)據(jù)應(yīng)用表現(xiàn)出不同的資源需求和負(fù)載特征,如何分配存儲(chǔ)系統(tǒng)I/O帶寬資源影響著大數(shù)據(jù)應(yīng)用的性能。同時(shí),隨著價(jià)格下降,SSD憑借優(yōu)良的隨機(jī)讀寫性能在存儲(chǔ)系統(tǒng)中被廣泛地采用,以提高I/O性能,SSD與HDD共存造成存儲(chǔ)介質(zhì)的異構(gòu)性。由于不同服務(wù)器中SSD和HDD的配置不同,導(dǎo)致服務(wù)器間I/O帶寬能力具有差異性。存儲(chǔ)系統(tǒng)的異構(gòu)性、服務(wù)器間帶寬能力的差異性、應(yīng)用間I/O負(fù)載的不同等因素相互交織在一起,給公平和高效的存儲(chǔ)系統(tǒng)I/O帶寬分配帶來新的挑戰(zhàn)。因此,學(xué)術(shù)界和工業(yè)界對I/O帶寬分配進(jìn)行了大量研究。
圍繞數(shù)據(jù)I/O帶寬分配的研究主要可分為如下幾類。
● 基于成比例公平性的單種資源分配方法[76-79]:該類方法利用應(yīng)用的負(fù)載權(quán)重,在用戶間提供嚴(yán)格的成比例I/O帶寬資源分配。該類方法在CPU資源分配、網(wǎng)絡(luò)帶寬資源分配、存儲(chǔ)系統(tǒng)I/O調(diào)度和服務(wù)質(zhì)量(quality of service,QoS)保證等方面已獲應(yīng)用。但是,該類方法僅可用于單一資源的分配,無法有效應(yīng)對多種資源的分配。另外,由于成比例公平性的限制,其資源利用率也不高。
● 基于成比例公平性的多種資源分配方法[80-86]:該類方法基于應(yīng)用的全局系統(tǒng)瓶頸資源,進(jìn)行I/O帶寬資源分配,所有應(yīng)用的全局系統(tǒng)瓶頸資源的共享比例相同。該類方法能夠有效應(yīng)對多種資源的分配,但由于成比例公平性屬性的限制,其資源利用率不高,并且該類方法把所有服務(wù)器看成一個(gè)資源池,無法為用戶確定每臺(tái)服務(wù) 器上的I/O帶寬分配額。
● 基于不成比例公平性多種資源分配方法[87]:該類方法基于應(yīng)用的局部瓶頸資源進(jìn)行I/O帶寬資源分配,位于同一瓶頸資源分組的所有應(yīng)用對該瓶頸資源的分配比例相同。該類方法可同時(shí)分配多種資源,并且其資源利用率相當(dāng)高,但無法應(yīng)對多異構(gòu)服務(wù)器環(huán)境,無法為用戶確定每臺(tái)服務(wù)器上的I/O帶寬分配額。
● 多服務(wù)器環(huán)境中多種資源分配方法[88,89]:該類方法基于應(yīng)用的全局或局部瓶頸資源進(jìn)行I/O帶寬資源分配。設(shè)置應(yīng)用在單臺(tái)服務(wù)器中的未知分配參數(shù),基于公平性的限制條件,獲得相應(yīng)的線性規(guī)劃求解模型。在多服務(wù)器環(huán)境中,可同時(shí)分配多種資源,還可確定應(yīng)用在每臺(tái)服務(wù)器上的I/O帶寬分配額。
緩存技術(shù)作為一種改善訪問性能的常用方法被應(yīng)用于眾多領(lǐng)域[90-94],客戶端數(shù)據(jù)緩存是提高大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能的有效技術(shù)之一,然而,當(dāng)前客戶端緩存存在資源利用率低的問題,不利于有效提升存儲(chǔ)系統(tǒng)數(shù)據(jù)I/O性能。
在高性能計(jì)算環(huán)境中,大數(shù)據(jù)應(yīng)用會(huì)產(chǎn)生大量的并發(fā)I/O訪問請求。隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,客戶端緩存面臨著越來越密集的并發(fā)訪問請求。按照目前的處理器發(fā)展速度,很快會(huì)出現(xiàn)具有數(shù)百個(gè)核的多核/眾核處理器。因此,即使存儲(chǔ)系統(tǒng)的單個(gè)節(jié)點(diǎn)客戶端也會(huì)面臨高I/O并發(fā)的問題。為了充分利用硬件的并行性,采用并行操作語言或庫函數(shù)(如 Pthread、消息傳遞接口/消息傳遞接口-I/O(MPI/MPI-I/O)、OpenMP)編程的多線程/多進(jìn)程應(yīng)用成為多個(gè)領(lǐng)域(如科學(xué)計(jì)算、圖像處理等)的研究主流。同時(shí),很多這類應(yīng)用產(chǎn)生的并發(fā)、突發(fā)的I/O請求具有小于1 ms的到達(dá)間隔。
面對大量的I/O高并發(fā)訪問,客戶端緩存的設(shè)計(jì)面臨著諸多挑戰(zhàn)。一方面原因是I/O負(fù)載具有多樣性的訪問模式和不同的負(fù)載特征。例如,研究表明,很多負(fù)載具有大量小于1 MB的小文件,小文件的典型實(shí)例包括網(wǎng)站小圖片、文本文件和科學(xué)實(shí)驗(yàn)生成的輸出文件。另一方面,對小文件的大部分訪問以只讀操作為主。目前存儲(chǔ)系統(tǒng)中的客戶端緩存主要使用基于數(shù)據(jù)塊的索引結(jié)構(gòu)管理緩存數(shù)據(jù),雖然這種方法對于緩存大文件數(shù)據(jù)簡單有效,但對于高并發(fā)環(huán)境中的小文件來說性能卻很差。
圍繞數(shù)據(jù)I/O客戶端緩存優(yōu)化方面的研究主要可分為如下兩類。
● 緩存數(shù)據(jù)的組織結(jié)構(gòu)優(yōu)化方法[95-98]:該類方法采用基于數(shù)據(jù)塊索引的結(jié)構(gòu),即文件的數(shù)據(jù)被切分成相同大小的數(shù)據(jù)塊放入緩存空間中,并根據(jù)緩存替換算法管理緩存中的數(shù)據(jù),以提高緩存資源利用率。
● 緩存數(shù)據(jù)的管理優(yōu)化方法[99-102]:該類方法在不影響緩存性能的前提下力圖減小緩存容量,大致可有兩種思路:一種是通過減少緩存塊的數(shù)量以節(jié)省空間,即通過確定最少的緩存存儲(chǔ)塊個(gè)數(shù),達(dá)到提高緩存利用率的目的;另一類是通過對緩存塊內(nèi)容的壓縮以節(jié)省空間,即通過數(shù)據(jù)壓縮技術(shù)或內(nèi)容解析存儲(chǔ)技術(shù)減少實(shí)際的數(shù)據(jù)塊規(guī)模。
針對大數(shù)據(jù)存儲(chǔ)系統(tǒng)中因數(shù)據(jù)量激增造成的數(shù)據(jù)I/O性能瓶頸問題,學(xué)術(shù)界和工業(yè)界在文件分條、負(fù)載均衡、I/O帶寬分配、客戶端緩存等方面開展了大量的性能優(yōu)化工作,以提高數(shù)據(jù)I/O性能。然而,隨著大數(shù)據(jù)應(yīng)用的發(fā)展,數(shù)據(jù)積累速度進(jìn)一步加快、新的數(shù)據(jù)I/O負(fù)載特征不斷出現(xiàn)、新型存儲(chǔ)介質(zhì)的發(fā)展和應(yīng)用,都將給存儲(chǔ)系統(tǒng)的數(shù)據(jù)I/O帶來新的挑戰(zhàn)和機(jī)遇。因此,數(shù)據(jù)I/O的性能優(yōu)化仍會(huì)是未來一段時(shí)間的研究熱點(diǎn)。
圍繞大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能問題,學(xué)術(shù)界和工業(yè)界在存儲(chǔ)系統(tǒng)架構(gòu)、元數(shù)據(jù)I/O、數(shù)據(jù)I/O優(yōu)化方面已有大量研究工作。但是,大數(shù)據(jù)應(yīng)用和存儲(chǔ)技術(shù)的發(fā)展將為大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化帶來更多新的挑戰(zhàn)和機(jī)遇,未來可能的研究方向主要包括以下幾個(gè)方面。
(1)基于DRAM的存儲(chǔ)系統(tǒng)
當(dāng)前大數(shù)據(jù)計(jì)算模式發(fā)展迅速,批量計(jì)算、流式計(jì)算、圖計(jì)算等計(jì)算模式提高了大數(shù)據(jù)應(yīng)用的計(jì)算性能,高效計(jì)算模式需要快速讀寫大量數(shù)據(jù),因此,下層存儲(chǔ)系統(tǒng)必須大幅提高I/O性能,以滿足上層計(jì)算模式的需求。然而,現(xiàn)有基于HDD的存儲(chǔ)系統(tǒng)對計(jì)算模式的支持已達(dá)極限。相比傳統(tǒng)的HDD,DRAM是一種更為快速的存儲(chǔ)介質(zhì),且其容量不斷提升,成本持續(xù)下降,這為大幅提升存儲(chǔ)系統(tǒng)I/O性能以有效支撐高效計(jì)算模式提供了可能。因此,基于DRAM的存儲(chǔ)系統(tǒng)成為一個(gè)重要的研究方向,在此方向上當(dāng)前已有不少研究工作正在開展。其中,存儲(chǔ)系統(tǒng)架構(gòu)及其資源管理方法直接影響DRAM資源利用率,從而影響對上層應(yīng)用計(jì)算模式的高效支持。因此,基于DRAM的存儲(chǔ)系統(tǒng)架構(gòu)及其資源管理方法會(huì)是未來一段時(shí)期的研究重點(diǎn)。
(2)基于多介質(zhì)的混合存儲(chǔ)系統(tǒng)
新型存儲(chǔ)介質(zhì)的出現(xiàn)為存儲(chǔ)系統(tǒng)更好地滿足大數(shù)據(jù)應(yīng)用的需求提供了機(jī)遇,因此,基于多介質(zhì)的混合存儲(chǔ)系統(tǒng)是一個(gè)重要的研究方向。其中,在多介質(zhì)混合存儲(chǔ)系統(tǒng)架構(gòu)及其一體化管理方面,基于不同類型和不同性能的存儲(chǔ)介質(zhì)構(gòu)建多介質(zhì)混合存儲(chǔ)系統(tǒng),需從理論模型和實(shí)驗(yàn)驗(yàn)證兩方面研究不同的混合存儲(chǔ)策略,并建立不同混合存儲(chǔ)策略下的存儲(chǔ)分配模型和代價(jià)模型;在存儲(chǔ)結(jié)構(gòu)感知的數(shù)據(jù)管理方面,對于更為復(fù)雜的異構(gòu)存儲(chǔ)環(huán)境,如何實(shí)現(xiàn)存儲(chǔ)介質(zhì)用量的自適應(yīng)動(dòng)態(tài)分配,將是一個(gè)極具挑戰(zhàn)性的問題;在大數(shù)據(jù)分布式協(xié)同存儲(chǔ)方面,大數(shù)據(jù)應(yīng)用I/O負(fù)載具有多樣性和復(fù)雜性,基于新的粒度模型的熱點(diǎn)數(shù)據(jù)識別和數(shù)據(jù)遷移將會(huì)是一個(gè)重要的問題;在高性能可擴(kuò)展大數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)方面,隨著PCM等新型存儲(chǔ)介質(zhì)的快速發(fā)展和產(chǎn)品化,需研究和建立一個(gè)高性能可擴(kuò)展的基于多介質(zhì)的混合存儲(chǔ)系統(tǒng)架構(gòu),在系統(tǒng)中可同時(shí)配置HDD、Flash、PCM、隨機(jī)存取存儲(chǔ)器(random access memory,RAM)等多種存儲(chǔ)介質(zhì),并且能夠發(fā)揮各種存儲(chǔ)介質(zhì)各自的優(yōu)勢,使得整個(gè)存儲(chǔ)系統(tǒng)獲得更優(yōu)的整體性價(jià)比。
(3)元數(shù)據(jù)I/O性能優(yōu)化
當(dāng)前主流的存儲(chǔ)系統(tǒng)仍采用目錄樹結(jié)構(gòu)組織和管理元數(shù)據(jù),在大數(shù)據(jù)應(yīng)用環(huán)境中,目錄樹空間日益龐大,因此,元數(shù)據(jù)I/O仍會(huì)是影響存儲(chǔ)系統(tǒng)性能的瓶頸之一。盡管學(xué)術(shù)界和工業(yè)界開展了大量研究以優(yōu)化元數(shù)據(jù)I/O的性能,但是隨著元數(shù)據(jù)規(guī)模的進(jìn)一步擴(kuò)大,元數(shù)據(jù)搜索、查找、創(chuàng)建等關(guān)鍵操作的性能預(yù)期會(huì)進(jìn)一步降低。例如,隨著目錄樹空間的增大,基于采樣的元數(shù)據(jù)搜索方法的準(zhǔn)確率會(huì)下降,而基于輕量級索引結(jié)構(gòu)的元數(shù)據(jù)搜索方法,其存儲(chǔ)負(fù)載和額外I/O開銷會(huì)進(jìn)一步加大,因此,存儲(chǔ)系統(tǒng)的元數(shù)據(jù)I/O優(yōu)化技術(shù)仍然會(huì)是未來的一個(gè)重要研究方向。
(4)數(shù)據(jù)I/O寫性能優(yōu)化
數(shù)據(jù)寫I/O請求在整個(gè)I/O活動(dòng)中占比較高,寫操作性能易成為影響存儲(chǔ)系統(tǒng)性能的關(guān)鍵瓶頸。盡管學(xué)術(shù)界和工業(yè)界圍繞寫操作性能優(yōu)化開展了大量的研究工作,但隨著用戶數(shù)量的持續(xù)增長和數(shù)據(jù)規(guī)模的日益擴(kuò)大,寫操作負(fù)載會(huì)被進(jìn)一步放大。一方面,由于當(dāng)前存儲(chǔ)系統(tǒng)的主要存儲(chǔ)介質(zhì)仍然是HDD,其低下的隨機(jī)寫性能嚴(yán)重影響寫操作性能。具有良好隨機(jī)讀寫性能的新型Flash存儲(chǔ)介質(zhì)是提高寫操作性能的一個(gè)有效手段,但Flash存儲(chǔ)介質(zhì)壽命有限且價(jià)格較高。因此,需要針對不同的寫負(fù)載特征,研究建立相應(yīng)的寫操作存儲(chǔ)模型,在延長Flash壽命和降低開銷的前提下,提高寫操作性能。另一方面,當(dāng)前寫操作性能優(yōu)化方法在提高寫操作性能的同時(shí),會(huì)降低其他I/O操作(如讀操作、更新操作等)的性能,因此需要研究在保障其他I/O操作性能前提下有效提升寫操作性能的優(yōu)化技術(shù)。
大數(shù)據(jù)存儲(chǔ)是大數(shù)據(jù)整個(gè)生命周期中不可或缺的基礎(chǔ)環(huán)節(jié),大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能直接決定大數(shù)據(jù)存儲(chǔ)效率,是影響大數(shù)據(jù)應(yīng)用整體性能的關(guān)鍵因素。因此,針對當(dāng)前存儲(chǔ)系統(tǒng)中元數(shù)據(jù)I/O和數(shù)據(jù)I/O面臨的性能瓶頸問題,學(xué)術(shù)界和工業(yè)界主要從存儲(chǔ)系統(tǒng)架構(gòu)優(yōu)化、元數(shù)據(jù)I/O性能優(yōu)化、數(shù)據(jù)I/O性能優(yōu)化3個(gè)方面開展了大量的存儲(chǔ)系統(tǒng)I/O性能優(yōu)化工作,緩解了大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能瓶頸,支撐了大數(shù)據(jù)應(yīng)用的發(fā)展。然而,大數(shù)據(jù)應(yīng)用的日益普及和存儲(chǔ)技術(shù)的持續(xù)發(fā)展,為大數(shù)據(jù)存儲(chǔ)系統(tǒng)I/O性能優(yōu)化帶來更多新的挑戰(zhàn)和機(jī)遇,未來還需要在基于多介質(zhì)的存儲(chǔ)系統(tǒng)架構(gòu)優(yōu)化、元數(shù)據(jù)I/O性能優(yōu)化、數(shù)據(jù)I/O寫性能優(yōu)化等方面持續(xù)開展進(jìn)一步的研究工作。
[1] AVERY C, KENIN C, LI J, et al. Highperformance techniques for parallel I/O[M].Boca Raton: CRC Press, 2007.
[2] CHING A, CHOUDHARY A, COLOMA K, et al.Noncontiguous I/O accesses through M PI-I/O[C]//The 3 rd I EEE/ACM International Symposium on Cluster Computing and the Grid, May 12-15,2003, Tokyo, Japan. New Jersey: IEEE Press, 2003: 104-111.
[3] CHING A, CHOUDHARY A, LIAO W K,et al. Effcient structured data access in parallel file systems[C]//The IEEE International Conference on Cluster Computing and the Grid, May 12-15,2003, Tokyo, Japan. New Jersey: IEEE Press, 2003: 326-335.
[4] THAKUR R, GROPP W, LUSK E. Data sieving and collective I/O in ROMIO[C]//The 7th Symposium on the Frontiers of Massively Parallel Computation, February 26,1999, Annapolis, USA. New Jersey: IEEE Press, 1999: 182-189.
[5] LIAO W K, COLOMA K, CHOUDHARY A,et al. Collective caching: applicationaware client-side file caching[C]//The 14th International Symposium on High Performance Distributed Computing,October 24, 2005, North Carolina, USA.New Jersey: IEEE Press, 2005: 81-90.
[6] CH E N Y, RO T H P C. C o l l e c t i ve prefetching for parallel I/O systems[C]//The 5t h Pet a s c a le D at a St orage Workshop(PDSW'10), November 15, 2010,New Orleans, USA. New Jersey: IEEE Press, 2010: 1-5.
[7] THAKUR R, ROSS R, LUSK E, et al. Users guide for ROMIO: a high-performance,portable mpi-io implementation[R]. [S.l.]:UNT Libraries Government Documents Department, 2004.
[8] CHEN M, HILDEBRAND D, NELSON H,et al. vNFS: maximizing NFS performance with compounds and vectorized I/O[C]//The 15th USENIX Conference on File and Storage Technologies, February 27-March 2, 2017, Santa Clara, USA.Berkeley: USENIX Association Berkeley,2017: 301-314.
[9] M A DHYASTH A T M, REED D A.Learning to classify parallel input/output access patterns[J]. IEEE Transactions on Parallel amp; Distributed Systems, 2002,13(8): 802-813.
[10] WA N G Y J, K A E L I D. P r o f i l eguided I/O partitioning[C]//The 17th Annual International Conference on Supercomputing (ICS '03), June 23-26,2003, San Francisco, USA. New York:ACM Press, 2003: 252-260.
[11] PATRICK C M, KANDEMIR M, KARAK¨OY M, et al. Cashing in on hints for better prefetching and caching in PVFS and MPI-IO[C]//The 19th ACM International Symposium on High Performance Distributed Computing, June 21-25, 2010,Chicago, USA. New York: ACM Press,2010: 191-202.
[12] A L K I S WA N Y S, G H A R I B E H A,RIPEANU M. The case for a versatile storage system[J]. ACM SIGOPS Operating Systems Review, 2010, 44 (1): 10-14.
[13] NARAYAN S, CHANDY J A. ATTEST:attributes-based extendable storage[J].Journal of Systems amp; Software, 2010,83(4): 548-556.
[14] LI X, XIAO L, QIU M, et al. Enabling dynamic file I/O path selection at runtime for parallel file system[J]. The Journal of Supercomputing, 2014, 68(2): 996-1021.
[15] KIM S, KIM H, LEE J, et al. Enlightening the I/O path: a holistic approach for application performance[C]//The 15th USENIX Conference on File and Storage Technologies, February 27-March 2, 2017,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2017: 345-358.
[16] LU Y, SHU J, WANG W, et al. ReconFS:a reconstructable file system on flash storage[C]//The 12th USENIX Conference on File and Storage Technologies,February 17-20, 2014, Santa Clara, USA.Berkeley: USENIX Association Berkeley,2014: 75-88.
[17] LEE E, BAHN H, NOH S H. Unioning of the buffer cache and journaling layers with non-volatile memory[C]//The 11th USENIX Conference on File and Storage Technologies, February 12-15, 2013, San Jose, USA. Berkeley: USENIX Association Berkeley, 2013: 73-80.
[18] OH Y, CHOI J, LEE D, et al. Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems[C]//The 10th USENIX Conference on File and Storage Technologies, February 14-17,2012, San Jose, USA. Berkeley: USENIX Association Berkeley, 2012: 25.
[19] HUO Z S, XIAO L M, ZHONG Q L,et al. A metadata cooperative caching architecture based on SSD and DRAM for file systems[C]//The 15th International C o n f e r e n c e o n A l g o r i t h m s a n d Architectures for Parallel Processing,November 18-20, 2015, Zhangjiajie,China. Berlin: Springer, 2015: 31-51.
[20] YADGAR G, YAAKOBI E, SCHUSTER A,et al. Write once, get 50% free: saving SSD erase costs using WOM codes[C]//The 13th USENIX Conference on File and Storage Technologies, February 16-19, 2015, Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2015: 257-271.
[21] LEE C, SIM D, HWANG J, et al. F2FS:a new file system for flash storage[C]//The 13th USENIX Conference on File and Storage Technologies, February 16-19,2015, Santa Clara, USA. Berkeley:USENIX Association Berkeley, 2015:273-286.
[22] LEE S, LIU M, JUN S, et al. Applicationmanaged flash[C]//The 14th USENIX C o n fe re nc e o n Fi le a nd St o r a ge Technologies, February 22-25, 2016,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2016: 339-353.
[23] ARTEAGA D, CABRERA J B, XU J, et al. CloudCache: on-demand flash cache management for cloud computing[C]//The 14th USENIX Conference on File and Storage Technologies, February 22-25, 2016,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2016: 355-369.
[24] YAN S, LI H, HAO M, et al. Tiny-Tail Flash: near-perfect elimination of garbage collection tail latencies in NAND SSDs[C]//The 15th USENIX Conference on File and Storage Technologies, February 27-March 2, 2017, Santa Clara, USA.Berkeley: USENIX Association Berkeley,2017: 15-28.
[25] Z HANG S, CATANESE H, WANG A A, et al. The composite-file file system: de c oupl i ng the one-toone mapping of files and metadata for better performance[C]//The 14th USENIX Conference on File and Storage Technologies, February 22-25, 2016,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2016: 15-22.
[26] KUMAR H, PATEL Y, KESAVAN R, et al.High performance metadata integrity protection in the WAFL copy-on-write file system[C]// The 15th USENIX Conference on File and Storage Technologies,February 27-March 2, 2017, Santa Clara,USA. Berkeley: USENIX Association Berkeley, 2017: 197-212.
[27] JOHNSON C M, KEETON K, MORREY C B, et al. From research to practice:experiences engineering a production metadata database for a scale out file system[C]// The 12th USENIX Conference on File and Storage Technologies,February 17-20, 2014, Santa Clara, USA.Berkeley: USENIX Association Berkeley,2014: 191-198.
[28] THOMSON A, ABADI D J. CalvinFS:consistent WAN replication and scalable metadata management for distributed file systems[C]// The 13th USENIX C o n fe re nc e o n Fi le a nd St o r a ge Technologies, February 16-19, 2015,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2015: 1-14.
[29] NIAZI S, ISMAIL M, HARIDI S, et al.HopsFS: scaling hierarchical file system metadata using newSQL databases[C]//The 15th USENIX Conference on File and Storage Technologies (FAST'17),February 27-March 2, 2017, Santa Clara,USA. Berkeley: USENIX Association Berkeley, 2017: 89-104.
[30] LEUNG A, ADAMS I, MILLER E L.Magellan: a searchable metadata architecture for large-scale file systems:UCSC-SSRC-09-07[R]. California:University of California, 2009.
[31] LEUNG A W, SHAO M, BISSON T, et al.Spyglass: fast, scalable metadata search for large-scale storage systems[C]//The 7th Conference on File and Storage Technologies, February 24-27, 2009,San Francisco, USA. Berkeley: USENIX Association Berkeley, 2009: 153-166.
[32] GIFFORD D K, JOUVELOT P, SHELDON M A, et al. Semantic file systems[J].Symposium on Operating Systems Principles, 1991, 25(5): 16-25.
[33] HUA Y, J I ANG H, Z HU Y, et al.Smartstore: a new metadata organization paradigm with semantic-awareness for next-generation file systems[C]//The Conference on High Performance Computing Networking, Storage and Analysis, November 14-20, 2009,Portland, USA. New Jersey: IEEE Press,2009: 1-12.
[34] HUANG H H, ZHANG N, WANG W,et al. Just-in-time analytics on large file systems[J]. IEEE Transactions on Computers, 2012, 61(11): 1651-1664.
[35] TA K ATA M, S U T O H A. E ve ntnotification-based inactive file search for large-scale file systems[C]//APMRC,October 31-November 2, 2012, Singapore.New Jersey: IEEE Press, 2012: 1-7.
[36] HUO Z S, XIAO L M, ZHONG Q L, et al.MBFS: a parallel metadata search method based on bloomfilters using MapReduce for large-scale file systems[J]. The Journal of Supercomputing, 2016, 72(8):3006-3032.
[37] GALEN S. 2015 Parallel file system requirements[R]. [S.l.]: Lustre Scalability Workshop, 2009.
[38] RODEH O, TEPERMAN A. zFS: a scalable distributed file system using object disks[C]//The 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies , April 7-10,2003, San Diego, USA. New Jersey: IEEE Press, 2003: 20-27.
[39] ZHU Y, JIANG H, WANG J, et al. HBA:distributed metadata management for large cluster-based storage systems[J].International Journal of Engineering Innovations amp; Research, 2008, 19: 750-763.
[40] BRANDT S A, MILLER E L, LONG D D E,et al. Effcient metadata management in large distributed file systems[C]//IEEE Symposium on Mass Storage Systems,April 7-10, 2003, San Diego, USA. New Jersey: IEEE Press, 2003: 290-298.
[41] L I U Z, Z H O U X M. A m e t a d at a management method based on directory path[J]. Journal of Software, 2007, 18(2):236-245.
[42] LI X Q, DONG B, XIAO L M, et al.Adaptive tradeoff in metadata-based small file optimizations for a cluster file system[J]. International Journal of Numerical Analysis and Modeling, 2012,9(2): 289-303.
[43] DEVULAPALLI A, WYCKO P. File creation strategies in a distributed m e t a d a t a f i l e s y s t e m[C]//I E E E International Parallel and Distributed Processing Symposium(IEEE IPDPS 2007), March 26-30, 2007, Rome, Italy.New Jersey: IEEE Press, 2007: 1-10.
[44] YI L T, SHU J W, OU J X, et al. Cx:concurrent execution for the cross-server operations in a distributed file system[C]//2012 IEEE International Conference on Cluster Computing, September 24-28,2012, Beijing, China. New Jersey: IEEE Press, 2012: 99-107.
[45] STAERELING R V H V, APPUSWAMY R,MOOLENBROEK D C V, et al. Efficient,modular metadata management with loris[C]//The 6th IEEE International Conference on Networking, Architecture and Storage, July 28-30, 2011, Dalian,China. New Jersey: IEEE Press, 2011:278-287.
[46] STENDER J, KOLBECK B, HOGQVIST M. BabuDB: fast and effcient file system metadata storage[C]//2010 International Wo r k s h o p o n S t o r a g e N e t w o r k Architecture and Parallel I/Os, May 3,2010, Incline Village, USA. New Jersey:IEEE Press, 2010: 51-58.
[47] C H E N P M, PAT T E R S O N D A.Maximizing performance in a striped disk array[J]. SIGARCH Computer Architecture News, 1990, 18(2SI): 322-331.
[48] ROSS R B, CARNS P H, THAKUR R.PVFS: a parallel file system for linux clusters[C]//The 4th Annual Linux Showcase and Conference, October 10-14, 2000,Atlanta, Georgia. Berkeley: USENIX Association Berkeley, 2000: 391-430.
[49] S CH EU ER M A N N P, W EI KU M G,ZABBACK P. Data partitioning and load balancing in parallel disk systems[J]. The VLDB Journal, 1998, 7(1): 48-66.
[50] VASQUEZ H, LUDWIG T. Hint controlled distribution with parallel file systems[C]//Recent Advances in Parallel Virtual Machine and Message Passing Interface,September 18-21, 2005, Sorrento, Italy.Berlin: Springer, 2005: 110-118.
[51] DONG B, LI X, XIAO L, et al. A new filespecific stripe size selection method for highly concurrent data access[C]//IEEE 13th International Conference on Grid Computing, September 20-23, 2012,Beijing, China. New Jersey: IEEE Press,2012: 22-30.
[52] LEE L. File assignment in parallel I/O systems with minimal variance of service time[J]. IEEE Transactions on Computers,2000, 49(2): 127-140.
[53] KUNKEL J M. Towards automatic load balancing of a parallel file system with subfile based migration[D]. Heidelberg:Heidelberg University, 2007.
[54] S CH EU ER M A N N P, W EI KU M G,ZABBACK P. Data partitioning and load balancing in parallel disk systems[J]. The VLDB Journal, 1998, 7(1): 48-66.
[55] SCHMUCK F B, HASKIN R. GPFS:a shared-disk file system for large computing clusters[C]//Conference on File and Storage Technologies, January 28-30, 2002, Monterey, USA. Berkeley:USENIX Association Berkeley, 2002: 19.
[56] CARNS P H, III LIGON W B, ROSS R B,et al. PVFS: a parallel file system for Linux Clusters[C]//The 4th Annual Linux Showcase and Conference, October 10-14,2000, Atlanta, USA. Berkeley: USENIX Association Berkeley, 2000: 391-430.
[57] LIU W, WU M, OU X, et al. Design of an I/O balancing file system on Web server clusters[C]// The 2000 International Workshop on Parallel Processing, August 21-24, 2000, Toronto, Canada. New Jersey: IEEE Press, 2000: 119-126.
[58] S CH ROEDER B, GI B S ON G A. A large-scale study of failures in highperformance computing systems[J].International Conference on Dependable Systems amp; Networks, 2010, 7(4): 337-351.
[59] DONG B, LI X Q, WU Q M, et al. A dynamic and adaptive load balancing strategy for parallel file system with large-scale I/O servers[J]. Journal of Parallel and Distributed Computing, 2012,72(10): 1254-1268.
[60] DOWDY L W, FOSTER D V. Comparative models of the file assignment problem[J].ACM Computing Surveys, 1982, 14(2):287-313.
[61] VERMA A, ANAND A. General store placement for response time minimization in parallel disks[J]. Journal of Parallel amp;Distributed Computing, 2007, 67(12):1286-1300.
[62] L E E L W, S C H E U E R M A N N P,VINGRALEK R. File assignment in parallel I/O systems with minimal variance of service time[J]. IEEE Transactions on Computers, 2000, 49(2): 127-140.
[63] XIE T, SUN Y. A file assignment strategy independent of workload characteristic assumptions[J]. ACM Transactions on Storage, 2009, 5(3): 1-24.
[64] DONG B, LI X Q, XIAO L M, et al. An optimal candidate selection model for self-acting load balancing of parallel file system[J]. International Journal of High Performance Computing and Networking,2012, 7(2): 123-128.
[65] CAMPELLO D, LOPEZ H, USECHE L, et al. Non-blocking writes to files[C]//The 13th USENIX Conference on File and Storage Technologies, February 16-19, 2015, Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2015: 151-165.
[66] BHAGWAT D, PATIL M, OSTROWSKI M, et al. A practical implementation of clustered fault tolerant write acceleration in a virtualized environment[C]//The 13th USENIX Conference on File and Storage Technologies, February 16-19, 2015,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2015: 287-300.
[67] LI Q, SHI L, XUE C J, et al. Access characteristic guided read and write cost regulation for performance improvement on flash memory[C]//The 14th USENIX C o n fe re nc e o n Fi le a nd St o r a ge Technologies, February 22-25, 2016,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2016: 125-132.
[68] JANNEN W, YUAN J, ZHAN Y, et al.BetrFS: a right-optimized writeoptimized file system[C]//The 13th USENIX Conference on File and Storage Technologies, February 16-19, 2015,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2015: 301-315.
[69] YUAN J, ZHAN Y, JANNEN W, et al.Optimizing every operation in a writeoptimized file system[C] //The 14th USENIX Conference on File and Storage Technologies, February 22-25, 2016,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2016: 1-14.
[70] LEE S K, LIM K H, SONG H, et al.WORT: write optimal radix tree for persistent memory storage systems[C]//The 15th USENIX Conference on File and Storage Technologies, February 27-March 2, 2017, Santa Clara, USA.Berkeley: USENIX Association Berkeley,2017: 257-270.
[71] DOUGLIS F, DUGGAL A, SHILANE P, et al.The logic of physical garbage collection in deduplicating storage[C]//The 15th USENIX Conference on File and Storage Technologies, February 27-March 2,2017, Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2017: 29-44.
[72] R U M B L E S M, K E J R I WA L A,OUSTERHOUT J K, et al. Log-structured memory for DRAM-based storage[C]//The 12th Usenix Conference on File and Storage Technologies, February 17-20, 2014,Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2014: 1-16.
[73] CULLY B, WIRES J, MEYER D T, et al.Strata: scalable high-performance storage on virtualized non-volatile memory[C]//The 12th USENIX Conference on File and Storage Technologies, February 17-20,2014, Santa Clara, USA. Berkeley: USENIX Association Berkeley, 2014: 17-31.
[74] CAULFIELD A M, DE A, COBURN J,et al. Moneta: a high-performance storage array architecture for nextgeneration, non-volatile memories[C]//The 43rd Annual IEEE/ACM International Symposium on Microarchitecture (2010),December 4-8, 2010, Atlanta, USA. New Jersey: IEEE Press, 2010: 385-395.
[75] KIM H, SESHADRI S, DICKEY C L, et al.Evaluating phase change memory for enterprise storage systems: a study of caching and tiering approaches[J]. ACM Transactions on Storage, 2014, 10(4):1-21.
[76] DEMERS A, KESHAV S, SHENKER S.Analysis and simulation of a fair queueing algorithm[J]. ACM SIGCOMM Computer Communication Review, 1989, 19(4): 1-12.
[77] GOYAL P, VIN H M, CHEN H. Starttime fair queueing: a scheduling algorithm for integrated services packet switching networks[J]. ACM SIGCOMM Computer Communication Review, 1996, 26(4): 157-168.
[78] GULATI A, AHMAD I, WALDSPURGER C A. PARDA: proportional allocation of resources for distributed storage access[C]//The 7th USENIX Conference on File and Storage Technologies,February 24-27, 2009, San Francisco,USA. Berkeley: USENIX Association,2009: 85-98.
[79] GULATI A, KUMAR C, AHMAD I, et al.BASIL: automated IO load balancing across storage devices[C]//The 8th USENIX Conference on File and Storage Technologies, February 23-26, 2010, San Jose, USA. Berkeley: USENIX Association Berkeley, 2010: 169-182.
[80] GULATI A, SHANMUGANATHAN G,Z H A NG X, et a l. D ema nd ba s e d hierarchical QoS using storage resource pools[C]//The 2012 USENIX Conference on Annual Technical Conference, June 13-15, 2012, Boston, USA. Berkeley:USENIX Association Berkeley, 2012:1-13.
[81] GHODSI A, ZAHARIA M, HINDMAN B, et al. Dominant resource fairness:fair allocation of multiple resource types[C]//The 8th USENIX Conference on Networked Systems Design and Implementation, March 30-April 1,2011, Boston, USA. Berkeley: USENIX Association Berkeley, 2011: 323-336.
[82] GHODSI A, SEKAR V, ZAHARIA M,et al. Multi-resource fair queueing for packet processing[J]. ACM SIGCOMM Computer Communication Review, 2012,42(4): 1-12.
[83] DOLEV D, FEITELSON D G, HALPERN J Y, et al. No justified complaints: on fair sharing of multiple resources[C]//The 3rd Innovations in Theoretical Computer Science Conference, January 8-10, 2012,Cambridge, UK. New York: ACM Press,2012: 68-75.
[84] GUTMAN A, NISAN N. Fair allocation without trade[C]//The 11th International Conference on Autonomous Agents and Multiagent Systems, June 4-8, 2012,Valencia, Spain. New York: ACM Press,2012: 719-728.
[85] PSOMAS C A, SCHWARTZ J. Beyond beyond dominant resource fairness:indivisible resource allocation in clusters[R]. Berkeley: Tech Report Berkeley, 2013.
[86] PA R K E S D C, PRO CACCI A A D,SHAH N. Beyond dominant resource fairness: extensions, limitations, and indivisibilities[J]. ACM Transactions on Economics and Computation, 2015, 3(1): 3.
[87] WANG H, VARMAN P. Balancing fairness and effciency in tiered storage systems with bottleneck-aware allocation[C]//The 12th USENIX Conference on File and Storage Technologies, February 17-20,2014, Santa Clara, USA. Berkeley:USENIX Association Berkeley, 2014:229-242.
[88] WANG W, LIANG B, LI B. Multi-resource fair allocation in heterogeneous cloud computing systems[J]. IEEE Transactions on Parallel and Distributed Systems,2015, 26(10): 2822-2835.
[89] HUO Z S, XIAO L M, ZHONG Q L, et al.Hybrid storage throughput allocation among multiple clients in heterogeneous data center[C]//IEEE 7th International Symposium on High Performance Computing and Communications, August 24-26, 2015, New York, USA. New Jersey: IEEE Press, 2015: 140-147.
[90] VAKALI A. Evolutionary techniques for web caching[J]. Distributed amp; Parallel Databases, 2002,11(1): 93-116.
[91] M A DHYASTH A T M, REED D A.Learning to classify parallel input/output access patterns[J]. IEEE Transactions on Parallel amp; Distributed Systems, 2002,13(8): 802-813.
[92] SETTLEMYER B W. A study of clientbased caching for parallel I/O[D].Clemson: Clemson University, 2009.
[93] VILAYANNUR M, SIVASUBRAMANIAM A, KANDEMIR M, et al. Discretionary caching for I/O on clusters[J]. Cluster Computing, 2006, 9(1): 29-44.
[94] WANG X, MALIK T, BURNS R, et al.A workload-driven unit of cache replacement for mid-tier database caching[C]//The 12th International Conference on Database Systems for Advanced Applications(DASFAA’07),April 9-12, 2007, Bangkok, Thailand.Berlin: Springer-Verlag, 2007: 374-385
[95] SETTLEMYER B W. A study of clientbased caching for parallel I/O[D].Clemson: Clemson University, 2009.
[96] VILAYANNUR M, SIVASUBRAMANIAM A, KANDEMIR M, et al. Discretionary caching for i/o on clusters[J]. Cluster Computing, 2006, 9(1): 29-44.
[97] M A DHYASTH A T M, REED D A.Learning to classify parallel input/output access patterns[J]. IEEE Transactions on Parallel amp; Distributed Systems, 2002,13(8): 802-813.
[98] WACHS M, A BD-EL-M A L EK M,THERESKA E, et al, Argon: performance insulation for shared storage servers[C]//The 5th USENIX Conference on File and Storage Technologies(FAST’07),February 13-16, 2007, San Jose, USA.Berkeley: USENIX Association Berkeley,2007: 5.
[99] V I L A Y A N N U R M, N A T H P,SIVASUBRAMANIAM A. Providing tunable consistency for a parallel file store[C]//The 3rd USENIX conference on File and Storage Technologies(FAST’07)(FAST’05), December 13-16, 2005,San Francisco, USA. Berkeley: USENIX Association Berkeley, 2005: 17-30.
[100] F R A S C A M, P R A B H A K A R R,RAGHAVAN P, et al. Virtual I/O caching:dynamic storage cache management for concurrent workloads[C]//2011 International Conference for High Performance Computing, Networking,Storage and Analysis, December 29,2011, Seatle, USA. New Jersey: IEEE Press, 2011: 1-11.
[101] LI M, VARKI E, BHATIA S, et al. Tap:table-based prefetching for Storage caches[C]//The 6th USENIX Conference on File and Storage Technologies,February 26-29, 2008, San Jose, USA.Berkeley: USENIX Association Berkeley,2008: 1-16.
[102] LI X Q, DONG B, XIAO L M, et al. Small files problem in parallel file system[C]//The 2011 International Conference on Network Computing and Information Security, May 14-15, 2011, Guilin,China. New Jersey: IEEE Press, 2011:227-234.
Review of I/O performance optimization technology for big data storage system
XIAO Limin, HUO Zhisheng
School of Computer Science and Engineering, Beihang University, Beijing 100191, China
The I/O performance of big data storage system is one of the key factors that affect the overall performance of big data applications. The I/O performance optimization of big data storage system in storage system architecture, metadata I/O performance and data I/O performance was summarized, and some research directions of I/O performance optimization for big data storage systems in future were pointed out.
big data storage system, storage system architecture, metadata I/O performance, data I/O performance, performance optimization technology
TP 399
A
10.11959/j.issn.2096-0271.2017062
肖利民(1970-),男,北京航空航天大學(xué)教授、博士生導(dǎo)師,計(jì)算機(jī)科學(xué)技術(shù)系主任,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)研究所副所長。中國計(jì)算機(jī)學(xué)會(huì)大數(shù)據(jù)專家委員會(huì)委員、高性能計(jì)算專業(yè)委員會(huì)常務(wù)委員、容錯(cuò)計(jì)算專業(yè)委員會(huì)委員,中國電子學(xué)會(huì)云計(jì)算專家委員會(huì)委員。主要研究方向?yàn)榇髷?shù)據(jù)存儲(chǔ)與文件系統(tǒng)、系統(tǒng)虛擬化與云計(jì)算、高性能計(jì)算機(jī)和服務(wù)器系統(tǒng)、計(jì)算機(jī)系統(tǒng)安全等。
霍志勝(1983-),男,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院博士生,主要研究方向?yàn)榇髷?shù)據(jù)存儲(chǔ)與分布式文件系統(tǒng)。
2017-04-13