国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Pmfs中目錄項索引的實現(xiàn)

2017-07-31 17:47:12陳志廣
計算機應用 2017年5期
關鍵詞:存儲器內(nèi)存指令

楊 順,陳志廣,肖 儂

(國防科學技術大學 計算機學院,長沙 410073)

Pmfs中目錄項索引的實現(xiàn)

楊 順*,陳志廣,肖 儂

(國防科學技術大學 計算機學院,長沙 410073)

(*通信作者電子郵箱792454122@qq.com)

可字節(jié)尋址的非易失存儲介質(zhì),如相變存儲器等,使數(shù)據(jù)可以在內(nèi)存級別持久化。由于非易失存儲器(NVM)本身的讀寫延時非常低,系統(tǒng)軟件開銷成為了決定整個持久化內(nèi)存系統(tǒng)性能的主要因素。Pmfs是一個專門為持久化內(nèi)存所設計的文件系統(tǒng),然而,Pmfs下的每個目錄操作(打開、創(chuàng)建或刪除)都會遍歷目錄下的所有目錄項,導致了隨文件數(shù)增長而線性增長的目錄項查找開銷。通過測試發(fā)現(xiàn),在特定類型負載下這種開銷成為了整個文件系統(tǒng)的瓶頸。針對該問題,在Pmfs中實現(xiàn)了持久化的目錄項索引來加速目錄操作。測試結果顯示,基于單目錄下100 000文件的負載,該優(yōu)化使得文件創(chuàng)建速度提高了12倍,帶寬增加了27.3%。

持久化內(nèi)存;目錄項索引;文件系統(tǒng);非易失存儲器

0 引言

隨著可字節(jié)尋址的非易失存儲器(Non-Volatile Memory, NVM)技術的不斷成熟,大容量、低延時、高帶寬的持久化內(nèi)存系統(tǒng)呼之欲出,工業(yè)界和學術界都為此展開了大量工作。其中, Pmfs[1]是專為NVM設計的文件系統(tǒng),它使用訪存指令將數(shù)據(jù)直接存放在NVM中,從而繞開了傳統(tǒng)文件系統(tǒng)的通用塊層和塊設備驅動層;同時,Pmfs使用了虛擬文件系統(tǒng)(Virtual File System, VFS)的就地執(zhí)行(eXcute In Place, XIP)接口,繞開了頁高速緩存(pagecache),使得數(shù)據(jù)在持久化的過程中只需要一次拷貝,大幅度減少了數(shù)據(jù)存儲的軟件開銷。

和Pmfs類似的工作還有Bpfs[2]、Scmfs[3]等,由于Pmfs的性能優(yōu)勢,許多工作將Pmfs作為性能對比的基準[7-8],或者在Pmfs上進行二次開發(fā)[4-5]。然而在Pmfs中, 每個目錄操作(打開、創(chuàng)建或刪除)都會遍歷目錄下的所有目錄項,導致了隨文件數(shù)增長而線性增加的目錄項查詢開銷。由于NVM本身的讀寫延時非常低,在特定類型的負載下,目錄項查詢的開銷成為了整個數(shù)據(jù)持久化過程中的瓶頸。

與傳統(tǒng)的外存系統(tǒng)不同,Pmfs將數(shù)據(jù)從處理器通過內(nèi)存總線持久化在NVM設備中,由于處理器對指令的重排和高速緩存(cache)對數(shù)據(jù)的暫存,數(shù)據(jù)的順序性被破壞,因此,持久化數(shù)據(jù)的一致性無法得到保證?,F(xiàn)有的工作主要通過處理器提供的clflush和fence指令[9]來保證數(shù)據(jù)持久化的順序性。然而這些指令會帶來較大的額外開銷,在本文中這種為了保證數(shù)據(jù)一致性所帶來的額外系統(tǒng)軟件開銷被稱為一致性開銷。雖然英特爾(Intel)已經(jīng)提出了新的指令來減少這種一致性開銷,但是還沒有推出任何實際的產(chǎn)品。在Pmfs中實現(xiàn)的持久化目錄項索引必定帶來額外的寫操作,增加了一致性開銷。本文通過在不同負載下對Pmfs進行測試,分析了持久化目錄項索引帶來的一致性開銷以及對文件系統(tǒng)整體性能的影響。測試結果顯示,在單目錄下100 000負載下,該優(yōu)化使得Pmfs的文件創(chuàng)建速度增加了12倍, 帶寬增加了27.3%。

