• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向NVM的混合粒度文件系統(tǒng)

      2016-05-14 15:49:00何耀蔡濤彭長生
      軟件導(dǎo)刊 2016年7期

      何耀 蔡濤 彭長生

      摘要:設(shè)計面向NVM的混合粒度文件系統(tǒng)UFS,首先給出混合粒度文件系統(tǒng)的結(jié)構(gòu);設(shè)計空間管理策略,將兩類NVM存儲設(shè)備的空間劃分為字節(jié)區(qū)和塊區(qū);然后基于多級索引表的元數(shù)據(jù)和數(shù)據(jù)管理策略,提高元數(shù)據(jù)和數(shù)據(jù)的查找性能;設(shè)計了混合式文件數(shù)據(jù)管理策略,在兩類NVM存儲設(shè)備之間合理分布數(shù)據(jù),提高數(shù)據(jù)的訪問效率,解決單一NVM存儲設(shè)備存儲空間不足的問題;最后在fuse的基礎(chǔ)上實現(xiàn)了UFS原型系統(tǒng),使用postmark和fio工具進(jìn)行了測試與分析。結(jié)果表明UFS相比Ext3在I/O性能上提高了28%~166%,接近于ramfs,在保證I/O性能的同時,解決了DIMM接口NVM存儲設(shè)備空間不足問題。

      關(guān)鍵詞關(guān)鍵詞:存儲級內(nèi)存; SCM; 非易失存儲器;混合文件系統(tǒng)

      DOIDOI:10.11907/rjdk.161389

      中圖分類號:TP301文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2016)007001704

      0引言

      隨著4G、物聯(lián)網(wǎng)、云計算等技術(shù)的飛快發(fā)展,人類正在從IT時代走向DT時代。DT時代意味著數(shù)以億計的智能終端和傳感器設(shè)備每時每刻都在向后臺系統(tǒng)傳輸海量數(shù)據(jù)。數(shù)據(jù)規(guī)模呈現(xiàn)爆炸式增長的同時,數(shù)據(jù)的存儲性能和管理需求也面臨新的挑戰(zhàn)和機遇。為了解決此問題,研究開發(fā)新型存儲技術(shù),成為未來構(gòu)建高性能存儲系統(tǒng)的關(guān)鍵。隨著半導(dǎo)體技術(shù)的發(fā)展,一些具有優(yōu)良特性的NVM(nonvolatile memory)為構(gòu)建高性能存儲系統(tǒng)提供了契機,主要包括:相變存儲器(PCM)、自旋轉(zhuǎn)移力矩磁存儲器(STTRAM)、鐵電存儲器(FeRAM)等。這類NVM具有內(nèi)存級存取和持久性存儲兩大特點,其主要特征表現(xiàn)為:訪問延遲低、字節(jié)可尋址、集成度高、內(nèi)部無機械運動等。

      目前主要有兩類NVM存儲設(shè)備:替換內(nèi)存的DIMM接口NVM存儲設(shè)備和替換外存的PCIe接口NVM存儲設(shè)備。理想情況下,利用DIMM接口NVM存儲設(shè)備取代DRAM和硬盤,形成單層存儲結(jié)構(gòu)。一方面,CPU能直接通過load/store指令訪問數(shù)據(jù),避免已有內(nèi)核IO棧的軟件開銷\[1,2\]。另一方面,基于DIMM接口的NVM存儲設(shè)備可以通過CPU的cache提高設(shè)備的讀寫性能。由于DIMM插口數(shù)量和NVM集成工藝等限制,難以獨立構(gòu)建大容量SCM系統(tǒng),因此在未來很長一段時間內(nèi),混合使用DIMM和PCIe兩類接口的NVM存儲設(shè)備是必然選擇。但是現(xiàn)有內(nèi)外存管理算法針對單一類型的存儲設(shè)備而設(shè)計,無法有效管理由兩類NVM存儲設(shè)備構(gòu)建的混合存儲系統(tǒng)。同時兩類NVM存儲設(shè)備在接口、性能、容量等存在差異;存儲系統(tǒng)中元數(shù)據(jù)和數(shù)據(jù)、文件之間的數(shù)據(jù)、單個文件的不同部分?jǐn)?shù)據(jù),都具有不同的訪問特性。這給統(tǒng)一管理兩類NVM存儲設(shè)備增加了難度,同時也提供了思路。

      本文基于混合存儲結(jié)構(gòu),針對DIMM和PCIe接口NVM存儲設(shè)備并存的情況,設(shè)計面向NVM的混合粒度文件系統(tǒng)UFS,實現(xiàn)兩類NVM存儲設(shè)備的統(tǒng)一管理NVM存儲設(shè)備。

      1相關(guān)研究

      在針對NVM構(gòu)建新型文件系統(tǒng)方面,文獻(xiàn)使用已有的OS基礎(chǔ)設(shè)施優(yōu)化了文件系統(tǒng),同時簡化了其實現(xiàn),通過虛擬地址空間存儲文件數(shù)據(jù),使用內(nèi)存管理單元管理NVM空間,具有良好的性能;文獻(xiàn)、針對NVM設(shè)計了新型文件系統(tǒng),圍繞DIMM接口NVM存儲設(shè)備的字節(jié)尋址和持久化特性,優(yōu)化了文件組織結(jié)構(gòu)和一致性策略,顯著提高了性能;文獻(xiàn)構(gòu)建了針對NVM的運行時庫,提供給用戶程序使用,減少內(nèi)核交互的軟件開銷,極大地發(fā)揮了NVM性能。

      在利用NVM構(gòu)建混合存儲系統(tǒng)方面,文獻(xiàn)使用帶后備電池的RAM構(gòu)建文件的緩存,避免頻繁將數(shù)據(jù)寫入磁盤,提高文件系統(tǒng)的性能;文獻(xiàn)使用NVM存放文件系統(tǒng)中的元數(shù)據(jù)和小文件,設(shè)計了數(shù)據(jù)遷移算法避免NVM的空間限制;文獻(xiàn)分離數(shù)據(jù)和元數(shù)據(jù),僅將元數(shù)據(jù)存放在NVM中,加速元數(shù)據(jù)的訪問性能,同時使用輕量級事務(wù)機制避免了元數(shù)據(jù)更新的寫放大問題;文獻(xiàn)使用NVM作為數(shù)據(jù)的緩存和持久性存儲空間,通過緩存SSD的數(shù)據(jù)并適時調(diào)整熱點數(shù)據(jù)到NVM上存儲,提高了基于Flash的SSD隨機寫性能,延長使用壽命。

      綜上所述,目前針對NVM構(gòu)建的新型文件系統(tǒng),主要考慮的是如何避免各種軟件開銷,最大限度發(fā)揮DIMM接口NVM存儲設(shè)備的性能,但沒有考慮到現(xiàn)有單個NVM存儲設(shè)備容量有限的問題。針對NVM構(gòu)建混合存儲系統(tǒng)方面,大多利用NVM作為緩存,同時研究數(shù)據(jù)的動態(tài)遷移算法,但沒有考慮到文件數(shù)據(jù)之間以及文件與文件之間訪問特性的區(qū)別。

      2混合粒度文件系統(tǒng)結(jié)構(gòu)

      兩類NVM存儲設(shè)備在訪問接口、訪問性能等方面存在差異,主要表現(xiàn)為:①DIMM接口NVM存儲設(shè)備具有非易失性、低訪問延遲和I/O性能高等優(yōu)點,同時支持字節(jié)尋址的方式能夠?qū)崿F(xiàn)更加靈活的管理粒度;②PCIe接口NVM存儲設(shè)備基于I/O總線,具備良好的向后兼容性,同時其單個設(shè)備存儲密度更大、價格低,適用于構(gòu)建基于NVM的大容量存儲系統(tǒng)。因此針對DIMM和PCIe兩類NVM存儲設(shè)備特性混合構(gòu)建的存儲系統(tǒng),本文設(shè)計了混合粒度文件系統(tǒng)UFS,其結(jié)構(gòu)如圖1所示。

      混合粒度文件系統(tǒng)主要包含3個功能模塊:①空間管理模塊負(fù)責(zé)存儲空間的分配與管理,以及維護文件系統(tǒng)的視圖;②元數(shù)據(jù)管理模塊負(fù)責(zé)兩類NVM存儲設(shè)備的元數(shù)據(jù)組織和索引;③聚合式文件管理模塊負(fù)責(zé)在兩類NVM存儲設(shè)備上合理分布數(shù)據(jù)。

      3混合粒度文件系統(tǒng)空間管理策略

      混合粒度文件系統(tǒng)視圖如圖2所示。將DIMM和PCIe接口NVM存儲設(shè)備空間分別劃分為字節(jié)區(qū)和塊區(qū),不同于Ext2\[15\]基于整個存儲空間的塊管理。字節(jié)區(qū)能利用DIMM接口NVM存儲設(shè)備特性,能夠滿足對訪問延遲、讀寫性能有較高要求的數(shù)據(jù)請求,避免數(shù)據(jù)因為粗粒度管理方式導(dǎo)致存儲效率不高。因此將超級塊、索引節(jié)點和目錄樹等元數(shù)據(jù)存放在字節(jié)區(qū),同時將剩余的字節(jié)區(qū)空間用于存放頻繁訪問的文件數(shù)據(jù)以及小文件。塊區(qū)利用PCIe接口NVM存儲設(shè)備容量上的優(yōu)勢,同時在以塊整數(shù)倍訪問時也具有較高的I/O性能。因此,將大文件以及最近未訪問的文件數(shù)據(jù)存放在塊區(qū)。

      由于字節(jié)區(qū)的管理粒度太小容易導(dǎo)致空間分配和回收的復(fù)雜性,因此混合粒度設(shè)計了一個簡單高效的freelist鏈表結(jié)構(gòu)來組織空閑區(qū)。其中鏈表中每個節(jié)點通過如圖3所示的node描述符結(jié)構(gòu)來表示已經(jīng)申請的空閑區(qū)。

      Flag占用Addr的最高位,用于指示申請的空閑區(qū)位于字節(jié)區(qū)還是塊區(qū)。Addr長度由63bit的整數(shù)表示,用于指示申請的空閑區(qū)起始地址,63bit的尋址空間足夠支持8EB的存儲空間。Len表示連續(xù)空閑區(qū)的長度。Resvrd為保留字段?;旌狭6任募到y(tǒng)利用Len字段能夠支持連續(xù)塊分配,大大減少了空閑塊的分配次數(shù)和訪問數(shù)據(jù)塊時的查找次數(shù),提高I/O效率。

      4基于多級索引表的元數(shù)據(jù)管理策略

      混合粒度文件系統(tǒng)中字節(jié)區(qū)主要存放元數(shù)據(jù),包括inode、目錄、文件間接塊,由于沒有傳統(tǒng)磁盤尋道操作的訪問開銷,無需設(shè)計類似B+樹具有復(fù)雜分裂和合并的管理機制。

      在混合粒度文件系統(tǒng)中采用類似Ext2中的多級索引表來組織和管理文件和inode表(視為特殊文件),保證數(shù)據(jù)靈活存儲的同時,仍具有較高搜索速度。多級索引表包含有直接尋址字段和間接尋址字段。直接尋址字段直接指向數(shù)據(jù)塊,有助于提高小文件的索引能力;間接尋址字段中每個中間節(jié)點存放指向多個子節(jié)點的指針數(shù)組,通過索引ID與數(shù)據(jù)塊地址的映射實現(xiàn)對文件內(nèi)容的檢索。

      5混合式文件數(shù)據(jù)管理策略

      由于受到DIMM接口數(shù)量以及單個NVM集成度的限制,混合粒度文件系統(tǒng)的字節(jié)區(qū)不可能存放所有文件數(shù)據(jù)。此外,對單個文件而言、各部分?jǐn)?shù)據(jù)在訪問頻率上也存在很大差異,現(xiàn)有通過內(nèi)存統(tǒng)一緩存數(shù)據(jù)來減少響應(yīng)時間的方法,存在管理效率不高,無法適應(yīng)存儲級內(nèi)存的問題。據(jù)此,混合粒度文件系統(tǒng)設(shè)計了聚合式文件組織結(jié)構(gòu),構(gòu)建文件內(nèi)緩存提高文件訪問性能。聚合式文件inode結(jié)構(gòu)如圖4所示。

      將文件存儲空間劃分為緩沖區(qū)和數(shù)據(jù)區(qū)兩個部分,通過預(yù)留部分的直接尋址字段構(gòu)建Sizep大小的緩沖區(qū)。文件可以通過type字段來識別緩沖區(qū)存儲的數(shù)據(jù)類型,例如是小文件,還是頻繁訪問的熱數(shù)據(jù)?數(shù)據(jù)區(qū)則基于多級索引表滿足大文件的存儲和訪問需求。聚合式文件組織結(jié)構(gòu)提高了文件數(shù)據(jù)的訪問性能,同時也避免了字節(jié)區(qū)空間不足的問題。

      6系統(tǒng)原型測試與分析

      在fuse用戶態(tài)文件系統(tǒng)的基礎(chǔ)上,實現(xiàn)了面向兩類NVM存儲設(shè)備的混合粒度文件系統(tǒng)UFS。由于當(dāng)前沒有成熟的NVM存儲設(shè)備,基于內(nèi)存模擬兩類NVM存儲設(shè)備,具體步驟如下:

      (1)使用PMBD模擬器模擬PCIe接口的NVM存儲設(shè)備,設(shè)置80ns的讀延遲和1000ns的寫延遲模擬PCM類型NVM存儲設(shè)備特性。PMBD通過掛載點提供塊區(qū)存儲空間。

      (2)DIMM接口NVM存儲設(shè)備的訪問特性和訪問性能與DRAM類似,因此直接通過預(yù)留內(nèi)核地址空間提供字節(jié)區(qū)存儲空間。

      (3)使用fuse建立用戶態(tài)文件系統(tǒng),實現(xiàn)相應(yīng)的組織結(jié)構(gòu)和管理功能,構(gòu)建面向NVM的混合粒度文件系統(tǒng)。

      UFS軟硬件環(huán)境配置如表1所示,使用postmark和Time測試工具評估原型系統(tǒng)的性能。

      首先配置UFS中Sizep的值為4100KB;然后設(shè)置postmark數(shù)據(jù)集包含30 000個大小為1 000~5 000KB的文件和1 000個目錄;同時設(shè)置讀寫塊大小為4 096KB;最后得到UFS的寫性能,如圖5所示。

      從圖5可以看出,由于Ext3是基于塊的文件系統(tǒng),UFS相對于Ext3在寫性能上提高了28%。因此基于兩類NVM存儲設(shè)備特性,將DIMM和PCIe接口NVM存儲設(shè)備空間分別劃分為字節(jié)區(qū)和塊區(qū),比單純使用PCIe接口NVM存儲設(shè)備具有更高的寫性能優(yōu)勢。相對于ramfs,UFS在寫性能方面降低了38%,這是由于Sizep大小的限制使得大部分?jǐn)?shù)據(jù)必須存放在塊區(qū),增加了訪問延遲。但相比僅使用DIMM接口NVM存儲設(shè)備的ramfs,UFS解決了存儲空間不足的問題。

      為了測試文件緩沖區(qū)大小對UFS寫性能的影響,將Sizep的值分別設(shè)置為3700、4100、4500、4700和4900字節(jié),然后使用上一節(jié)postmark相同配置繼續(xù)測試UFS、Ext3(Ext3 on PMBD)和ramfs。實驗結(jié)果如圖6所示。可以看出,UFS的寫性能隨著文件緩沖區(qū)Sizep的增大而上升,相對于Ext3,UFS的寫性能從1.28x增加到了1.66x,這表明不同接口的NVM存儲設(shè)備對文件系統(tǒng)性能有較大影響,利用字節(jié)區(qū)存儲更多的文件數(shù)據(jù),能夠顯著提高系統(tǒng)的寫性能;但寫性能的提高與緩沖區(qū)大小之間并不是線性關(guān)系,UFS的緩沖區(qū)增加了32%的存儲空間,但寫性能僅提高了22%,這說明通過合理利用字節(jié)區(qū)構(gòu)建文件內(nèi)緩存,能夠避免過度依賴DIMM接口NVM存儲設(shè)備的問題。

      6.2使用Postmar測試的讀性能

      使用6.1中相同的方法,首先測試UFS中Sizep為4100Kb時的讀性能,如圖7所示。可以看出NVMCFS在讀性能方面相比Ext3提高了41%,相比ramfs僅降低30%,這表明UFS使用DIMM接口NVM存儲設(shè)備構(gòu)建的文件緩沖區(qū)降低了讀延遲。相比寫性能UFS的讀性能更接近與ramfs,這是由于模擬PCIe接口的NVM存儲設(shè)備的讀延遲低于寫延遲,從而進(jìn)一步體現(xiàn)了UFS使用DIMM接口NVM存儲設(shè)備構(gòu)建文件緩沖區(qū)的優(yōu)勢。

      類似地,分別設(shè)置Sizep的值為3 700、4 100、4 500、4 700和4 900字節(jié),測試緩沖區(qū)大小的變化對UFS讀性能的影響。從圖8可以看出,隨著文件緩沖區(qū)的增加,UFS的讀性能也越來越接近與ramfs,最小差距為22%,這表明通過設(shè)計的聚合式文件組織結(jié)構(gòu),在文件內(nèi)緩沖文件數(shù)據(jù),有效減少了訪問PCIe接口NVM存儲設(shè)備的次數(shù),從而提高了文件系統(tǒng)的性能。同時,由于管理開銷以及fuse額外的I/O訪問路徑,給UFS帶來了額外讀寫開銷,因此進(jìn)一步發(fā)揮NVM系統(tǒng)的性能必須考慮軟件和接口方面的優(yōu)化。

      6.3使用Fio的測試與分析

      為進(jìn)一步評估UFS的I/O性能,在Linux下使用fio工具,測試隨機讀寫的性能。配置Sizep的值為4 100KB;然后設(shè)置fio為隨機讀寫模式,包含1 000個目錄和30 000個平均文件大小為6 000KB數(shù)據(jù)集,設(shè)置讀寫比為3:7,讀寫塊大小為4 096KB,測試結(jié)果如圖9所示。UFS在隨機讀和隨機寫方面的性能均低于ramfs。一方面是因為數(shù)據(jù)集中大部分文件大于Sizep,使得聚合式文件結(jié)構(gòu)使用I/O性能較差的塊區(qū)存儲數(shù)據(jù);另一方面,也表明通過fuse構(gòu)建的用戶態(tài)文件系統(tǒng)具有冗余的I/O訪問路徑,導(dǎo)致額外的內(nèi)核切換開銷,從而降低了文件系統(tǒng)性能。但相比Ext3,UFS在隨機讀寫方面都表現(xiàn)出優(yōu)勢,有效管理了不同特性的兩類NVM存儲設(shè)備。圖9使用fio測試隨機讀寫性能

      7結(jié)語

      由于DIMM插槽數(shù)量和單個NVM集成度的限制,當(dāng)前構(gòu)建大容量SCM通常同時使用DIMM和PCIe接口的NVM存儲設(shè)備。然而兩類NVM存儲設(shè)備在物理接口和訪問性能上存在巨大差異,同時存儲系統(tǒng)中文件數(shù)據(jù)之間以及文件與文件之間也存在不同的訪問特性,使得當(dāng)前針對單一設(shè)備設(shè)計的內(nèi)外存管理算法均難以直接應(yīng)用在面向NVM的混合存儲系統(tǒng)中。本文針對兩類NVM存儲設(shè)備的特性,將存儲空間劃分為字節(jié)區(qū)和塊區(qū);設(shè)計了基于多級索引表的元數(shù)據(jù)和數(shù)據(jù)管理策略,提高元數(shù)據(jù)和數(shù)據(jù)的查找性能;設(shè)計了混合式文件數(shù)據(jù)管理策略,在兩類NVM存儲設(shè)備之間合理分布數(shù)據(jù),提高數(shù)據(jù)的訪問效率,解決單一NVM存儲設(shè)備存儲空間不足的問題;最后實現(xiàn)了混合粒度文件系統(tǒng)的原型,使用postmark和相關(guān)數(shù)據(jù)集進(jìn)行了測試與分析,測試結(jié)果表明UFS的數(shù)據(jù)讀寫性能相比基于塊的Ext3文件系統(tǒng)提高了28%-166%。

      本文主要利用DIMM接口的NVM存儲設(shè)備提高整個存儲系統(tǒng)的IO性能,同時利用PCIe接口NVM存儲設(shè)備提高存儲系統(tǒng)容量,下一步將探索如何改變PCIe接口NVM存儲設(shè)備的內(nèi)部管理方式,進(jìn)一步提高文件系統(tǒng)的性能。

      參考文獻(xiàn)參考文獻(xiàn):

      Intel 64 software developers manual[Z].2013.

      SWANSON S, CAULFIELD A M. Refactor, reduce, recycle: restructuring the I/O stack for the future of storage [J]. Computer, 2013 (8): 5259.

      WU X, REDDY A L. SCMFS: a file system for storage class memory.Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis.ACM,2011.

      J CONDIT,E B NIGHTINGALE, C FROST,et al.Better I/O through byte addressable,persistent memory[C].In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, SOSP 09,2009:133146.

      DULLOOR S R, KUMAR S, KESHAVAMURTHY A,et al.System software for persistent memory.Proceedings of the Ninth European Conference on Computer Systems. ACM, 2014: 15.

      扬中市| 通榆县| 珠海市| 政和县| 乐清市| 驻马店市| 嘉义县| 伽师县| 漳平市| 乃东县| 湖北省| 北海市| 邵东县| 湖北省| 六盘水市| 重庆市| 葵青区| 宜宾市| 巩义市| 额尔古纳市| 嵊泗县| 政和县| 漳浦县| 聂荣县| 五大连池市| 闻喜县| 桐乡市| 滨州市| 绩溪县| 广水市| 岳阳市| 清流县| 乐陵市| 大理市| 大渡口区| 兴安县| 崇明县| 洛南县| 阜新| 东至县| 阿合奇县|