摘? 要:新型的非易失性存儲器(NVM)技術(shù)的發(fā)展帶來了幾乎與傳統(tǒng)DRAM一樣的存儲性能,這使以往內(nèi)存、磁盤的二元結(jié)構(gòu)變成內(nèi)存、NVM及磁盤的數(shù)據(jù)傳輸結(jié)構(gòu),在此情況下出現(xiàn)了多種緩沖數(shù)據(jù)流的路徑。因此文章介紹了管理和設(shè)計(jì)由DRAM、NVM和SSD組成的多層數(shù)據(jù)緩沖路徑。文章利用NVM特性的多層緩沖數(shù)據(jù)路徑,完成數(shù)據(jù)緩沖時(shí)間的設(shè)計(jì)。同時(shí)提出了用于評估不同數(shù)據(jù)流完成時(shí)間的評價(jià)模型,最后提出了一個(gè)圓形系統(tǒng),用于檢測目標(biāo)工作量和系統(tǒng)時(shí)間成本模型。
關(guān)鍵詞:非易失性存儲器;近內(nèi)存計(jì)算;存儲系統(tǒng)
中圖分類號:TP393.06? ? ? ?文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)24-0117-03
Design and Research of Multi-layer Buffer Data Transmission Optimization
ZHAO Xiaofei
(Lanzhou Petrochemical Polytechnic,Lanzhou? 730060,China)
Abstract:The development of new nonvolatile memory(NVM)technology has brought almost the same storage performance as traditional DRAM,which makes the binary structure of memory and disk become the data transmission structure of memory,NVM and disk. In this case,there are many kinds of buffered data flow paths. Therefore,this paper introduces the management and design of multi-layer data buffer path composed of DRAM,NVM and SSD. In this paper,the design of data buffer time is completed by using NVM characteristic of multi-layer buffer data path. At the same time,an evaluation model is proposed to evaluate the completion time of different data streams. Finally,a circular system is proposed to detect the target workload and system time cost model.
Keywords:nonvolatile memory;near memory computing;storage system
0? 引? 言
內(nèi)部存儲需要訪問數(shù)據(jù),如訪問在非揮發(fā)性存儲(例如SSD)上的數(shù)據(jù)時(shí),緩沖管理器會先將這部分?jǐn)?shù)據(jù)注入緩沖器,等到這部分?jǐn)?shù)據(jù)被需要時(shí)再將數(shù)據(jù)放入揮發(fā)性內(nèi)存(Dynamic Random Access Memory,DRAM),即動態(tài)隨機(jī)存取存儲器,最為常見的系統(tǒng)內(nèi)存來完成訪問存儲。這一數(shù)據(jù)緩沖管理的規(guī)范方法基于以下事實(shí):
(1)數(shù)據(jù)必須復(fù)制到DRAM才能完成在新型存儲上的訪問。
(2)存儲的速度比DRAM慢[1-3]。
但隨著新型的非易失性存儲器(Non-Volatile Memory,NVM,)技術(shù)的發(fā)展顛覆了這些前提。NVM是一種時(shí)下比較流行的存儲技術(shù),其主要的實(shí)現(xiàn)技術(shù)包括相變存儲器(Phase-Change Memory)和憶阻器存儲器(Memristors)[4-7],該類設(shè)備既有DRAM低延遲讀寫的特性也具備SSD的持久寫入以及大存儲空間等優(yōu)點(diǎn)。
NVM類存儲設(shè)備與傳統(tǒng)規(guī)范存儲技術(shù)之間的兩個(gè)區(qū)別:
(1)要處理磁盤駐留的數(shù)據(jù),緩沖管理器首先必須將其復(fù)制到DRAM,然后才能執(zhí)行其他操作。相比之下,得益于NVM設(shè)備具有CPU可直接尋址的地址表,因此CPU可以直接使用存儲在NVM的數(shù)據(jù)。
(2)NVM縮小了易失性和非易失性設(shè)備之間的性能差距。因此,當(dāng)NVM類設(shè)備被用作緩沖池時(shí),傳統(tǒng)的緩沖管理器設(shè)計(jì)與NVM硬件并不兼容。即,緩沖管理器將NVM當(dāng)作內(nèi)存來處理時(shí),緩沖數(shù)據(jù)流無需經(jīng)過內(nèi)存;當(dāng)NVM被當(dāng)作存儲來對待時(shí),NVM幾乎可以提供與內(nèi)存相當(dāng)?shù)难舆t性。
NVM這種與以往緩沖管理器不兼容的特點(diǎn),即類似內(nèi)存又類似磁盤的特性為緩沖管理器管理的緩沖數(shù)據(jù)流提供了多種遷移路徑及全新策略設(shè)計(jì)空間。
為此,本文探索了一組由DRAM、NVM和SSD組成的多層存儲結(jié)構(gòu)及多層緩沖數(shù)據(jù)傳輸優(yōu)化的設(shè)計(jì),以最大化存儲層次結(jié)構(gòu)中不同設(shè)備之間數(shù)據(jù)遷移的效用,從而提升整體系統(tǒng)性能。具體為:
(1)引入了多層緩沖數(shù)據(jù)傳輸優(yōu)化,提出了不同介質(zhì)之間多層緩沖數(shù)據(jù)傳輸優(yōu)化結(jié)構(gòu)的政策(第2.1節(jié))。
(2)提出了基于時(shí)間的數(shù)據(jù)流傳輸評價(jià)模型來衡量存儲系統(tǒng)數(shù)據(jù)流傳輸設(shè)計(jì)時(shí)間敏感性指標(biāo)模型(第2.3節(jié))。
(3)實(shí)踐了基于上述兩點(diǎn)的與ZFS文件系統(tǒng)工作機(jī)制結(jié)合起來的原型測試系統(tǒng),實(shí)踐了主要不同數(shù)據(jù)流的時(shí)間指標(biāo)的測試(第3節(jié))。
1? 研究背景
在現(xiàn)代計(jì)算機(jī)體系當(dāng)中,內(nèi)部存儲器的數(shù)據(jù)流主要是由緩沖器以及緩沖管理器控制。緩沖管理器將計(jì)算機(jī)的可用內(nèi)存分區(qū)為幾組固定大小的區(qū)域,這些區(qū)域統(tǒng)稱為緩沖區(qū)。操作系統(tǒng)或者數(shù)據(jù)庫系統(tǒng)等更高級別計(jì)算機(jī)訪問控制組件(如大型集群應(yīng)用或數(shù)據(jù)庫查詢執(zhí)行引擎等)不用查詢頁面文件(Page)是否在緩沖區(qū),他們只需要請求緩沖管理器來檢索該頁面。如果緩沖區(qū)中不存在其他組件請求的頁面,緩沖管理器會從存儲中檢索該頁面。
緩沖管理器的作用是維護(hù)內(nèi)存中緩沖區(qū)里的每個(gè)頁面的瞬態(tài)元數(shù)據(jù)。此元數(shù)據(jù)包括對頁面的主動引用次數(shù),以及該頁面自存儲進(jìn)入緩沖區(qū)以來是否已修改等信息。如果緩沖區(qū)中已經(jīng)存在另一個(gè)組件請求的頁面,則會增加對頁面的主動引用次數(shù),并返回包含該頁面的緩沖區(qū)的地址。否則,緩沖管理器會根據(jù)更換策略(例如最近使用最少的)選擇更換緩沖區(qū)。如果選擇替換的頁面文件未做任何修改,緩沖管理器會將這些頁面文件傳輸?shù)酱鎯ι系南鄳?yīng)頁面,然后,它將請求的頁面從存儲中復(fù)制到替換槽中,并返回插槽的地址。
2? 研究內(nèi)容
2.1? 多層次緩沖數(shù)據(jù)流結(jié)構(gòu)設(shè)計(jì)
在多層緩沖數(shù)據(jù)流的設(shè)計(jì)中,將討論新型存儲介質(zhì)參與的比較有實(shí)際意義且認(rèn)為可以提升計(jì)算機(jī)內(nèi)部存儲完成緩沖數(shù)據(jù)時(shí)間的路徑,如:繞過部署在DIMM插槽的NVM介質(zhì)時(shí),相同的數(shù)據(jù)傳輸效果,在不同路徑下的完成時(shí)間等,如圖1所示。
2.2? 數(shù)據(jù)流路徑
讀取緩沖數(shù)據(jù)流路徑,一般的計(jì)算機(jī)系統(tǒng)中的內(nèi)存緩沖數(shù)據(jù)默認(rèn)的傳輸數(shù)據(jù)讀取路徑包括三個(gè)步驟:將數(shù)據(jù)從磁盤移至NVM(1或者6),然后移至DRAM(13),最后移至處理器緩存(11)。同樣,默認(rèn)寫入路徑包括三個(gè)步驟:將數(shù)據(jù)從處理器高速緩存移動到內(nèi)存(12),然后移動到NVM(14),最后移動到磁盤(3)。在這種情況下緩沖管理器如何利用圖1中NVM(部署于DIMM及PCI)帶來的附加數(shù)據(jù)流路徑(1,2,3,4,13,14)來優(yōu)化數(shù)據(jù)流路徑從而發(fā)揮NVM的特性來提高整體系統(tǒng)性能。
與磁盤不同,處理器可以直接通過讀取操作直接訪問NVM上的數(shù)據(jù)(2)。要訪問磁盤上的數(shù)據(jù),在其他緩沖管理策略中,緩沖管理器會將其復(fù)制到內(nèi)存(9),然后處理器才能對其進(jìn)行操作。使用NVM緩沖池后,緩沖管理器可以利用這個(gè)新的數(shù)據(jù)流路徑,同時(shí)將緩沖數(shù)據(jù)讀取到內(nèi)存緩沖池及NVM緩沖池。
在這種情況下,研究內(nèi)容是當(dāng)緩沖管理器發(fā)現(xiàn)內(nèi)存內(nèi)的緩沖池需要被替換,或者丟棄時(shí),緩沖管理器仍然會選擇保留NVM緩沖池內(nèi)的數(shù)據(jù),直到NVM緩沖池也被填滿時(shí)、才會丟棄NVM緩沖池內(nèi)較冷的數(shù)據(jù),而當(dāng)緩沖管理器發(fā)現(xiàn)已被從內(nèi)存緩沖池驅(qū)除的頁面緩存再次被請求時(shí),可由NVM緩沖池直接提供給處理器。
處理器通過寫操作直接將數(shù)據(jù)保存在NVM上時(shí),緩沖管理器利用此路徑以較低的緩沖池開銷提供同步持久性。寫入操作繞過內(nèi)存,因?yàn)閿?shù)據(jù)必須最終持久化的寫入磁盤,使用這種緩沖路徑時(shí)縮小了整體寫入操作的延遲,同時(shí)消除對內(nèi)存的冗余寫入。因此它也給內(nèi)存空出多余的空間用于其他緩沖頁面數(shù)據(jù)。
在這種情況下,釋放了大量原本用于寫入緩存的內(nèi)存緩存池,因此確保包含日志和檢查點(diǎn)記錄的異步寫入操作不會驅(qū)逐內(nèi)存中的更熱數(shù)據(jù),同時(shí)更大的NVM存儲空間更為適合帶有日志的異步寫入操作。
當(dāng)在寫入期間繞過NVM,緩沖管理器確保只有頻繁內(nèi)存的頁面緩存數(shù)據(jù)才會存儲在NVM上。這種優(yōu)化減少了對NVM的寫入次數(shù),因?yàn)橹挥挟?dāng)緩沖管理器識別的較為頻繁的頁面緩沖數(shù)據(jù)存儲在NVM緩沖區(qū)之中。
2.3? 緩沖數(shù)據(jù)流評價(jià)模型
數(shù)據(jù)流容量變化模型,將多層緩沖數(shù)據(jù)流建模為具有n級,即L1、L2,…,Ln的線性結(jié)構(gòu)。位于某一層的緩沖數(shù)據(jù)表示為Li,每完成一次數(shù)據(jù)流緩沖的命中率為H(在同一次數(shù)據(jù)緩沖過程中,各個(gè)層級的命中率為取定值),在該層次的存儲結(jié)構(gòu)中性能由兩個(gè)因素決定:平均完成時(shí)間ti和介質(zhì)緩沖容量Ci。i級中所有存儲塊都必須存在于每個(gè)級別中,當(dāng)大于i(即在層次結(jié)構(gòu)中的所有較低級別,偏更靠近外部存儲),可以存儲在系統(tǒng)中的最大信息等于最低級別Cn的容量,因?yàn)榇鎯υ谙到y(tǒng)較高級別的所有塊的副本必須存在于Ln中,所以數(shù)據(jù)流傳輸容量大小變化模型為:
hi=H(Ci)-H(Ci-1)
塊數(shù)據(jù)流完成時(shí)間模型,hi表示緩沖層次結(jié)構(gòu)中i級成功數(shù)據(jù)訪問的相對數(shù)量。然后,每完成一次全部緩沖塊請求的有效平均訪問時(shí)間為:
T=
2.4? 模型機(jī)建立
依據(jù)數(shù)據(jù)流路徑中的要求,模型機(jī)的軟件構(gòu)架如圖2所示,部署在DIMM插槽的DRAM及NVM介質(zhì)由系統(tǒng)內(nèi)核(Linux系統(tǒng))提供驅(qū)動,數(shù)據(jù)流由/CPU Scheduling控制;部署在PCI的NVM介質(zhì)將有ZFS文件系統(tǒng)負(fù)責(zé)驅(qū)動及組織;最后SDD/HDD則有操作系統(tǒng)的塊文件API驅(qū)動。
3? 實(shí)際測試
3.1? 數(shù)據(jù)讀取情況
如圖3所示,數(shù)據(jù)讀取在繞過部署在DIMM的介質(zhì)時(shí),不同數(shù)據(jù)流大小在不同路徑下的時(shí)間性能表現(xiàn),可以看出新型存儲介質(zhì)完成時(shí)間更快,且數(shù)據(jù)集愈大完成時(shí)間更快。
3.2? 數(shù)據(jù)寫入情況
如圖4所示,數(shù)據(jù)寫入在繞過部署在DIMM的介質(zhì)時(shí),傳統(tǒng)路徑對數(shù)據(jù)大小較為敏感,數(shù)據(jù)流越大,寫入時(shí)間越長。
4? 結(jié)? 論
本文介紹了管理和設(shè)計(jì)由DRAM、NVM和SSD組成的多路徑的多層數(shù)據(jù)流的技術(shù)。介紹了一種基于完成時(shí)間的用于評估路徑性能的數(shù)據(jù)模型,建立了一個(gè)可以用于測試的原型機(jī)系統(tǒng),并在此模型下討論了是否繞過新型存儲介質(zhì)的數(shù)據(jù)流路徑的性能。結(jié)果表明,NVM等新型存儲機(jī)制帶來的多種傳輸路徑在不同數(shù)據(jù)流大小的工作負(fù)載下提高了系統(tǒng)完成傳輸時(shí)間,從而提升了系統(tǒng)響應(yīng)時(shí)間。
參考文獻(xiàn):
[1] TARANTOLA A. Intels 3D memory is 1,000 times faster than modern storage [EB/OL].(2015-07-28).https://www.engadget.com/2015/07/28/intel-3d-memory-1000-times-faster/.
[2] FERRON-JONES M. A New Breakthrough in Persistent Memory Gets Its First Public Demo [EB/OL].(2017-05-16).https://itpeernetwork.intel.com/new-breakthrough-persistent-memory-first-public-demo/.
[3] CUTRESS I,TALLIS B. Intel Launches Optane DIMMs Up To 512 GB:Apache Pass Is Here [EB/OL].(2018-05-30).https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here.
[4] RAOUX S,BURR G W,M.BREITWISCH M J,et al. Phase-change random access memory [J].IBM Journal of Research and Development,2008,52(4):465–479.
[5] Hewlett Packard Enterprise. HPE Unveils Computer Built for the Era of Big Data [EB/OL].(2017-05-16).https://news.hpe.com/a-new-computer-built-for-the-big-data-era/.
[6] RENEN A V,LEIS V,KEMPER A,et al. Managing Non-Volatile Memory in Database Systems [C]//In Proceedings of the 2018 International Conference on Management of Data.New York:Association for Computing Machinery,2018:1541-1555.
[7] KWON Y,F(xiàn)INGLER H,HUNT T,et al. Strata:A Cross Media File System [C]//In Proceedings of the 26th Symposium on Operating Systems Principles.New York:Association for Computing Machinery,2017:460-477.
作者簡介:趙曉菲(1987.10—),女,漢族,河北衡水人,高職教師,碩士研究生,研究方向:內(nèi)存計(jì)算。