本文的主要工作有以下3點:

1)通過測試Pmfs在不同負載下的性能,發(fā)現(xiàn)在單目錄下文件數(shù)量急劇增加時,目錄操作(打開、創(chuàng)建或刪除)成為了Pmfs的性能瓶頸。

2)在Pmfs上增加了持久化目錄項索引,該目錄項索引能融入到所有以Pmfs為基礎開發(fā)的系統(tǒng)中,如Nova[4]、Hinfs[5]等。

3)分析了Pmfs在不同負載下,持久化目錄項索引帶來的一致性開銷和文件系統(tǒng)整體性能的影響。

1 背景和動機

1.1 非易失存儲器

當前主要的新型非易失存儲器件包括相變存儲器[6]、鐵電存儲器[7]、憶阻器[8]、自旋矩傳輸存儲器[9]和三維堆疊的閃存[10]等。相對于動態(tài)隨機讀寫存儲器(Dynamic Random Access Memory, DRAM), NVM 在集成度、 耗能等方面存在很大的優(yōu)勢。同時,NVM還具備與DRAM相近的讀寫性能和DRAM所不具備的非易失特性, 例如,STTRAM的讀寫延時都只需要20 ns。因此,近年來許多工作[1-5,11-14]都在探究如何用NVM來構建同時提供內(nèi)存級別的性能和非易失性的存儲系統(tǒng)。

1.2 NVM中的數(shù)據(jù)一致性

作為外存系統(tǒng)中最重要的一個原則,數(shù)據(jù)一致性保證了當系統(tǒng)意外宕機時,數(shù)據(jù)可以被正確地恢復。為保證數(shù)據(jù)的一致性,一次寫操作應該將數(shù)據(jù)全部寫入到持久化設備中或者向上層應用返回失敗信息,保證不會出現(xiàn)部分寫入的情況。然而以連接在內(nèi)存總線上的NVM作為持久化設備時,處理器只能保證64 b的原子寫操作,因此在更新更大粒度的數(shù)據(jù)時,需要在軟件層使用一定的策略來保證持久化數(shù)據(jù)的一致性。在傳統(tǒng)的存儲系統(tǒng)中,常見的策略有寫時復制(Copy On Write,COW)、日志等。這些策略先寫數(shù)據(jù)備份,然后再修改數(shù)據(jù)本身,因此這些策略的前提是在一定程度上保證數(shù)據(jù)寫入的順序性。例如在更新一個B-樹的某個節(jié)點且寫入的數(shù)據(jù)大于64 b時,則需要使用COW策略,即先寫入新的子節(jié)點數(shù)據(jù),然后修改父節(jié)點的指針。如果先修改父節(jié)點指針,且系統(tǒng)意外宕機,數(shù)據(jù)將不能被正確恢復。

然而,當數(shù)據(jù)從處理器被寫入到NVM時,數(shù)據(jù)會被處理器和內(nèi)存控制器進行暫存和重排,因此,許多系統(tǒng)都使用fence(包括mfence和sfence)和clfush的組合命令[15]來保證數(shù)據(jù)寫入內(nèi)存的順序性。其中fence可以保證fence指令前的所有指令執(zhí)行完之前,fence指令后的所有指令的執(zhí)行都會被阻塞;另一方面,clfush則保證了將處理器的某個高速緩沖行立即刷寫到內(nèi)存中。這種指令組合雖然保證了數(shù)據(jù)寫入的順序性,但是clfush會失效高速緩存行,一次這樣的組合指令的平均開銷開銷為250 ns[18]。由于NVM本身的低延時,這樣的系統(tǒng)軟件開銷無法忽略不計。雖然Intel提出了新的指令組合(CLWB/CLFLUSHOPT/ PCOMMIT)[16]來優(yōu)化性能,但是還沒有推出實際的產(chǎn)品。因此在設計NVM存儲系統(tǒng)的上層軟件時,如何減少這樣的一致性開銷十分重要。

1.3 目錄項索引

