• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向DNN的高并發(fā)NVM文件系統(tǒng)

    2023-09-06 04:29:56馬躍明牛德姣
    關(guān)鍵詞:細(xì)粒度海量線程

    蔡 濤,王 飛,馬躍明,牛德姣,李 雷

    (江蘇大學(xué) 計(jì)算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013)

    1 引 言

    DNN是當(dāng)前研究的熱點(diǎn),擴(kuò)大DNN模型的規(guī)模和更多的訓(xùn)練次數(shù)是常用的提高準(zhǔn)確率的方法,DNN參數(shù)的大小已經(jīng)超過1TB,無法全部存放到GPU的內(nèi)存中,這給計(jì)算機(jī)存儲(chǔ)系統(tǒng)性能帶來了很大的挑戰(zhàn),使其成為影響DNN訓(xùn)練效率的重要因素.NVM是近年來出現(xiàn)的新型非易失性存儲(chǔ)器(Non-Volatile Memory),具有近DRAM的讀寫速度和延遲、以及支持字節(jié)粒度訪問等特性,常見的包括PCM、FeRAM、RMEM和MRAM等多種類型,特別是Intel已推出了商用的Optane DC等[1-6],這使得NVM成為提高存儲(chǔ)系統(tǒng)性能的重要手段;但NVM具有不同于DISK和SSD的特性,給現(xiàn)有I/O軟件棧帶來了很大的挑戰(zhàn).現(xiàn)有的計(jì)算機(jī)系統(tǒng)中通常由文件系統(tǒng)管理對(duì)數(shù)據(jù)的訪問,通用的文件系統(tǒng)和NVM文件系統(tǒng)需要針對(duì)上層多種不同的應(yīng)用,通常采用以文件為粒度的訪問管理方式;而DNN中參數(shù)數(shù)據(jù)量巨大,使用文件粒度管理訪問,無法利用處理器中大量計(jì)算核心通過多個(gè)并發(fā)線程提高DNN海量參數(shù)的訪問效率.同時(shí)DNN訓(xùn)練過程中,對(duì)DNN參數(shù)文件的訪問則很規(guī)律,在開始訓(xùn)練前需要讀取參數(shù)文件中保存的海量參數(shù),在結(jié)束訓(xùn)練后或訓(xùn)練過程中內(nèi)存不夠時(shí)則需要將海量的參數(shù)寫回到參數(shù)文件中.這使得需要針對(duì)DNN訓(xùn)練中訪問海量參數(shù)的特點(diǎn),設(shè)計(jì)新型的NVM文件系統(tǒng),提高訪問DNN海量參數(shù)的效率.

    本文在分析DNN訓(xùn)練中海量參數(shù)特性和NVM對(duì)I/O軟件棧所帶來挑戰(zhàn)的基礎(chǔ)上,設(shè)計(jì)了面向DNN的高并發(fā)NVM文件系統(tǒng),包括基于并發(fā)線程的細(xì)粒度鎖和基于兩層日志的文件并發(fā)I/O機(jī)制,最后針對(duì)Intel的Optane DC在修改NOVA源代碼的基礎(chǔ)上實(shí)現(xiàn)了原型系統(tǒng),并使用Filebench和Fio在多種不同類型負(fù)載下進(jìn)行了測試與分析,驗(yàn)證所設(shè)計(jì)算法的有效性.

    本文的主要貢獻(xiàn)有:

    1)針對(duì)當(dāng)前NVM文件系統(tǒng)中文件鎖影響讀寫并發(fā)度的問題,設(shè)計(jì)基于并發(fā)線程的細(xì)粒度鎖,減少讀寫數(shù)據(jù)時(shí)加鎖的粒度,適應(yīng)多線程同時(shí)訪問數(shù)據(jù)的特點(diǎn),為提高大文件的讀寫效率奠定基礎(chǔ);

    2)針對(duì)DNN訓(xùn)練過程中需要反復(fù)快速讀寫大量參數(shù)的特點(diǎn),設(shè)計(jì)基于兩層日志的并發(fā)讀寫策略,利用多核處理器中支持多個(gè)線程并發(fā)訪問的優(yōu)勢,在加速大文件讀寫性能的同時(shí),有效保證數(shù)據(jù)的一致性;

    3)在NOVA文件系統(tǒng)的基礎(chǔ)上,實(shí)現(xiàn)了DNNFS的原型,分別使用Filebench和Fio中的多個(gè)負(fù)載進(jìn)行了測試與分析,測試結(jié)果表明,在使用多線程并發(fā)訪時(shí)相比NOVA最大能提高35.8%的IOPS值和21.6%的I/O帶寬.

    2 相關(guān)研究工作

    NVM存儲(chǔ)設(shè)備具有低延遲、字節(jié)可尋址、讀寫速度接近DRAM的特點(diǎn).研究人員對(duì)這些特征進(jìn)行了大量研究[7-11].下面首先介紹DNN訓(xùn)練的研究現(xiàn)狀,然后再介紹NVM文件系統(tǒng)和存儲(chǔ)系統(tǒng)的相關(guān)研究.

    針對(duì)DNN訓(xùn)練的研究如下:Jonghyun Bae等人在論文中提出的FlashNeuron[12]是第一個(gè)使用NVMe的DNN訓(xùn)練系統(tǒng)SSD作為后備存儲(chǔ).充分利用有限的SSD寫入帶寬,FlashNeuron引入了卸載調(diào)度程序,它有選擇地將一組中間數(shù)據(jù)卸載到壓縮格式的SSD來充分利用有限的SSD寫入帶寬,并且不會(huì)增加DNN測試時(shí)間.FlashNeuron跳過CPU直接在GPU和SSD之間進(jìn)行進(jìn)程之間的數(shù)據(jù)傳輸.Shine Kim等人提出的Behemoth[13]是一個(gè)用于超大規(guī)模DNN的以Flash為中心的訓(xùn)練加速器.論文中仔細(xì)分析了訓(xùn)練超大規(guī)模DNN模型時(shí)出現(xiàn)的內(nèi)存容量問題,并利用NAND閃存設(shè)備取代昂貴的DRAM設(shè)備.同樣為了滿足DNN訓(xùn)練過程中帶寬和壽命要求,作者還提出Flash Memory System(FMS),它提供高帶寬和較高的壽命.Jayashree Mohan等人首先分析當(dāng)今DNN檢查點(diǎn)的狀態(tài),強(qiáng)調(diào)了細(xì)粒度檢查點(diǎn)的必要性以及實(shí)現(xiàn)它所涉及的挑戰(zhàn).作者設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)用于DNN的自動(dòng)、細(xì)粒度的檢查點(diǎn)框架CheckFreq[14],利用DNN計(jì)算模型的訓(xùn)練提供低成本的流水線檢查點(diǎn),最后將恢復(fù)時(shí)間從幾小時(shí)縮短到幾秒.

    針對(duì)NVM文件系統(tǒng)和NVM存儲(chǔ)系統(tǒng)的研究如下:Jian Xu等人提出NOVA[15],一個(gè)用于混合易失性/非易失性主存的日志結(jié)構(gòu)NVM文件系統(tǒng).它擴(kuò)展了現(xiàn)有的日志結(jié)構(gòu)文件系統(tǒng)技術(shù),以利用混合內(nèi)存系統(tǒng)的特性.NOVA保持每個(gè)inode的單獨(dú)日志以提高并發(fā)性,以及將文件數(shù)據(jù)存儲(chǔ)在日志之外以最小化日志大小并重新減少垃圾收集成本.NOVA的日志提供元數(shù)據(jù)、數(shù)據(jù)和mmap原子性,并專注于簡單性和可靠性,在DRAM中保持復(fù)雜的元數(shù)據(jù)結(jié)構(gòu)以加速查找操作.Intel公司的Dulloor等人設(shè)計(jì)了一種新型的輕量級(jí)POSIX文件系統(tǒng)PMFS[16],通過使用CPU的load/store指令來實(shí)現(xiàn)對(duì)NVM存儲(chǔ)設(shè)備的直接訪問.同時(shí),PMFS利用NVM支持DAX的機(jī)制直接管理存儲(chǔ)設(shè)備,避免了塊驅(qū)動(dòng)和頁緩存層的額外開銷;PMFS利用CPU的分頁和內(nèi)存排序功能減少日志的粒度和支持更大的頁面,以最大程度地減少TLB條目的使用并加快虛擬地址的查找.PMFS還提供了mmap接口,無需借助任何緩沖區(qū)將文件數(shù)據(jù)直接映射到虛擬進(jìn)程空間,從而使得應(yīng)用程度能夠以內(nèi)存的方式讀取和寫入文件數(shù)據(jù),在保證一致性的同時(shí)提高內(nèi)存映射和訪問的效率.Zheng S等人設(shè)計(jì)出一種使用混合NVM和Disk的分層文件系統(tǒng)Ziggurat[17]來構(gòu)建接近獨(dú)立NVM性能的大容量存儲(chǔ)系統(tǒng).Ziggurat利用一種感知算法,根據(jù)應(yīng)用程序的訪問模式、寫入數(shù)據(jù)的大小以及應(yīng)用程序在寫入完成前暫停的可能性將數(shù)據(jù)寫入到NVM、DRAM或者Disk中;Ziggurat會(huì)在后臺(tái)計(jì)算每個(gè)文件的“熱度”,并將其中冷數(shù)據(jù)從NVM遷移到Disk中;Ziggurat還將多個(gè)數(shù)據(jù)塊合并為較大的順序?qū)懭雭砀玫乩肈isk的優(yōu)秀的順序?qū)懭氲奶匦?Ren Y等人設(shè)計(jì)了CrossFS[18],這是一個(gè)跨用戶級(jí)、固件和內(nèi)核分解的跨層直接訪問文件系統(tǒng)用于擴(kuò)展I/O性能和提高并發(fā)性的層.CrossFS旨在利用主機(jī)級(jí)和設(shè)備級(jí)計(jì)算能力.CrossFS引入基于文件描述符的并發(fā)控制,映射每個(gè)一個(gè)硬件級(jí)I/O隊(duì)列的文件描述符來同時(shí)處理跨文件描述符的不相交訪問.CrossFS將文件描述符同步到I/O隊(duì)列的問題轉(zhuǎn)換為請求排序問題.為了保證崩潰的一致性跨層設(shè)計(jì),CrossFS利用字節(jié)可尋址用于I/O隊(duì)列持久性和設(shè)計(jì)的非易失性存儲(chǔ)器輕量級(jí)固件級(jí)日志機(jī)制.Kadekodi R等人提出了SplitFS[19],一種用于持久內(nèi)存(PM)的文件系統(tǒng)較最先進(jìn)的PM文件系統(tǒng),顯著減少了軟件開銷.SplitFS呈現(xiàn)用戶空間庫文件系統(tǒng)和現(xiàn)有內(nèi)核PM文件系統(tǒng)之間的分離.用戶空間庫文件系統(tǒng)通過攔截來處理數(shù)據(jù)操作POSIX調(diào)用、內(nèi)存映射底層文件,以及使用處理器加載和存儲(chǔ)服務(wù)讀取和覆蓋.元數(shù)據(jù)操作由內(nèi)核PM文件系統(tǒng)(ext4 DAX)處理.Dong M等人提出了一個(gè)叫做Coffer[20]的新抽象,它是個(gè)集合隔離的NVM資源,在其上面構(gòu)建一個(gè)用戶空間中的高性能和受保護(hù)的NVM文件系統(tǒng).將NVM保護(hù)與管理分開通過保險(xiǎn)箱,以便用戶空間庫可以完全控制NVM在一個(gè)保險(xiǎn)箱內(nèi),讓內(nèi)核保證保險(xiǎn)箱之間的嚴(yán)格隔離;作者構(gòu)建一個(gè)NVM文件系統(tǒng)架構(gòu),將NVM的高性能帶到未修改的應(yīng)用程序并促進(jìn)開發(fā)高性能且靈活的用戶空間NVM文件系統(tǒng)庫.Chen Y等人提出了KucoFS[21],一個(gè)內(nèi)核和用戶態(tài)協(xié)作文件系統(tǒng).它由兩部分組成:一個(gè)具有直接訪問接口的用戶級(jí)庫和一個(gè)內(nèi)核線程,它通過切換頁表中的權(quán)限位來執(zhí)行元數(shù)據(jù)更新和強(qiáng)制寫保護(hù).KucoFS實(shí)現(xiàn)了用戶態(tài)的直接訪問和內(nèi)核態(tài)的細(xì)粒度寫保護(hù)并且進(jìn)一步探索了它對(duì)多核的可擴(kuò)展性.對(duì)于元數(shù)據(jù)的可擴(kuò)展性,KucoFS通過采用索引卸載技術(shù)重新平衡內(nèi)核和用戶空間之間的路徑名解析開銷.為了數(shù)據(jù)訪問效率,它協(xié)調(diào)內(nèi)核和用戶空間之間的數(shù)據(jù)分配,并使用范圍鎖寫和無鎖讀來提高并發(fā)性.蔡濤等人為了提高非易失性存儲(chǔ)系統(tǒng)并發(fā)執(zhí)行訪問請求的能力,針對(duì)存儲(chǔ)設(shè)備中的讀寫訪問請求、文件數(shù)據(jù)和元數(shù)據(jù)的不同特性,設(shè)計(jì)了基于區(qū)間鎖的文件數(shù)據(jù)并發(fā)寫策略、基于讀-拷貝修改的文件數(shù)據(jù)讀寫并發(fā)策略和基于最小自旋鎖的元數(shù)據(jù)同步策略,以提高訪問請求執(zhí)行的并發(fā)度;實(shí)現(xiàn)了利用非對(duì)稱鎖的高并發(fā)非易失存儲(chǔ)系統(tǒng)原型[22].羅盛美等人基于SSD存儲(chǔ)介質(zhì)的寫入特性,提出了面向分布式文件系統(tǒng)元數(shù)據(jù)的數(shù)據(jù)管理機(jī)制和更新方法[23],包括元數(shù)據(jù)內(nèi)存頁面的重新組織和管理、多次變化數(shù)據(jù)的迭代更新、元數(shù)據(jù)寫入方式的進(jìn)一步優(yōu)化等.所提方法減少了元數(shù)據(jù)更新的寫入頻次和實(shí)際寫入量,減少了隨機(jī)寫操作,提高了元數(shù)據(jù)寫入性能.舒繼武等人針對(duì)傳統(tǒng)存儲(chǔ)系統(tǒng)的構(gòu)建方式不適用于非易失主存,無法發(fā)揮出非易失主存的性能優(yōu)勢,并且容易造成一致性開銷高、空間利用率低、編程安全性低等問題分析了基于非易失主存構(gòu)建存儲(chǔ)系統(tǒng)面臨的挑戰(zhàn)[24],在系統(tǒng)軟件層次分別綜述了空間管理機(jī)制、新型編程模型、數(shù)據(jù)結(jié)構(gòu)、文件系統(tǒng)和分布式存儲(chǔ)系統(tǒng)等方面的研究進(jìn)展,并展望了基于非易失主存構(gòu)建存儲(chǔ)系統(tǒng)的未來研究方向.

    3 基于并發(fā)線程的細(xì)粒度鎖

    現(xiàn)有NVM文件系統(tǒng)通常需要應(yīng)對(duì)上層多種不同應(yīng)用混雜的場景,通常使用基于文件的鎖處理訪問沖突,在用于管理DNN參數(shù)文件的讀寫進(jìn)程時(shí),會(huì)出現(xiàn)難以利用處理器中的大量計(jì)算核心,通過多線程并發(fā)減少訪問海量參數(shù)所需時(shí)間開銷的問題.

    如圖1所示,在DNN訓(xùn)練進(jìn)程讀寫參數(shù)文件時(shí),NVM文件系統(tǒng)需要對(duì)參數(shù)文件加鎖,以阻止可能存在其他線程對(duì)DNN參數(shù)文件的訪問,保障DNN參數(shù)文件數(shù)據(jù)和元數(shù)據(jù)的一致性;但這會(huì)導(dǎo)致別的DNN訓(xùn)練線程無法訪問參數(shù)文件,從而不能利用多核處理器解決DNN訓(xùn)練過程中訪問海量參數(shù)效率的問題.

    圖1 DNN訓(xùn)練多線程訪問參數(shù)文件時(shí)的問題Fig.1 Problems with DNN training multiple threads to access parameter files

    本文針對(duì)DNN訓(xùn)練過程中讀寫參數(shù)文件規(guī)律性強(qiáng)的特點(diǎn),設(shè)計(jì)基于并發(fā)線程的細(xì)粒度鎖,提高訪問DNN參數(shù)文件的并發(fā)度,從而為利用多核處理器提高DNN訓(xùn)練過程中訪問海量參數(shù)的效率提供支撐.

    3.1 基于并發(fā)線程細(xì)粒度鎖的結(jié)構(gòu)

    首先,使用4元組(PID,Start_Add,End_Add,Next_Lock)表示基于并發(fā)線程的細(xì)粒度鎖,其中,PID是DNN訓(xùn)練線程的標(biāo)識(shí)符,Start_Add是封鎖區(qū)域在參數(shù)文件內(nèi)的起始地址,End_Add是封鎖區(qū)域在參數(shù)文件內(nèi)的結(jié)束地址,Next_Lock是指向下一個(gè)基于并發(fā)線程細(xì)粒度鎖的指針.

    同時(shí)給每個(gè)DNN參數(shù)文件構(gòu)建基于并發(fā)線程細(xì)粒度鎖的執(zhí)行隊(duì)列和等待隊(duì)列,在DNN參數(shù)文件的元數(shù)據(jù)中保存基于并發(fā)線程細(xì)粒度鎖執(zhí)行隊(duì)列和等待隊(duì)列的首地址.

    3.2 加鎖和解鎖的過程

    當(dāng)DNN參數(shù)訪問進(jìn)程調(diào)用NVM文件系統(tǒng)中的讀寫函數(shù)訪問DNN參數(shù)文件時(shí),首先NVM文件系統(tǒng)檢查當(dāng)前DNN參數(shù)訪問線程的數(shù)量,確定每個(gè)DNN參數(shù)訪問線程所對(duì)應(yīng)的DNN參數(shù)文件區(qū)間.接著,NVM文件系統(tǒng)為每個(gè)DNN參數(shù)訪問線程生成對(duì)應(yīng)的基于并發(fā)線程細(xì)粒度鎖.雖然DNN參數(shù)訪問線程讀寫參數(shù)文件非常規(guī)律,不會(huì)出現(xiàn)讀寫沖突的情況,但還存在其他的上層應(yīng)用有可能訪問DNN參數(shù)文件;因此NVM文件系統(tǒng)需要檢查DNN參數(shù)文件是否被別的應(yīng)用加鎖,如DNN參數(shù)文件已被加鎖,則將基于并發(fā)線程細(xì)粒度鎖加入DNN參數(shù)文件的等待隊(duì)列中,并阻塞對(duì)應(yīng)的DNN參數(shù)訪問線程;否則將基于并發(fā)線程細(xì)粒度鎖加入DNN參數(shù)文件的執(zhí)行隊(duì)列中,并開始訪問DNN參數(shù)文件中對(duì)應(yīng)的數(shù)據(jù).

    當(dāng)某個(gè)DNN參數(shù)訪問線程結(jié)束后,則將對(duì)應(yīng)的基于并發(fā)線程細(xì)粒度鎖從執(zhí)行隊(duì)列中刪除;在DNN參數(shù)文件中細(xì)粒度鎖執(zhí)行隊(duì)列為空后,喚醒被阻塞的其它應(yīng)用訪問請求.當(dāng)訪問DNN參數(shù)文件的其它應(yīng)用結(jié)束后,則喚醒基于并發(fā)線程細(xì)粒度鎖等待隊(duì)列中的DNN參數(shù)訪問線程,并將相應(yīng)的細(xì)粒度鎖從等待隊(duì)列中遷移到執(zhí)行隊(duì)列中.

    NVM文件系統(tǒng)中接收到其他應(yīng)用訪問DNN參數(shù)文件的訪問請求時(shí),檢查DNN參數(shù)文件的細(xì)粒度鎖執(zhí)行或等待隊(duì)列是否為空,如果為空則在對(duì)DNN參數(shù)文件加相應(yīng)鎖后執(zhí)行相應(yīng)的訪問請求;否則該訪問請求需要等待直到細(xì)粒度鎖執(zhí)行或等待隊(duì)列為空.

    4 基于兩層日志的文件并發(fā)I/O機(jī)制

    DNN訓(xùn)練過程中需要反復(fù)快速讀寫大量參數(shù),本文在基于并發(fā)線程細(xì)粒度鎖的基礎(chǔ)上,設(shè)計(jì)兩層日志結(jié)構(gòu),支撐多個(gè)并發(fā)線程讀寫DNN參數(shù)文件,從而提高DNN訓(xùn)練過程中讀寫海量參數(shù)的效率.

    4.1 兩層日志和參數(shù)文件元數(shù)據(jù)的結(jié)構(gòu)

    為了支撐并發(fā)讀寫保存海量DNN參數(shù)的文件,首先在NVM文件系統(tǒng)中設(shè)計(jì)兩層日志,包括DNN參數(shù)文件日志F_log和DNN參數(shù)文件段日志P_log.

    DNN參數(shù)文件日志用來記錄對(duì)該DNN參數(shù)文件所有并發(fā)DNN參數(shù)訪問線程的情況,每個(gè)DNN參數(shù)文件日志項(xiàng)對(duì)應(yīng)一個(gè)DNN參數(shù)訪問線程,其結(jié)構(gòu)如圖2所示.

    圖2 DNN參數(shù)文件日志及其日志項(xiàng)Fig.2 DNN parameter file log and its log entries

    DNN參數(shù)文件日志項(xiàng)包括Pid、Part_addr_head、P_length、P_flag、F_log_addr和Next6個(gè)部分,Pid是對(duì)應(yīng)DNN參數(shù)訪問線程的標(biāo)識(shí),Part_addr_head是該DNN參數(shù)訪問線程所訪問DNN參數(shù)文件中參數(shù)分段的首地址,P_length是該DNN參數(shù)訪問線程所訪問DNN參數(shù)分段的長度,P_flag用于DNN參數(shù)訪問線程對(duì)相應(yīng)參數(shù)分段的訪問是否完成(0代表未完成,1代表已完成),P_log_addr是指向該DNN參數(shù)文件日志項(xiàng)對(duì)應(yīng)DNN參數(shù)文件段日志的地址,Next是指向下一個(gè)DNN參數(shù)文件日志項(xiàng)的指針.

    DNN參數(shù)文件分段日志用來記錄每個(gè)DNN參數(shù)訪問線程的進(jìn)展情況,其結(jié)構(gòu)如圖3所示;DNN參數(shù)文件段日志中僅包含8字節(jié)的Tail_ptr,Tail_ptr表示對(duì)應(yīng)DNN參數(shù)訪問線程在參數(shù)分段中所完成讀寫操作的位置.

    圖3 DNN參數(shù)文件段日志P_log中的日志項(xiàng)Fig.3 Log entries in DNN parameter file segment log P_log

    在構(gòu)建DNN參數(shù)文件日志和DNN參數(shù)文件段日志這兩層日志的基礎(chǔ)上,還需要修改DNN參數(shù)文件的元數(shù)據(jù),如圖4所示,在現(xiàn)有的元數(shù)據(jù)基礎(chǔ)上DNN參數(shù)文件的元數(shù)據(jù)中增加Process_num、F_log_addr和F_flag3部分;其中Process_num表示并發(fā)訪問當(dāng)前DNN參數(shù)文件的DNN參數(shù)訪問線程數(shù)量,F_log_addr是指向DNN參數(shù)文件日志的指針,F_flag用來標(biāo)識(shí)DNN參數(shù)文件的訪問是否已經(jīng)完成(0代表未完成,1代表已完成).

    圖4 DNN參數(shù)文件元數(shù)據(jù)Fig.4 DNN parameter file metadata

    4.2 基于兩層日志的文件并發(fā)讀寫策略

    在兩層日志和對(duì)參數(shù)文件元數(shù)據(jù)修改的基礎(chǔ)上,為了支撐多個(gè)并發(fā)DNN參數(shù)訪問線程提高DNN海量參數(shù)的訪問效率,本文設(shè)計(jì)基于兩層日志的文件并發(fā)讀寫策略.

    DNN訓(xùn)練程序在讀寫參數(shù)前:首先根據(jù)DNN參數(shù)訪問線程的數(shù)量n,將DNN參數(shù)文件均分為n個(gè)參數(shù)段,每個(gè)DNN參數(shù)訪問線程負(fù)責(zé)訪問其中的一個(gè)參數(shù)段中的數(shù)據(jù),并將DNN參數(shù)文件元數(shù)據(jù)中的Process_num設(shè)置n、F_flag設(shè)置為0;接著,創(chuàng)建DNN參數(shù)文件日志,將其地址寫入DNN參數(shù)文件元數(shù)據(jù)中的F_log_addr中,再為每個(gè)DNN參數(shù)訪問線程構(gòu)建一個(gè)DNN參數(shù)文件日志項(xiàng),并將對(duì)應(yīng)DNN參數(shù)段的起始地址和長度分別寫入DNN參數(shù)文件日志項(xiàng)的Part_addr_head和P_length中,并將P_flag設(shè)置為0;然后,為每個(gè)DNN參數(shù)訪問線程創(chuàng)建一個(gè)DNN參數(shù)文件段日志,將其中的Tail_ptr設(shè)置為對(duì)應(yīng)DNN參數(shù)文件段的首地址,并將DNN參數(shù)文件段日志的地址寫入對(duì)應(yīng)的DNN參數(shù)文件日志項(xiàng)中P_log_addr;最后將n個(gè)DNN參數(shù)訪問線程對(duì)應(yīng)的DNN參數(shù)文件日志項(xiàng)通過Next指針連接起來構(gòu)成鏈表,并啟動(dòng)DNN參數(shù)訪問線程開始工作,再將DNN參數(shù)文件日志和DNN參數(shù)文件元數(shù)據(jù)寫回到NVM中.

    多個(gè)DNN參數(shù)訪問線程并發(fā)工作過程中:不同的DNN參數(shù)訪問線程各自訪問對(duì)應(yīng)的DNN參數(shù)段,從而提高對(duì)DNN參數(shù)的訪問效率;同時(shí)每隔一段時(shí)間,以cacheline為單位,將DNN參數(shù)文件分段日志寫入NVM中,以保存DNN參數(shù)訪問線程的工作進(jìn)度,避免DNN訓(xùn)練程序出錯(cuò)后重新訪問之前已訪問過的DNN參數(shù).

    當(dāng)一個(gè)DNN參數(shù)訪問線程結(jié)束后:將對(duì)應(yīng)的DNN參數(shù)文件日志項(xiàng)中的P_flag設(shè)置為1,將P_log_addr的值設(shè)置為NULL,并將DNN參數(shù)文件日志項(xiàng)寫回到NVM中,并刪除其對(duì)應(yīng)的DNN參數(shù)文件分段日志.

    所有的DNN參數(shù)訪問線程均結(jié)束后:將DNN參數(shù)文件元數(shù)據(jù)中的F_flag設(shè)置為1,F_log_addr設(shè)置為NULL,并寫回到NVM中,同時(shí)刪除DNN參數(shù)文件日志.

    4.3 基于兩層日志的文件一致性保證策略

    由于DNN參數(shù)數(shù)據(jù)量的巨大,DNN參數(shù)訪問線程在執(zhí)行過程中遇到存儲(chǔ)系統(tǒng)故障等問題后,需要避免在存儲(chǔ)系統(tǒng)恢復(fù)后從頭訪問DNN參數(shù),本文設(shè)計(jì)基于兩層日志的文件一致性保證策略,其主要步驟如下:

    步驟1.在存儲(chǔ)系統(tǒng)故障等消除后,首先從DNN參數(shù)文件元數(shù)據(jù)中獲取DNN參數(shù)文件日志的入口地址.

    步驟2.檢查DNN參數(shù)文件日志中所有日志項(xiàng)的P_flag值是否為0,判斷每個(gè)日志項(xiàng)對(duì)應(yīng)DNN參數(shù)訪問線程是否已經(jīng)安全完成,如未完成則繼續(xù)相應(yīng)的DNN參數(shù)訪問線程,并轉(zhuǎn)到步驟3;如所有DNN參數(shù)文件日志項(xiàng)的P_flag值均為0,則跳到步驟6.

    步驟3.針對(duì)未完成的DNN參數(shù)訪問線程,根據(jù)DNN參數(shù)文件日志項(xiàng)中的P_log_addr訪問其對(duì)應(yīng)的DNN參數(shù)文件段日志,如果其中的Tail_ptr值不為空,則繼續(xù)DNN參數(shù)的訪問過程,并跳到步驟5;否則轉(zhuǎn)到步驟4.

    步驟4.如果DNN參數(shù)文件段日志中的Tail_ptr值為空,則表明該DNN參數(shù)文件段的訪問已經(jīng)結(jié)束,但出現(xiàn)故障前未安全修改DNN參數(shù)文件日志和DNN參數(shù)文件元數(shù)據(jù);則將DNN參數(shù)文件日志項(xiàng)中的P_flag設(shè)置為1,將P_log_addr的值設(shè)置為NULL,并將DNN參數(shù)文件日志項(xiàng)寫回到NVM中,并刪除其對(duì)應(yīng)的DNN參數(shù)文件分段日志.

    步驟5.檢查DNN參數(shù)文件日志中是否還有其他未完成訪問的DNN參數(shù)文件段,如沒有,則轉(zhuǎn)到步驟6;否則轉(zhuǎn)到步驟2.

    步驟6.將DNN參數(shù)文件元數(shù)據(jù)中的F_flag設(shè)置為1,F_log_addr設(shè)置為NULL,并寫回到NVM中,同時(shí)刪除DNN參數(shù)文件日志,并完成DNN參數(shù)的訪問過程.

    5 測試與分析

    5.1 原型系統(tǒng)與測試平臺(tái)

    本文針對(duì)Intel的Optane DC,在NOVA的基礎(chǔ)上,實(shí)現(xiàn)面向DNN的高并發(fā)文件系統(tǒng)原型(DNNFS).首先修改NOVA中的文件元數(shù)據(jù),實(shí)現(xiàn)基于并發(fā)線程的細(xì)粒度鎖模塊;再修改文件的讀寫流程,實(shí)現(xiàn)基于兩層日志的并發(fā)I/O模塊和一致性模塊;其結(jié)構(gòu)如圖5所示.

    圖5 基于兩層日志文件系統(tǒng)的NVM存儲(chǔ)系統(tǒng)Fig.5 NVM storage system based on a two-layer journaling file system

    使用一臺(tái)服務(wù)器構(gòu)建原型系統(tǒng)的測試環(huán)境,該服務(wù)器的詳細(xì)配置如表1所示.分別掛載NOVA和DNNFS,數(shù)據(jù)塊的大小設(shè)置為4KB;首先使用Filebench中的Webserver、Varmail和Fileserver負(fù)載,模擬文件系統(tǒng)的典型運(yùn)行環(huán)境測試I/O的吞吐率;再使用Fio,測試多個(gè)I/O線程并發(fā)順序和隨機(jī)讀寫的I/O帶寬.每次測試前均重啟服務(wù)器和禁用緩存以消除緩存對(duì)測試結(jié)果的影響,每項(xiàng)測試均進(jìn)行10次并平均值作為測試結(jié)果.

    表1 原型系統(tǒng)測試環(huán)境的軟件配置Table 1 Software configuration of prototype system test environment

    5.2 多線程并發(fā)順序讀寫測試

    首先使用Fio測試多線程并發(fā)順序讀的帶寬,Fio使用libaio異步I/O引擎,隊(duì)列深度為2,并發(fā)線程數(shù)分別為1、6和12,每次I/O大小分別為4KB、16KB和256KB,數(shù)據(jù)量的大小為50GB,測試時(shí)間為60s,結(jié)果如圖6所示.

    圖6 改變線程數(shù)量和塊大小的Fio順序讀測試結(jié)果Fig.6 Fio sequential read test results with varying thread count and block size

    從圖6中的測試結(jié)果可以發(fā)現(xiàn),使用多個(gè)并發(fā)讀線程時(shí),與DNNFS相比NOVA文件系統(tǒng)的順序讀帶寬提高了3.5%~6.2%,這說明采用細(xì)粒度鎖和基于兩層日志的并發(fā)I/O機(jī)制能有效提高讀取文件的性能;當(dāng)采用單個(gè)讀線程時(shí),DNNFS相比NOVA損失了3%左右的讀帶寬,這是由于細(xì)粒度鎖和基于兩層日志并發(fā)I/O機(jī)制所帶來的額外時(shí)間開銷.隨著單次訪問粒度的增加,DNNFS和NOVA的讀帶寬均相應(yīng)提高,同時(shí)DNNFS相對(duì)NOVA所提高的讀帶寬也隨之增加,在6個(gè)并發(fā)讀線程時(shí)從3.5%增加到5.8%,在12個(gè)并發(fā)讀線程時(shí)從4.8%增加到6.2%,這是由于使用大訪問塊后減少了訪問次數(shù)從而提高了讀帶寬;同時(shí)在增加單次訪問塊大小時(shí),DNNFS相對(duì)NOVA所提高的讀帶寬比例也更高,這進(jìn)一步說明了DNNFS具有并發(fā)讀帶寬高的優(yōu)勢;但在并發(fā)讀線程數(shù)為12時(shí),使用256KB大小的訪問塊相比16KB訪問塊DNNFS讀帶寬所提高的比例出現(xiàn)了下降,這說明增大訪問塊對(duì)提高讀帶寬的作用在降低.在增加讀線程數(shù)量時(shí),DNNFS和NOVA也均能提高讀帶寬,在所有測試中均是采用12個(gè)并發(fā)線程時(shí)讀帶寬最高;但當(dāng)并發(fā)讀線程數(shù)從6增加到12時(shí),DNNFS和NOVA讀帶寬所提高的比例出現(xiàn)了下降,但DNNFS讀帶寬提高的比例始終高于NOVA,這說明增加并發(fā)讀進(jìn)程能提高讀帶寬,但也會(huì)帶來額外的管理開銷.

    采用相同的配置,測試多線程并發(fā)順序?qū)慖/O帶寬,結(jié)果如圖7所示.

    從圖7可以看出,使用多個(gè)并發(fā)寫線程時(shí),總體來說,DNNFS具有更高的順序?qū)憥捥嵘?相比NOVA的順序?qū)憥捥岣吡?2.1%~21.6%,這說明采用細(xì)粒度鎖和基于兩層日志的并發(fā)I/O機(jī)制能有效提高讀取文件的性能;當(dāng)采用單個(gè)寫線程時(shí),DNNFS相比NOVA損失了3%左右的寫帶寬,這是由于細(xì)粒度鎖和基于兩層日志并發(fā)I/O機(jī)制所帶來的額外時(shí)間開銷.隨著單次訪問粒度的增加,DNNFS和NOVA的寫帶寬先增高后下降,當(dāng)線程數(shù)從1增加到6時(shí),NOVA和DNNFS的寫帶寬均有提升,同時(shí)DNNFS相對(duì)NOVA所提高的寫帶寬也隨之增加,在6個(gè)并發(fā)寫線程時(shí)從12.1%增加到17.2%.當(dāng)并發(fā)寫線程數(shù)從6增加到12時(shí),NOVA和DNNFS的寫帶寬有隨著塊粒度大小有不同的趨勢趨勢,在4KB塊大小、12并發(fā)線程時(shí),DNNFS提高了22%的寫性能,在16KB塊大小、12并發(fā)線程時(shí),DNNFS下降了37%的寫帶寬,在256KB塊大小、12并發(fā)線程時(shí),DNNFS下降了34%的寫帶寬,這是因?yàn)槎鄠€(gè)線程在訪問同一數(shù)據(jù)塊時(shí)會(huì)造成訪問沖突,因此會(huì)相應(yīng)的降低帶寬,但總的來說,隨著塊大小和線程粒度逐漸增加時(shí),DNNFS相對(duì)NOVA在寫帶寬的提升比例更大,下降的比例更小.這表明在順序?qū)懙呢?fù)載中,由于多個(gè)并發(fā)寫線程的沖突,DNNFS中設(shè)計(jì)的細(xì)粒度鎖和基于兩層日志的并發(fā)I/O機(jī)制能有更好的寫帶寬表現(xiàn).

    5.3 多線程并發(fā)隨機(jī)讀寫測試

    接著,使用Fio測試多線程并發(fā)隨機(jī)讀的帶寬,Fio使用libaio異步I/O引擎,隊(duì)列深度為2,并發(fā)線程數(shù)分別為1、6和12,每次I/O大小分別為4KB、16KB和256KB,數(shù)據(jù)量的大小為50GB,測試時(shí)間為60s,結(jié)果如圖8所示.

    圖8 改變線程數(shù)量和塊大小的Fio隨機(jī)讀測試結(jié)果Fig.8 Fio sequential read test results with varying thread count and block size

    從圖8中的測試結(jié)果可以發(fā)現(xiàn),使用多個(gè)并發(fā)讀線程時(shí),與DNNFS相比NOVA文件系統(tǒng)的順序讀帶寬提高了3.6%~5.9%,這說明采用細(xì)粒度鎖和基于兩層日志的并發(fā)I/O機(jī)制能有效提高讀取文件的性能;當(dāng)采用單個(gè)讀線程時(shí),DNNFS相比NOVA損失了3.7%左右的讀帶寬,這是由于細(xì)粒度鎖和基于兩層日志并發(fā)I/O機(jī)制所帶來的額外時(shí)間開銷.隨著單次訪問粒度的增加,DNNFS和NOVA的讀帶寬均相應(yīng)提高,同時(shí)DNNFS相對(duì)NOVA所提高的讀帶寬也隨之增加,在6個(gè)并發(fā)讀線程時(shí)從3.5%增加到5.7%,在12個(gè)并發(fā)讀線程時(shí)從5.7%增加到5.9%,這是由于使用大訪問塊后減少了訪問次數(shù)從而提高了讀帶寬;同時(shí)在增加單次訪問塊大小時(shí),DNNFS相對(duì)NOVA所提高的讀帶寬比例也更高,這進(jìn)一步說明了DNNFS具有并發(fā)讀帶寬高的優(yōu)勢;在并發(fā)讀線程數(shù)為12時(shí),使用256KB大小的訪問塊相比4KB訪問塊DNNFS讀帶寬所提高的比例有所下降,這說明增大訪問塊對(duì)提高讀帶寬的作用在降低.在增加讀線程數(shù)量時(shí),DNNFS和NOVA也均能提高讀帶寬,在所有測試中均是采用12個(gè)并發(fā)線程時(shí)讀帶寬較高;但當(dāng)并發(fā)讀線程數(shù)從6增加到12時(shí),DNNFS和NOVA讀帶寬所提高的比例出現(xiàn)了下降,但DNNFS讀帶寬提高的比例始終高于NOVA,這說明增加并發(fā)讀線程能提高讀帶寬,但也會(huì)帶來額外的管理開銷.

    同樣對(duì)多線程隨機(jī)寫I/O性能進(jìn)行測試,測試參數(shù)的設(shè)置和隨機(jī)讀相同,測試結(jié)果如圖9所示.

    圖9 改變線程數(shù)量和塊大小的Fio隨機(jī)寫測試結(jié)果Fig.9 Fio sequential write test results with varying thread count and block size

    從圖9中可以看出,使用多個(gè)并發(fā)隨機(jī)寫線程時(shí),總體來說,DNNFS具有更高的隨機(jī)寫帶寬提升,相比NOVA的隨機(jī)寫寫帶寬提高了12.3%~20.3%,這說明采用細(xì)粒度鎖和基于兩層日志的并發(fā)I/O機(jī)制能有效提高并發(fā)隨機(jī)寫文件的性能;當(dāng)采用單個(gè)寫線程時(shí),DNNFS相比NOVA損失了2.2%左右的讀帶寬,這是由于細(xì)粒度鎖和基于兩層日志并發(fā)I/O機(jī)制所帶來的額外時(shí)間開銷.隨著單次訪問粒度的增加,DNNFS和NOVA的寫帶寬先增高后下降,當(dāng)線程數(shù)從1增加到6時(shí),NOVA和DNNFS的寫帶寬均有提升,同時(shí)DNNFS相對(duì)NOVA所提高的寫帶寬也隨之增加,在6個(gè)并發(fā)讀線程時(shí)從12.3%增加到17.6%.當(dāng)并發(fā)線程數(shù)從6增加到12時(shí),NOVA和DNNFS的寫帶寬有隨著塊粒度大小有不同的趨勢趨勢,NOVA隨著并發(fā)線程數(shù)的增加,寫帶寬下降了1%~40%,而DNNFS在4KB塊大小、12并發(fā)線程時(shí),提高了1.5%的寫性能,在16KB塊大小、12并發(fā)線程時(shí),DNNFS下降了39%的寫帶寬,在256KB塊大小、12并發(fā)線程時(shí),DNNFS下降了36%的寫帶寬,這是由于使用大訪問塊后帶來了寫訪問沖突的影響,但總的來說,隨著塊大小和線程粒度逐漸增加時(shí),DNNFS相對(duì)NOVA在寫帶寬的提升比例更大,下降的比例更小.這表明在順序?qū)懙呢?fù)載中,由于多個(gè)并發(fā)寫線程的沖突,DNNFS中設(shè)計(jì)的細(xì)粒度鎖和基于兩層日志的并發(fā)I/O機(jī)制能有更好的寫帶寬表現(xiàn).

    5.4 Webserver負(fù)載測試

    首先在服務(wù)器上掛載NOVA和DNNFS文件系統(tǒng),然后使用Filebench中的Webserver負(fù)載,模擬用戶訪問Web服務(wù)器的情況進(jìn)行測試.設(shè)置測試文件數(shù)量為1000個(gè),每個(gè)目錄中包含20個(gè)文件,每次I/O大小為4KB,I/O操作中讀寫訪問請求的比例為10:1,測試時(shí)間為60s,線程數(shù)量為1、2、4、6、8、10、12和14,測試吞吐率IOPS(Input Operations Per Second)值,結(jié)果如圖10所示.

    圖10 改變線程數(shù)量的Webserver負(fù)載測試結(jié)果Fig.10 Webserver load test results with varying number of threads

    從圖10中可以看出,在Webserver負(fù)載下,DNNFS相比NOVA,在2個(gè)線程時(shí),IOPS提升了3.3%,這是因?yàn)閃ebserver中的大部分請求是讀訪問請求,還不能充分發(fā)揮DNNFS基于并發(fā)線程細(xì)粒度鎖以及兩層日志的并發(fā)讀寫策略的優(yōu)勢.當(dāng)線程數(shù)為8時(shí),NOVA的IOPS達(dá)到了最大峰值;隨著線程數(shù)的繼續(xù)增加,IOPS會(huì)略微下降,這是因?yàn)殡S著線程增加會(huì)產(chǎn)生越來越多的文件鎖沖突,影響了訪問請求的執(zhí)行效率.DNNFS在線程數(shù)為4時(shí)的IOPS值就超過了NOVA的IOPS最大值,在線程數(shù)為8時(shí),相比NOVA提升了20.5%,同時(shí)在線程數(shù)為12時(shí),提高IOPS值的比例最高達(dá)到了28.4%;這表明DNNFS中設(shè)計(jì)的基于并發(fā)線程細(xì)粒度鎖能夠減少讀寫數(shù)據(jù)時(shí)加鎖的粒度,為提高大文件的讀寫效率奠定基礎(chǔ);以及基于兩層日志的并發(fā)讀寫策略,利用多核處理器中不同線程并發(fā)訪問的優(yōu)勢來加速大文件讀寫吞吐量.

    5.5 Varmail負(fù)載測試

    接著,使用Filebench的Varmail負(fù)載,模擬Email服務(wù)器的使用情況.設(shè)置文件數(shù)量為1000,每個(gè)目錄中創(chuàng)建的文件個(gè)數(shù)為20,每次I/O大小為4KB,I/O操作中讀寫訪問請求的比例為1:1,測試時(shí)間為60s,測試線程數(shù)量為1、2、4、6、8、10、12和14時(shí)的吞吐率IOPS值,結(jié)果如圖11所示.

    圖11 改變線程數(shù)量的Varmail負(fù)載測試結(jié)果Fig.11 Varmail load test results with varying number of threads

    從圖11可以看出,總體上,DNNFS呈逐漸上升趨勢,IOPS值始終高于NOVA.Varmail 在Varmal負(fù)載測試下,超過2線程時(shí)DNNFS的IOPS值相比NOVA均有所提高.在線程數(shù)小于8時(shí),NOVA的IOPS值隨著線程數(shù)增加而逐步提高,在8線程時(shí)達(dá)到峰值性能,隨著線程數(shù)再提高,性能幾乎持平.DNNFS相比于NOVA隨著線程數(shù)的吞吐量都有所增加,DNNFS在6線程時(shí)就達(dá)到了NOVA的最大IOPS值.在線程數(shù)為2時(shí),DNNFS相比NOVA提升了10.2%,同時(shí)在線程數(shù)為14時(shí),提高IOPS值的比例最高達(dá)到了25.5%;這表明DNNFS中設(shè)計(jì)的基于并發(fā)線程細(xì)粒度鎖能夠減少讀寫數(shù)據(jù)時(shí)加鎖的粒度,提高了大文件的讀寫效率;基于兩層日志的并發(fā)讀寫策略也可以利用多核處理器中不同線程來提高并發(fā)讀寫吞吐量.

    5.6 Fileserver負(fù)載測試

    使用Filebench的Fileserver負(fù)載,模擬文件服務(wù)器中文件共享和讀寫操作等情況.設(shè)置文件數(shù)量為10000,每個(gè)目錄中創(chuàng)建20個(gè)文件,每次I/O大小為4KB,I/O操作中讀寫訪問請求的比例為1:10,測試時(shí)間為60s,測試線程數(shù)量為1、2、4、6、8、10、12和14時(shí)的吞吐率IOPS值,結(jié)果如圖12所示.

    圖12 改變線程數(shù)量的Fileserver負(fù)載測試結(jié)果Fig.12 Fileserver load test results with varying number of threads

    從圖12可以發(fā)現(xiàn),Fileserver負(fù)載下,與Webserver和Varmail負(fù)載下的測試結(jié)果類似,DNNFS可以有效提升I/O性能,總體上,相比PMEM的IOPS值提高了15.4%~35.8%.在NOVA中,當(dāng)線程數(shù)為8時(shí)達(dá)到了IOPS的最大值,此時(shí)隨著線程數(shù)的增加,IOPS值開始略微下降,在同樣情況下DNNFS的IOPS仍有小幅的性能提升,這是由于Fileserver中讀寫比例為1:10,主要是寫負(fù)載,DNNFS中設(shè)計(jì)的基于并發(fā)線程細(xì)粒度鎖有效的減小了鎖的粒度,提高了讀寫大文件時(shí)的并發(fā)度;同時(shí)基于兩層的日志結(jié)構(gòu)以及基于兩層日志的并發(fā)讀寫策略可以利用多核處理器中不同線程來進(jìn)行并發(fā)讀寫.在DNNFS中,當(dāng)線程數(shù)為6時(shí),IOPS值就超過了NOVA中的IOPS最大值;并在線程數(shù)為14時(shí),DNNFS較NOVA最大提升了35.8%的IOPS值.總的來說,在Fileserver負(fù)載下,DNNFS較NOVA更適用于多核處理器中多線程下訪問請求沖突較多的情況.

    6 總 結(jié)

    增加DNN的參數(shù)數(shù)量和訓(xùn)練次數(shù)是有效提高模型準(zhǔn)確率的有效方式,但這導(dǎo)致DNN訓(xùn)練過程中需要頻繁讀寫海量參數(shù),成為影響DNN訓(xùn)練效率的重要問題.NVM具有讀寫速度快的優(yōu)勢,能有效提高DNN訓(xùn)練中訪問海量參數(shù)的效率.但現(xiàn)有的NVM文件系統(tǒng)是針對(duì)多種上層應(yīng)用混雜的情況設(shè)計(jì),通?;谖募6葋砉芾頂?shù)據(jù)訪問,存在難以利用處理器中多個(gè)計(jì)算核心并發(fā)讀寫DNN海量參數(shù)提高訓(xùn)練效率的問題.

    本文針對(duì)如何利用并發(fā)線程提高DNN訓(xùn)練中海量參數(shù)訪問效率的問題,在分析NVM特性和對(duì)存儲(chǔ)I/O軟件棧帶來的挑戰(zhàn)基礎(chǔ)上,設(shè)計(jì)了基于并發(fā)線程細(xì)粒度鎖機(jī)制,通過修改文件元數(shù)據(jù),縮小加鎖粒度,為利用多核處理器提高DNN訓(xùn)練過程中訪問海量參數(shù)的效率提供支撐;同時(shí)設(shè)計(jì)了基于兩層日志的文件并發(fā)I/O機(jī)制,利用兩層日志結(jié)構(gòu)支撐多個(gè)海量參數(shù)訪問線程的并發(fā)讀寫,同時(shí)能有效保證DNN參數(shù)訪問中的數(shù)據(jù)一致性;此外在Intel的Optane DC設(shè)備基礎(chǔ)上修改NOVA的源代碼,實(shí)現(xiàn)了面向DNN高并發(fā)NVM文件系統(tǒng)的原型DNNFS,使用Filebench和Fio中的多種負(fù)載進(jìn)行了測試與分析,結(jié)果表明相比NOVA,DNNFS能有效的提高并發(fā)線程讀寫數(shù)據(jù)的IOPS值和I/O帶寬.

    猜你喜歡
    細(xì)粒度海量線程
    融合判別性與細(xì)粒度特征的抗遮擋紅外目標(biāo)跟蹤算法
    一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
    細(xì)粒度的流計(jì)算執(zhí)行效率優(yōu)化方法
    海量快遞垃圾正在“圍城”——“綠色快遞”勢在必行
    基于雙線性卷積網(wǎng)絡(luò)的細(xì)粒度圖像定位
    淺談linux多線程協(xié)作
    支持細(xì)粒度權(quán)限控制且可搜索的PHR云服務(wù)系統(tǒng)
    一個(gè)圖形所蘊(yùn)含的“海量”巧題
    基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲(chǔ)與組織研究
    Linux線程實(shí)現(xiàn)技術(shù)研究
    老鸭窝网址在线观看| 成人一区二区视频在线观看| 精品一区二区三区av网在线观看| 一本综合久久免费| 亚洲av成人不卡在线观看播放网| 亚洲熟妇中文字幕五十中出| 中文字幕人成人乱码亚洲影| 五月伊人婷婷丁香| 国产真实伦视频高清在线观看 | 日韩欧美精品免费久久 | 一本一本综合久久| 一进一出抽搐动态| 亚洲成a人片在线一区二区| 免费看日本二区| 国产精品久久电影中文字幕| 内地一区二区视频在线| 国产高清videossex| 蜜桃久久精品国产亚洲av| 成人18禁在线播放| 免费在线观看日本一区| 日日摸夜夜添夜夜添小说| 精品人妻一区二区三区麻豆 | 两个人的视频大全免费| 一二三四社区在线视频社区8| 午夜老司机福利剧场| 成人亚洲精品av一区二区| 中文字幕av在线有码专区| 两个人的视频大全免费| АⅤ资源中文在线天堂| 精品一区二区三区视频在线 | 欧美日韩中文字幕国产精品一区二区三区| 久99久视频精品免费| 精品一区二区三区av网在线观看| 日韩欧美 国产精品| 97超视频在线观看视频| 亚洲精品影视一区二区三区av| 亚洲第一欧美日韩一区二区三区| 国产精品99久久久久久久久| 久久欧美精品欧美久久欧美| 天天添夜夜摸| 女人被狂操c到高潮| 麻豆一二三区av精品| 中文亚洲av片在线观看爽| 国产一区在线观看成人免费| 日本免费a在线| 精品熟女少妇八av免费久了| 观看免费一级毛片| 亚洲中文字幕日韩| 岛国视频午夜一区免费看| 一边摸一边抽搐一进一小说| 国产成人啪精品午夜网站| 淫妇啪啪啪对白视频| 国产极品精品免费视频能看的| 久久这里只有精品中国| 亚洲精华国产精华精| 热99re8久久精品国产| 脱女人内裤的视频| 老汉色∧v一级毛片| 天堂√8在线中文| 国产精品久久视频播放| 国内久久婷婷六月综合欲色啪| 黄色日韩在线| 婷婷六月久久综合丁香| 亚洲欧美日韩卡通动漫| 亚洲国产中文字幕在线视频| 变态另类成人亚洲欧美熟女| 欧美黄色片欧美黄色片| 久久午夜亚洲精品久久| 国产av麻豆久久久久久久| 国内精品美女久久久久久| 亚洲av免费在线观看| 一本久久中文字幕| 国产激情偷乱视频一区二区| 亚洲精品一区av在线观看| 天天添夜夜摸| 99热这里只有精品一区| 精品不卡国产一区二区三区| 香蕉av资源在线| 青草久久国产| 免费av观看视频| 午夜福利在线在线| 成人午夜高清在线视频| 在线播放国产精品三级| 国产一级毛片七仙女欲春2| 日韩欧美三级三区| 久99久视频精品免费| 亚洲国产欧美网| 色在线成人网| 啪啪无遮挡十八禁网站| 国产高清videossex| 亚洲国产高清在线一区二区三| 在线免费观看的www视频| 日韩亚洲欧美综合| 麻豆一二三区av精品| av中文乱码字幕在线| 男女之事视频高清在线观看| 日本三级黄在线观看| 三级男女做爰猛烈吃奶摸视频| www.色视频.com| 99riav亚洲国产免费| 观看免费一级毛片| 精品一区二区三区人妻视频| 国产精品三级大全| 又爽又黄无遮挡网站| 少妇高潮的动态图| 亚洲av免费在线观看| 成人性生交大片免费视频hd| 18+在线观看网站| 女人高潮潮喷娇喘18禁视频| 色播亚洲综合网| 亚洲精品乱码久久久v下载方式 | 热99re8久久精品国产| 好看av亚洲va欧美ⅴa在| av国产免费在线观看| 女人十人毛片免费观看3o分钟| 午夜福利成人在线免费观看| 亚洲色图av天堂| 日本 av在线| 亚洲欧美日韩卡通动漫| 久久久久久久亚洲中文字幕 | 国产亚洲欧美在线一区二区| 欧美丝袜亚洲另类 | 好看av亚洲va欧美ⅴa在| 搡老岳熟女国产| 国产精品久久视频播放| 午夜视频国产福利| 亚洲乱码一区二区免费版| 天美传媒精品一区二区| 精品99又大又爽又粗少妇毛片 | 在线十欧美十亚洲十日本专区| 午夜a级毛片| 午夜福利视频1000在线观看| 午夜日韩欧美国产| 国产不卡一卡二| 桃红色精品国产亚洲av| 看片在线看免费视频| 亚洲精品一区av在线观看| 日韩av在线大香蕉| 国产精品野战在线观看| 少妇人妻一区二区三区视频| 最近最新免费中文字幕在线| 国产又黄又爽又无遮挡在线| 免费在线观看影片大全网站| 观看美女的网站| 精品99又大又爽又粗少妇毛片 | 国产精品99久久99久久久不卡| 国产91精品成人一区二区三区| 欧美成狂野欧美在线观看| 免费人成在线观看视频色| 久久欧美精品欧美久久欧美| 在线观看午夜福利视频| 99久久精品一区二区三区| 人人妻人人澡欧美一区二区| 免费看十八禁软件| 久久久久久久久中文| 国产成人系列免费观看| 一本一本综合久久| www日本在线高清视频| 国产欧美日韩一区二区三| 精品熟女少妇八av免费久了| 伊人久久精品亚洲午夜| 中文字幕人妻丝袜一区二区| 欧美丝袜亚洲另类 | 日本熟妇午夜| 亚洲精品色激情综合| 免费在线观看亚洲国产| 三级男女做爰猛烈吃奶摸视频| 亚洲内射少妇av| 色视频www国产| 激情在线观看视频在线高清| 天堂动漫精品| 99久国产av精品| 女同久久另类99精品国产91| 舔av片在线| 成人亚洲精品av一区二区| 国产午夜福利久久久久久| 色综合站精品国产| 亚洲不卡免费看| 国产一区二区三区视频了| 有码 亚洲区| 欧美一级毛片孕妇| 国产免费一级a男人的天堂| 噜噜噜噜噜久久久久久91| 在线免费观看不下载黄p国产 | 99久久99久久久精品蜜桃| 国产午夜精品久久久久久一区二区三区 | 搡老妇女老女人老熟妇| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 成人三级黄色视频| 久久午夜亚洲精品久久| 亚洲色图av天堂| 亚洲精品国产精品久久久不卡| 又爽又黄无遮挡网站| 麻豆成人av在线观看| 一二三四社区在线视频社区8| 欧美黄色淫秽网站| 不卡一级毛片| 91在线精品国自产拍蜜月 | 亚洲av电影在线进入| 亚洲avbb在线观看| 日韩精品青青久久久久久| 国产精品 国内视频| 国产探花在线观看一区二区| 黄色女人牲交| 久久久久性生活片| 精品一区二区三区视频在线观看免费| 色播亚洲综合网| 国产探花在线观看一区二区| 国产精品久久久人人做人人爽| 久久亚洲真实| 欧美日本视频| 99精品欧美一区二区三区四区| 99热6这里只有精品| 欧美不卡视频在线免费观看| 综合色av麻豆| 国产高清三级在线| 中文字幕人成人乱码亚洲影| av片东京热男人的天堂| 身体一侧抽搐| 99国产精品一区二区蜜桃av| a级一级毛片免费在线观看| 亚洲成人中文字幕在线播放| 亚洲人与动物交配视频| 九九在线视频观看精品| 69人妻影院| 日日夜夜操网爽| 久久亚洲精品不卡| 国产97色在线日韩免费| 91久久精品电影网| 日本免费a在线| 国产探花在线观看一区二区| 国产精品,欧美在线| 国产精品亚洲av一区麻豆| 亚洲成人免费电影在线观看| 黄色视频,在线免费观看| 男女那种视频在线观看| 精华霜和精华液先用哪个| 天美传媒精品一区二区| 91在线观看av| 深夜精品福利| 亚洲不卡免费看| 日本五十路高清| 久久久久国内视频| 在线十欧美十亚洲十日本专区| 19禁男女啪啪无遮挡网站| 日本在线视频免费播放| 国产不卡一卡二| x7x7x7水蜜桃| 国内少妇人妻偷人精品xxx网站| 免费人成视频x8x8入口观看| 欧美日韩国产亚洲二区| 99精品欧美一区二区三区四区| 欧美极品一区二区三区四区| 12—13女人毛片做爰片一| 成人午夜高清在线视频| 搞女人的毛片| 九九热线精品视视频播放| 久久久久精品国产欧美久久久| 国产av在哪里看| 老鸭窝网址在线观看| 日韩欧美在线乱码| 欧美一区二区国产精品久久精品| 亚洲av成人精品一区久久| 日韩成人在线观看一区二区三区| 精品熟女少妇八av免费久了| 精品国产超薄肉色丝袜足j| 少妇人妻一区二区三区视频| 美女 人体艺术 gogo| 亚洲 欧美 日韩 在线 免费| 中亚洲国语对白在线视频| 国产精品99久久久久久久久| 综合色av麻豆| 窝窝影院91人妻| 一进一出好大好爽视频| 少妇的丰满在线观看| 伊人久久大香线蕉亚洲五| 两个人视频免费观看高清| 色综合婷婷激情| 国产精品一区二区三区四区久久| 精品99又大又爽又粗少妇毛片 | 欧美乱码精品一区二区三区| 国产精品香港三级国产av潘金莲| 久久午夜亚洲精品久久| 少妇高潮的动态图| 日本精品一区二区三区蜜桃| 国产单亲对白刺激| 亚洲精品一区av在线观看| 成人性生交大片免费视频hd| 精品国产超薄肉色丝袜足j| 母亲3免费完整高清在线观看| 欧美日韩国产亚洲二区| 露出奶头的视频| av黄色大香蕉| 精品国产美女av久久久久小说| 久久久国产成人精品二区| 97碰自拍视频| 18禁黄网站禁片午夜丰满| 国产精品亚洲一级av第二区| 亚洲国产精品成人综合色| 日韩欧美在线乱码| 成人特级av手机在线观看| 真实男女啪啪啪动态图| 亚洲欧美日韩无卡精品| 桃色一区二区三区在线观看| 日韩免费av在线播放| 黄片大片在线免费观看| 一区二区三区激情视频| 一区二区三区免费毛片| 麻豆成人av在线观看| 女人十人毛片免费观看3o分钟| 国产午夜精品论理片| 长腿黑丝高跟| 九色国产91popny在线| 久久人人精品亚洲av| 操出白浆在线播放| 亚洲精品在线美女| 毛片女人毛片| 国产精品98久久久久久宅男小说| 制服丝袜大香蕉在线| 欧美最黄视频在线播放免费| 亚洲国产欧洲综合997久久,| 国内精品久久久久精免费| 国产精品久久久人人做人人爽| 一卡2卡三卡四卡精品乱码亚洲| 免费看a级黄色片| 在线观看免费午夜福利视频| 国产乱人视频| 操出白浆在线播放| 日本免费一区二区三区高清不卡| 一进一出抽搐动态| 91久久精品电影网| 亚洲人与动物交配视频| 又粗又爽又猛毛片免费看| 国产精品嫩草影院av在线观看 | 国产成人a区在线观看| 一区福利在线观看| 欧美另类亚洲清纯唯美| 亚洲成人中文字幕在线播放| 欧美日韩亚洲国产一区二区在线观看| 国内揄拍国产精品人妻在线| 欧美成人免费av一区二区三区| 亚洲精品在线观看二区| 少妇人妻精品综合一区二区 | 国产不卡一卡二| 成年女人毛片免费观看观看9| 亚洲av成人不卡在线观看播放网| 少妇人妻精品综合一区二区 | 人人妻人人澡欧美一区二区| 国产精华一区二区三区| 久久久久国产精品人妻aⅴ院| 日韩免费av在线播放| 久久久久免费精品人妻一区二区| 日本黄大片高清| 亚洲精品美女久久久久99蜜臀| 岛国在线免费视频观看| 中文字幕av在线有码专区| 国产欧美日韩一区二区三| xxxwww97欧美| 在线观看免费视频日本深夜| 90打野战视频偷拍视频| 国产在视频线在精品| 国产精品久久久久久亚洲av鲁大| 男女之事视频高清在线观看| 精品久久久久久成人av| 精品午夜福利视频在线观看一区| 全区人妻精品视频| 嫩草影院精品99| 亚洲精品乱码久久久v下载方式 | 午夜免费观看网址| 亚洲av免费高清在线观看| 伊人久久精品亚洲午夜| 国产精品一区二区三区四区久久| 国产精品久久久久久久久免 | 免费看光身美女| 中文字幕人妻丝袜一区二区| 成熟少妇高潮喷水视频| 亚洲一区二区三区色噜噜| 搡老妇女老女人老熟妇| 国产探花在线观看一区二区| 最新中文字幕久久久久| 在线观看免费午夜福利视频| av福利片在线观看| 18禁在线播放成人免费| 久久久精品大字幕| av国产免费在线观看| 51国产日韩欧美| 全区人妻精品视频| 亚洲欧美一区二区三区黑人| 丁香六月欧美| 丰满的人妻完整版| 亚洲成a人片在线一区二区| 99久久久亚洲精品蜜臀av| 51午夜福利影视在线观看| 99热精品在线国产| 宅男免费午夜| 噜噜噜噜噜久久久久久91| 成人鲁丝片一二三区免费| 中文亚洲av片在线观看爽| 99精品欧美一区二区三区四区| 亚洲人成网站在线播| av天堂中文字幕网| 偷拍熟女少妇极品色| 在线观看日韩欧美| 国产毛片a区久久久久| 国产精品三级大全| 国产精品一区二区免费欧美| 3wmmmm亚洲av在线观看| 在线观看免费午夜福利视频| 免费av不卡在线播放| av在线天堂中文字幕| 国产精品野战在线观看| 亚洲美女视频黄频| 亚洲国产色片| 天堂av国产一区二区熟女人妻| 久久99热这里只有精品18| 51国产日韩欧美| 国产爱豆传媒在线观看| 久久久国产成人免费| 一个人看的www免费观看视频| 亚洲av电影在线进入| 99热这里只有是精品50| 色综合亚洲欧美另类图片| 国产成人啪精品午夜网站| 色在线成人网| 欧美色欧美亚洲另类二区| 一进一出抽搐gif免费好疼| 国产亚洲av嫩草精品影院| 九九在线视频观看精品| 亚洲精华国产精华精| 成人高潮视频无遮挡免费网站| 久久久久久久午夜电影| 亚洲人成网站高清观看| av欧美777| 色视频www国产| 国产免费一级a男人的天堂| 国产黄色小视频在线观看| 日韩欧美国产在线观看| 日韩 欧美 亚洲 中文字幕| av女优亚洲男人天堂| 成人特级黄色片久久久久久久| 69人妻影院| 一个人看视频在线观看www免费 | 男女床上黄色一级片免费看| 国产精品亚洲美女久久久| 99久久精品国产亚洲精品| 日本撒尿小便嘘嘘汇集6| h日本视频在线播放| 成年女人永久免费观看视频| 欧美成人免费av一区二区三区| 在线a可以看的网站| 亚洲狠狠婷婷综合久久图片| 99久国产av精品| 国产黄片美女视频| or卡值多少钱| 九色国产91popny在线| 男人舔女人下体高潮全视频| 亚洲欧美日韩高清专用| 久久精品国产亚洲av涩爱 | 蜜桃亚洲精品一区二区三区| 国产三级中文精品| 日韩亚洲欧美综合| 女同久久另类99精品国产91| 久久亚洲真实| 久久精品国产亚洲av涩爱 | 男人舔女人下体高潮全视频| 亚洲成a人片在线一区二区| 日韩欧美 国产精品| 十八禁人妻一区二区| 国语自产精品视频在线第100页| 成年女人永久免费观看视频| 少妇的逼水好多| 亚洲七黄色美女视频| 国产精品1区2区在线观看.| 久久久色成人| 婷婷精品国产亚洲av在线| 成人亚洲精品av一区二区| 黄片小视频在线播放| 国产又黄又爽又无遮挡在线| 综合色av麻豆| 久久精品亚洲精品国产色婷小说| 一边摸一边抽搐一进一小说| 伊人久久大香线蕉亚洲五| 久久久国产成人精品二区| 色综合亚洲欧美另类图片| 成人欧美大片| 69人妻影院| 夜夜看夜夜爽夜夜摸| 少妇人妻精品综合一区二区 | 床上黄色一级片| 无限看片的www在线观看| 一个人观看的视频www高清免费观看| 亚洲欧美日韩东京热| 亚洲精品久久国产高清桃花| 国产精品综合久久久久久久免费| 性欧美人与动物交配| 久久久久久久久大av| 久久久久精品国产欧美久久久| 久久香蕉国产精品| 国产精品一区二区三区四区免费观看 | 久久久精品大字幕| 免费看美女性在线毛片视频| 在线天堂最新版资源| 国产成人aa在线观看| 亚洲欧美日韩无卡精品| 国产色爽女视频免费观看| 成人特级av手机在线观看| 国产精品一区二区三区四区免费观看 | 欧美日韩瑟瑟在线播放| 男人的好看免费观看在线视频| 亚洲精品亚洲一区二区| 成人亚洲精品av一区二区| 亚洲熟妇中文字幕五十中出| 国产探花极品一区二区| 十八禁人妻一区二区| 国产乱人视频| 亚洲不卡免费看| 天堂√8在线中文| 国产精品乱码一区二三区的特点| a在线观看视频网站| 两个人的视频大全免费| 免费看日本二区| 国产精品,欧美在线| 在线观看舔阴道视频| 欧美成人a在线观看| 国产精品98久久久久久宅男小说| 国产精品美女特级片免费视频播放器| 亚洲成人中文字幕在线播放| 啦啦啦观看免费观看视频高清| 国产伦人伦偷精品视频| 久久精品国产亚洲av涩爱 | 窝窝影院91人妻| 久久6这里有精品| 日韩欧美 国产精品| 色av中文字幕| АⅤ资源中文在线天堂| 免费看光身美女| 亚洲欧美日韩高清专用| 欧美在线黄色| 欧美一级a爱片免费观看看| 免费看美女性在线毛片视频| 动漫黄色视频在线观看| 一级作爱视频免费观看| 一级a爱片免费观看的视频| 午夜福利成人在线免费观看| 有码 亚洲区| h日本视频在线播放| 热99re8久久精品国产| avwww免费| 欧美最黄视频在线播放免费| 国产精品久久久久久人妻精品电影| 日本黄色视频三级网站网址| 久久精品国产99精品国产亚洲性色| 宅男免费午夜| 可以在线观看毛片的网站| 午夜福利免费观看在线| 国产亚洲精品综合一区在线观看| 久久精品影院6| 国产高清videossex| 午夜免费观看网址| 国产成人av激情在线播放| 舔av片在线| 午夜两性在线视频| xxxwww97欧美| 97超视频在线观看视频| 国产亚洲精品一区二区www| 禁无遮挡网站| 搡老岳熟女国产| 免费在线观看日本一区| 亚洲国产精品成人综合色| 日韩精品青青久久久久久| 99久久综合精品五月天人人| 九九久久精品国产亚洲av麻豆| 国产精品久久电影中文字幕| xxx96com| 美女黄网站色视频| 99热这里只有是精品50| 少妇的逼好多水| 脱女人内裤的视频| 国产高清视频在线观看网站| 午夜精品一区二区三区免费看| 亚洲av免费在线观看| av黄色大香蕉| 变态另类丝袜制服| 成人永久免费在线观看视频| 欧美日韩乱码在线| 757午夜福利合集在线观看| 亚洲av第一区精品v没综合| 韩国av一区二区三区四区| 久久香蕉国产精品| 18+在线观看网站| 搡老妇女老女人老熟妇| 国语自产精品视频在线第100页| 久久精品91无色码中文字幕| h日本视频在线播放| 黄片大片在线免费观看| 我的老师免费观看完整版| 中文字幕精品亚洲无线码一区| 日韩免费av在线播放| 国产单亲对白刺激| 精品国产美女av久久久久小说| 99热精品在线国产| 俄罗斯特黄特色一大片| 欧美日韩精品网址| 桃红色精品国产亚洲av| 日韩人妻高清精品专区| 女警被强在线播放| 国语自产精品视频在线第100页| 午夜精品在线福利| 成年女人看的毛片在线观看| 午夜激情欧美在线| 国产午夜精品久久久久久一区二区三区 | 午夜福利18| 午夜福利成人在线免费观看| 久久精品影院6| 在线a可以看的网站|