在傳統(tǒng)的文件系統(tǒng)中,目錄項索引主要分為兩大類:一類是緩存目錄項索引[17],即把目錄項索引存放在DRAM中,而不用存放在持久化設備中;另一類是持久化目錄項索引,即目錄項索引和其他文件元數(shù)據(jù)一樣,需要被存放在持久化介質(zhì)中,如Linux的原生文件系統(tǒng)EXT4中的Htree目錄項索引,ReiseFs[18]中的B-樹目錄項索引。由于緩存目錄項索引會消耗大量DRAM空間以及冷啟動問題,本文在Pmfs中選擇了持久化索引。

通過閱讀Pmfs源碼發(fā)現(xiàn),Pmfs所采用的目錄項數(shù)據(jù)結構和EXT文件系統(tǒng)一致,因此,本文在Pmfs目錄項索引的實現(xiàn)中,采用了Htree數(shù)據(jù)結構。Htree是Btree的變種,具有和Btree相同的查詢、刪除、插入的時間復雜度;不同的是,Htree中所有的葉子節(jié)點高度完全相同。

1.4 相關工作和動機

目前,使用NVM持久化數(shù)據(jù)的系統(tǒng)主要可以分為三類: Nvheap[11]和Mnemosyne[12]通過操作系統(tǒng)的內(nèi)存管理模塊統(tǒng)一管理NVM和Dram,提供給程序員持久化的堆或棧;文獻[1-5]使用文件系統(tǒng)來管理NVM,在文件系統(tǒng)層直接調(diào)用訪存指令,而傳統(tǒng)的文件系統(tǒng)則是經(jīng)過通用塊層,設備驅動層將生成相關Scsi或者NVMe指令,再通過相關傳輸協(xié)議發(fā)向持久化設備的控制器; PMBD[13]則是在設備驅動層來將數(shù)據(jù)流導向NVM,然而這種方式不能有效保證數(shù)據(jù)的一致性。

采用文件系統(tǒng)的方式來管理NVM對于應用程序有很好的兼容性,傳統(tǒng)應用程序不需用任何更改即可使用以NVM作存儲設備的系統(tǒng)中,因此,該方法受到了廣泛關注。Pmfs作為眾多NVM文件系統(tǒng)中的一種,以高性能和開創(chuàng)性成為了其他工作測試對比的基準[19-20],還有許多工作是直接在Pmfs上進行二次開發(fā)[4-5]。

然而,通過測試發(fā)現(xiàn),Pmfs在某些類型負載下性能急劇下降,這些負載的特點如表1所示。

表1 filebench中三種不同類型負載的特點描述和性能統(tǒng)計Tab. 1 Features and performance statistics of three different types of load in filebench

表1展現(xiàn)了這些負載的特點(文件數(shù)100 000)。該測試分為兩部分: 第1部分為文件的預分配,性能指標為文件分配延時; 第2部分是一定比例的文件讀、寫、創(chuàng)建和刪除操作,性能指標為平均帶寬,這部分性能受到很多因素影響,如讀寫比例、平均文件大小、讀寫粒度等。從表1中可以看出,webproxy的文件創(chuàng)建耗時相比其他兩種類型負載大幅增加,webserver和webproxy的帶寬遠遠低于fileserver。為了確認影響性能的關鍵因素,使用filebench自定義了6種負載(如表2所示,其中文件數(shù)100 000)進行測試。

從表2測試結果可以看出,在其他因素相同時,隨著目錄寬度減少和文件大小增加,預分配延時降低,總帶寬增加。當100 000文件全在一個目錄下時,平均文件長度不同的兩種類型負載(表2中的負載3和負載6)的文件預分配耗時分別高達37 s和42 s,帶寬也有大幅度下降,這很可能是由于線性的目錄項查找開銷所引起。為了證明這種猜想和解決該性能瓶頸,本文在Pmfs中實現(xiàn)了持久化目錄項索引來加速文件目錄操作,并測試分析了所實現(xiàn)的目錄項索引對整個文件系統(tǒng)性能的影響和帶來的一致性開銷。

表2 自定義不同類型負載的特點描述和性能統(tǒng)計Tab. 2 Features and performance statistics of six self-defined different types of load

2 數(shù)據(jù)結構和實現(xiàn)

2.1 數(shù)據(jù)結構

Htree[21]是一種專為目錄項索引設計的樹形數(shù)據(jù)結構,和B-樹類似,具有相同的查找、插入和刪除的時間復雜度。不同的是,Htree中所有的葉子節(jié)點的深度完全相同。Htree使用文件名的hash作為鍵值來進行查找,葉子節(jié)點是目錄項所在的數(shù)據(jù)塊,而不是目錄項本身。因此,目錄項的查找過程可以分為兩步:第1步是通過樹形索引查找到目錄項所在的數(shù)據(jù)塊,第2步則是在數(shù)據(jù)塊線性地查找目標目錄項,這樣的設計大大減少了索引塊的數(shù)量。如果文件名出現(xiàn)了Hash沖突,則使用線性探測的方法沿葉子節(jié)點查找,可能跨越多個數(shù)據(jù)塊。

圖1為Htree的一個快照,Block1中開頭為“.”和“..”兩個目錄項,后面兩個索引項分別指向Block2和Block3,這里的指針指向的是數(shù)據(jù)塊在文件中的邏輯正文內(nèi)容地址而不是物理地址。在Htree中之所以使用邏輯地址,本身是以額外的地址轉換開銷為代價,使得實現(xiàn)起來更加方便。而在Pmfs中,數(shù)據(jù)塊在文件邏輯中的邏輯地址到物理地址轉換只需要O(1)的時間復雜度。

圖1 Htree結構示意圖Fig. 1 Htree structure diagram

以查找圖3中的目錄項file2為例,首先將文件名file2轉換成hash值,然后在根索引塊中行查找,得到Block3的邏輯。根據(jù)元數(shù)據(jù)中的目錄項高度信息可以判斷該Block3為數(shù)據(jù)塊而不是索引塊,繼而通過遍歷Block3即可找到file2。

2.2 實現(xiàn)

通過dir_index掛載選項可以打開Pmfs的目錄項索引功能,具體可參考文獻[22]的源碼鏈接。

2.2.1 兼容性

該實現(xiàn)沒有修改任何原有的數(shù)據(jù)結構,當目錄項索引損壞時,依然可以使用遍歷的方式來查找目錄項,保證了不管以什么模式重新掛載使用或沒有使用目錄項索引的Pmfs文件系統(tǒng),都可以正常工作。

2.2.2 一致性

在Pmfs中,使用輕量級日志和COW來保證目錄項數(shù)據(jù)的一致性。該日志每一個目錄項大小為64 B,其中48 B用來寫日志數(shù)據(jù),其他16 B為日志元數(shù)據(jù)。以增加目錄項為例,Pmfs找到準備寫入目錄項的數(shù)據(jù)塊塊號和偏移量,先將該地址和要寫入的數(shù)據(jù)寫入日志,然后再寫入目錄項數(shù)據(jù)。在增加了持久化目錄項索引后,則需要考慮如何保證索引和目錄項數(shù)據(jù)的一致性。

由于索引塊中的索引項必須保證一定的順序,每次寫入新的索引時會造成寫放大效應,即需要寫入該索引項和排在該索引項后面的所用索引項,再鑒于索引的樹狀結構,本文使用COW策略來保證目錄項索引一致性,而不是使用Pmfs所提供的輕量級日志。

3 實驗評估

本章將通過實驗分析所增加的目錄項索引對文件系統(tǒng)的兩個方面的影響:

1)持久化目錄項索引對一致性開銷的影響;

2)目錄項索引對文件系統(tǒng)整體性能的影響。

本文使用filebench標準測試工具,以及表1中的負載來進行測試。這些負載的測試分為兩個部分:第1部分是文件的預分配,所有負載的文件數(shù)量都為100 000,預分配數(shù)量為總文件數(shù)的80%,即80 000;第2部分則是通過一定比例的文件讀、寫、創(chuàng)建和刪除操作來測試文件系統(tǒng)的IOPS(Input/Output Operations Per Second)和帶寬。本文通過測試在相同負載下,Pmfs在增加持久化目錄項索引前后執(zhí)行的fence和flush指令數(shù)量的變化來分析問題1); 對于問題2),則通過相同負載的文件預分配耗時和平均帶寬來分析。

本文使用DRAM來模擬NVM,即通過Linux的mmap啟動選項從操作系統(tǒng)中隔離出一部分內(nèi)存來供Pmfs使用。具體的實驗環(huán)境配置如表3所示。

表3 測試環(huán)境配置參數(shù)Tab. 3 Configuration parameters for test environment

3.1 一致性開銷評估

本文通過在Pmfs中增加全局變量來統(tǒng)計每次測試中執(zhí)行的fence和flush指令數(shù)量。由于每次執(zhí)行fence和flush操作時會對該全局變量進行修改以及產(chǎn)生多線程環(huán)境下的同步開銷,增加該統(tǒng)計功能的Pmfs性能會有所下降; 再者,由于Pmfs在增加持久化目錄項索引項前后的性能發(fā)生變化,即使不考慮所增加的目錄項索引導致的持久化操作,對于同一負載執(zhí)行相同時間的一致性開銷也會有較大變化。因此,這里的測試指標為Pmfs每讀寫1 MB數(shù)據(jù),平均消耗的fence和flush指令的數(shù)量。

圖2是通過表2中的負載所測得的測試結果。可以看到,負載4中的一致性開銷在增加目錄項索引前后的變化最大,fence和flush指令數(shù)量分別增加了9.6%和7.0%;而其他兩種類型負載的一致性開銷變化較小。這是因為負載4的目錄寬度很大,會有較多的目錄項索引,導致了額外的一致性開銷。

圖2 自定義負載下Pmfs增加目錄項索引前后一致性開銷對比Fig. 2 Consistency cost statistics before and after adding directory index

3.2 整體性能評估

目錄項索引帶來的整體性能變化通過兩個方面體現(xiàn):一方面是Pmfs在相同負載下的文件創(chuàng)建速度的變化;另一方面是Pmfs在相同負載下平均帶寬的變化。測試結果分別如圖3和圖4所示,其中所有數(shù)據(jù)為多次測試的平均值。

圖3描述了表1中的三種負載的測試結果,可以看到,在增加了持久化目錄項索引后,Pmfs在負載webproxy下的文件預分配延時降低了91.7%,帶寬增加了25.3%。由于其他兩種類型負載的目錄寬帶較小,因此目錄項索引對性能影響較小,文件預分配耗時沒有變化,帶寬分別增加了1%和1.5%。圖4描述了目錄項索引對表2中自定義的6種負載的性能影響。從中可以看出,目錄寬度為200 000的負載3和負載6性在增加目錄項索引前后性能變化較大,它們的文件預分配耗時分別減少了91.9%和92.8%,帶寬分別增加了27.3%和15.5%,而其他類型負載的各項性能略微提升。從圖3和圖4中還可以看出,在無目錄項索引時,負載webproxy,類型3和類型6的文件預分配延時遠遠高于其他負載。在增加目錄項索引后,所有負載的該項指標基本一致,并且負載6的帶寬也達到了6種負載增加目錄索引前后的最大值。綜上可見,在單目錄下的文件數(shù)急劇增加時,文件系統(tǒng)的性能會大幅下降,通過增加目錄項索引,對于單目錄下100 000文件的負載,文件預分配耗時最多減少了92.8%, 帶寬最多增加了27.3%。

圖3 表1負載下Pmfs增加目錄項索引前后性能對比Fig. 3 Performance statistics of three loads in Tab. 1 before and after adding directory index

圖4 自定義負載下Pmfs增加目錄項索引前后性能對比Fig. 4 Performance statistics of six loads in Tab. 2 before and after adding directory index

4 結語

本文通過測試發(fā)現(xiàn)在單目錄下文件量很大時,Pmfs的性能急劇下降,通過添加持久化的目錄項索引,在帶來了一定一致性開銷的情況下,消除了目錄項查找這一性能瓶頸。該優(yōu)化適用于所有在Pmfs上進行二次開發(fā)的系統(tǒng)。

然而,在測試過程中發(fā)現(xiàn),Pmfs還有很多地方存在性能瓶頸,如塊分配器鎖粒度太大導致并發(fā)寫時的性能瓶頸。接下來,將不斷地對Pmfs進行優(yōu)化。只有這樣經(jīng)過多方優(yōu)化后的Pmfs,在與傳統(tǒng)文件系統(tǒng)對比時,才能體現(xiàn)出非易失內(nèi)這種架構上的變化所帶來的性能影響。

References)

[1] DULLOOR S R, KUMAR S, KESHAVAMURTHY A, et al. System software for persistent memory[C]// Proceedings of the 9th European Conference on Computer Systems. New York: ACM, 2014: Article No. 15.

[2] CONDIT J, NIGHTINGALE E B, FROST C, et al. Better I/O through byte-addressable, persistent memory[C]// Proceedings of the 22nd ACM Symposium on Operating Systems Principles. New York: ACM, 2009:133-146.

[3] FREITAS R F, WILCKE W W. Storage-class memory: the next storage system technology[J]. IBM Journal of Research & Development, 2008, 52(4/5):439-447.

[4] XU J, SWANSON S. NOVA: a log-structured file system for hybrid volatile/non-volatile main memories[C]// Proceedings of the 14th USENIX Conference on File and Storage Technologies. Berkeley, CA: USENIX Association,2016: 323-338.

[5] OU J, SHU J, LU Y. A high performance file system for non-volatile main memory[C]// Proceedings of the 11th European Conference on Computer Systems. New York: ACM, 2016: Article No. 12.

[6] 劉波, 宋志棠, 封松林,等. 我國相變存儲器的研究現(xiàn)狀與發(fā)展前景[J]. 微納電子技術, 2007, 44(2):55-61.(LIU B, SONG Z T, FENG S L, et al. Current situation and developing trend on phase-change memory in China[J]. Micronanoelectronic Technology, 2007, 44(2):55-61.)

[7] SCOTT J F. 鐵電存儲器[M]. 朱勁松,呂笑梅,朱旻,譯. 北京:清華大學出版社, 2004:1-200.(SCOTT J F. Ferroelectric Memories[M]. ZHU J S, LYU X M, ZHU M, translated. Beijing: Tsinghua University Press, 2004:1-200.)

[8] 田曉波. 憶阻器電路特性與應用研究[D]. 長沙: 國防科學技術大學, 2009.(TIAN X B. Study on the characteristic and application of memristor circuits[D]. Changsha: National University of Defense Technology, 2009.)

[9] HUAI Y. Spin-Transfer Torque MRAM (STT-MRAM): challenges and prospects[J]. AAPPS Bulletin, 2008, 18(6): 33-40.

[10] Breakthrough nonvolatile memory technology[EB/OL]. [2016-08-10]. https://www.micron.com/about/emerging-technologies/3d-xpoint-technology.

[11] VOLOS H, TACK A J, SWIFT M M. Mnemosyne: lightweight persistent memory[J].ACM SIGARCH Computer Architecture News, 2011, 39(1): 91-104.

[12] COBURN J, CAULFIELD A M, AKEL A, et al. NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories[J]. ACM SIGPLAN Notices, 2011, 46(3): 105-118.

[13] HAHN S. A protected block device for persistent memory[C]// Proceedings of the 2014 30th Symposium on MASS Storage Systems and Technologies. Piscataway, NJ: IEEE, 2014:1-12.

[14] LU Y, SHU J, SUN L, et al. Loose-ordering consistency for persistent memory[C]// Proceedings of the 2014 IEEE 32nd International Conference on Computer Design. Piscataway, NJ: IEEE, 2014: 216-223.

[15] BHANDARI K, CHAKRABARTI D R, BOEHM H J. Implications of CPU caching on byte-addressable non-volatile memory programming[EB/OL].[2016-06-20]. http://hpl.hp.com/techreports/2012/HPL-2012-236.pdf.

[16] Intel64 and IA-32 architectures software developer’s manuals combined[EB/OL]. [2016-10-08] .http://www.intel.com.

[17] PHILLIPS D. A directory index for ext2[C]// Proceedings of the 5th Annual Linux Showcase & Conference. Berkeley, CA: USENIX Association, 2001: 20.

[18] REISER H. ReiserFS v.3 Whitepaper[EB/OL]. [2016-10-08].http://web. archive.org/web/20031015041320.

[19] SEHGAL P, BASU S, SRINIVASAN K, et al. An empirical study of file systems on NVM[C]// Proceedings of the 2015 31st Symposium on Mass Storage Systems and Technologies. Piscataway, NJ: IEEE, 2015: 1-14.

[20] SHA H M, CHEN X, ZHUGE Q, et al. Designing an efficient persistent in-memory file system[C]// Proceedings of the 2015 IEEE Non-Volatile Memory System and Applications Symposium. Piscataway, NJ: IEEE, 2015: 1-6.

[21] BSDDirhash[EB/OL]. [2016-10-08]. http://groups.yahoo.com/group/ freebsd-hackers/message/62664.

[22] dir-index-pmfs[Z/OL]. [2016-10-08].https://github.com/dir-index-pmfs/dir-index-pmfs.

This work is partially supported by the National High Technology Research and Development Program (863 Program) of China (2015AA015305).

YANG Shun, born in 1992, M. S. candidate. His research interests include non-volatile memory, file system.

CHEN Zhiguang, born in 1984, Ph. D., assistant researcher. His research interests include high performance storage, high performance computing.

XIAO Nong, born in 1969, Ph. D., professor. His research interests include high performance computing, large-scale network storage.

Implementation of directory index for Pmfs

YANG Shun*, CHEN Zhiguang, XIAO Nong

(CollegeofComputer,NationalUniversityofDefenseTechnology,ChangshaHunan410073,China)

Emerging non-volatile, byte-addressable memories like phase-change memory can make data persistent at main memory level instead of storage. Since the read/write latency of Non-Volatile Memory (NVM) is very low, the overhead of software in a NVM system has become the main factor in determining the performance of the entire persistent memory system. Pmfs is a file system specifically designed for NVM. However, it still has an undesirable characteristic: each directory operation (create, open or delete) of Pmfs requires a linear search of the entire directory files, resulting in a cost linearly increased with the number of files in the directory. The performance of Pmfs under various workloads was evaluated and the test showed that the overhead of the directory operations had become the bottleneck of the whole system in some circumstance of particular workloads. To solve this problem, a persistent directory entry index was implemented in Pmfs to speed up directory operations. The experimental results show that under a single directory with 100 000 files, the file creation speed is increased by 12 times, the bandwidth is improved by 27.3%.

persistent memory; directory index; file system; Non-Volatile Memory (NVM)

2016-07-15;

2016-12-07。 基金項目:國家863計劃項目(2015AA015305)。

楊順(1992—),男,湖北荊州人,碩士研究生,主要研究方向:非易失存儲器、文件系統(tǒng); 陳志廣(1984—),男,湖北襄陽人,助理研究員,博士,CCF會員,主要研究方向:高性能存儲、高性能計算; 肖儂(1969—),男,江西南昌人,研究員,博士生導師,博士,CCF會員,主要研究方向:高性能計算、大規(guī)模網(wǎng)絡存儲。

1001-9081(2017)05-1241-05

10.11772/j.issn.1001-9081.2017.05.1241

TP312

A

猜你喜歡
存儲器內(nèi)存指令
聽我指令:大催眠術
靜態(tài)隨機存儲器在軌自檢算法
“春夏秋冬”的內(nèi)存
當代陜西(2019年13期)2019-08-20 03:54:22
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
存儲器——安格爾(墨西哥)▲
坐標系旋轉指令數(shù)控編程應用
機電信息(2014年27期)2014-02-27 15:53:56
基于Nand Flash的高速存儲器結構設計
基于內(nèi)存的地理信息訪問技術
上網(wǎng)本為什么只有1GB?
神木县| 龙南县| 伊宁县| 喀什市| 洛浦县| 仁怀市| 平顶山市| 北安市| 岳普湖县| 湟中县| 贵定县| 辽阳县| 新疆| 卢氏县| 绍兴县| 蓝田县| 金山区| 永川市| 土默特右旗| 宜川县| 香格里拉县| 健康| 尤溪县| 新巴尔虎右旗| 武穴市| 民和| 姜堰市| 原阳县| 徐汇区| 阿勒泰市| 盐边县| 北安市| 图木舒克市| 安乡县| 阳高县| 万盛区| 司法| 枣庄市| 平阴县| 衡南县| 丰城市|