摘? 要:新型的非易失性存儲器(NVM)技術的發(fā)展帶來了幾乎與傳統(tǒng)DRAM一樣的存儲性能,這使以往內存、磁盤的二元結構變成內存、NVM及磁盤的數(shù)據(jù)傳輸結構,在此情況下出現(xiàn)了多種緩沖數(shù)據(jù)流的路徑。因此文章介紹了管理和設計由DRAM、NVM和SSD組成的多層數(shù)據(jù)緩沖路徑。文章利用NVM特性的多層緩沖數(shù)據(jù)路徑,完成數(shù)據(jù)緩沖時間的設計。同時提出了用于評估不同數(shù)據(jù)流完成時間的評價模型,最后提出了一個圓形系統(tǒng),用于檢測目標工作量和系統(tǒng)時間成本模型。
關鍵詞:非易失性存儲器;近內存計算;存儲系統(tǒng)
中圖分類號:TP393.06? ? ? ?文獻標識碼: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? 引? 言
內部存儲需要訪問數(shù)據(jù),如訪問在非揮發(fā)性存儲(例如SSD)上的數(shù)據(jù)時,緩沖管理器會先將這部分數(shù)據(jù)注入緩沖器,等到這部分數(shù)據(jù)被需要時再將數(shù)據(jù)放入揮發(fā)性內存(Dynamic Random Access Memory,DRAM),即動態(tài)隨機存取存儲器,最為常見的系統(tǒng)內存來完成訪問存儲。這一數(shù)據(jù)緩沖管理的規(guī)范方法基于以下事實:
(1)數(shù)據(jù)必須復制到DRAM才能完成在新型存儲上的訪問。
(2)存儲的速度比DRAM慢[1-3]。
但隨著新型的非易失性存儲器(Non-Volatile Memory,NVM,)技術的發(fā)展顛覆了這些前提。NVM是一種時下比較流行的存儲技術,其主要的實現(xiàn)技術包括相變存儲器(Phase-Change Memory)和憶阻器存儲器(Memristors)[4-7],該類設備既有DRAM低延遲讀寫的特性也具備SSD的持久寫入以及大存儲空間等優(yōu)點。
NVM類存儲設備與傳統(tǒng)規(guī)范存儲技術之間的兩個區(qū)別:
(1)要處理磁盤駐留的數(shù)據(jù),緩沖管理器首先必須將其復制到DRAM,然后才能執(zhí)行其他操作。相比之下,得益于NVM設備具有CPU可直接尋址的地址表,因此CPU可以直接使用存儲在NVM的數(shù)據(jù)。
(2)NVM縮小了易失性和非易失性設備之間的性能差距。因此,當NVM類設備被用作緩沖池時,傳統(tǒng)的緩沖管理器設計與NVM硬件并不兼容。即,緩沖管理器將NVM當作內存來處理時,緩沖數(shù)據(jù)流無需經過內存;當NVM被當作存儲來對待時,NVM幾乎可以提供與內存相當?shù)难舆t性。
NVM這種與以往緩沖管理器不兼容的特點,即類似內存又類似磁盤的特性為緩沖管理器管理的緩沖數(shù)據(jù)流提供了多種遷移路徑及全新策略設計空間。
為此,本文探索了一組由DRAM、NVM和SSD組成的多層存儲結構及多層緩沖數(shù)據(jù)傳輸優(yōu)化的設計,以最大化存儲層次結構中不同設備之間數(shù)據(jù)遷移的效用,從而提升整體系統(tǒng)性能。具體為:
(1)引入了多層緩沖數(shù)據(jù)傳輸優(yōu)化,提出了不同介質之間多層緩沖數(shù)據(jù)傳輸優(yōu)化結構的政策(第2.1節(jié))。
(2)提出了基于時間的數(shù)據(jù)流傳輸評價模型來衡量存儲系統(tǒng)數(shù)據(jù)流傳輸設計時間敏感性指標模型(第2.3節(jié))。
(3)實踐了基于上述兩點的與ZFS文件系統(tǒng)工作機制結合起來的原型測試系統(tǒng),實踐了主要不同數(shù)據(jù)流的時間指標的測試(第3節(jié))。
1? 研究背景
在現(xiàn)代計算機體系當中,內部存儲器的數(shù)據(jù)流主要是由緩沖器以及緩沖管理器控制。緩沖管理器將計算機的可用內存分區(qū)為幾組固定大小的區(qū)域,這些區(qū)域統(tǒng)稱為緩沖區(qū)。操作系統(tǒng)或者數(shù)據(jù)庫系統(tǒng)等更高級別計算機訪問控制組件(如大型集群應用或數(shù)據(jù)庫查詢執(zhí)行引擎等)不用查詢頁面文件(Page)是否在緩沖區(qū),他們只需要請求緩沖管理器來檢索該頁面。如果緩沖區(qū)中不存在其他組件請求的頁面,緩沖管理器會從存儲中檢索該頁面。
緩沖管理器的作用是維護內存中緩沖區(qū)里的每個頁面的瞬態(tài)元數(shù)據(jù)。此元數(shù)據(jù)包括對頁面的主動引用次數(shù),以及該頁面自存儲進入緩沖區(qū)以來是否已修改等信息。如果緩沖區(qū)中已經存在另一個組件請求的頁面,則會增加對頁面的主動引用次數(shù),并返回包含該頁面的緩沖區(qū)的地址。否則,緩沖管理器會根據(jù)更換策略(例如最近使用最少的)選擇更換緩沖區(qū)。如果選擇替換的頁面文件未做任何修改,緩沖管理器會將這些頁面文件傳輸?shù)酱鎯ι系南鄳撁?,然后,它將請求的頁面從存儲中復制到替換槽中,并返回插槽的地址。
2? 研究內容
2.1? 多層次緩沖數(shù)據(jù)流結構設計
在多層緩沖數(shù)據(jù)流的設計中,將討論新型存儲介質參與的比較有實際意義且認為可以提升計算機內部存儲完成緩沖數(shù)據(jù)時間的路徑,如:繞過部署在DIMM插槽的NVM介質時,相同的數(shù)據(jù)傳輸效果,在不同路徑下的完成時間等,如圖1所示。
2.2? 數(shù)據(jù)流路徑
讀取緩沖數(shù)據(jù)流路徑,一般的計算機系統(tǒng)中的內存緩沖數(shù)據(jù)默認的傳輸數(shù)據(jù)讀取路徑包括三個步驟:將數(shù)據(jù)從磁盤移至NVM(1或者6),然后移至DRAM(13),最后移至處理器緩存(11)。同樣,默認寫入路徑包括三個步驟:將數(shù)據(jù)從處理器高速緩存移動到內存(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ù),在其他緩沖管理策略中,緩沖管理器會將其復制到內存(9),然后處理器才能對其進行操作。使用NVM緩沖池后,緩沖管理器可以利用這個新的數(shù)據(jù)流路徑,同時將緩沖數(shù)據(jù)讀取到內存緩沖池及NVM緩沖池。
在這種情況下,研究內容是當緩沖管理器發(fā)現(xiàn)內存內的緩沖池需要被替換,或者丟棄時,緩沖管理器仍然會選擇保留NVM緩沖池內的數(shù)據(jù),直到NVM緩沖池也被填滿時、才會丟棄NVM緩沖池內較冷的數(shù)據(jù),而當緩沖管理器發(fā)現(xiàn)已被從內存緩沖池驅除的頁面緩存再次被請求時,可由NVM緩沖池直接提供給處理器。
處理器通過寫操作直接將數(shù)據(jù)保存在NVM上時,緩沖管理器利用此路徑以較低的緩沖池開銷提供同步持久性。寫入操作繞過內存,因為數(shù)據(jù)必須最終持久化的寫入磁盤,使用這種緩沖路徑時縮小了整體寫入操作的延遲,同時消除對內存的冗余寫入。因此它也給內存空出多余的空間用于其他緩沖頁面數(shù)據(jù)。
在這種情況下,釋放了大量原本用于寫入緩存的內存緩存池,因此確保包含日志和檢查點記錄的異步寫入操作不會驅逐內存中的更熱數(shù)據(jù),同時更大的NVM存儲空間更為適合帶有日志的異步寫入操作。
當在寫入期間繞過NVM,緩沖管理器確保只有頻繁內存的頁面緩存數(shù)據(jù)才會存儲在NVM上。這種優(yōu)化減少了對NVM的寫入次數(shù),因為只有當緩沖管理器識別的較為頻繁的頁面緩沖數(shù)據(jù)存儲在NVM緩沖區(qū)之中。
2.3? 緩沖數(shù)據(jù)流評價模型
數(shù)據(jù)流容量變化模型,將多層緩沖數(shù)據(jù)流建模為具有n級,即L1、L2,…,Ln的線性結構。位于某一層的緩沖數(shù)據(jù)表示為Li,每完成一次數(shù)據(jù)流緩沖的命中率為H(在同一次數(shù)據(jù)緩沖過程中,各個層級的命中率為取定值),在該層次的存儲結構中性能由兩個因素決定:平均完成時間ti和介質緩沖容量Ci。i級中所有存儲塊都必須存在于每個級別中,當大于i(即在層次結構中的所有較低級別,偏更靠近外部存儲),可以存儲在系統(tǒng)中的最大信息等于最低級別Cn的容量,因為存儲在系統(tǒng)較高級別的所有塊的副本必須存在于Ln中,所以數(shù)據(jù)流傳輸容量大小變化模型為:
hi=H(Ci)-H(Ci-1)
塊數(shù)據(jù)流完成時間模型,hi表示緩沖層次結構中i級成功數(shù)據(jù)訪問的相對數(shù)量。然后,每完成一次全部緩沖塊請求的有效平均訪問時間為:
T=
2.4? 模型機建立
依據(jù)數(shù)據(jù)流路徑中的要求,模型機的軟件構架如圖2所示,部署在DIMM插槽的DRAM及NVM介質由系統(tǒng)內核(Linux系統(tǒng))提供驅動,數(shù)據(jù)流由/CPU Scheduling控制;部署在PCI的NVM介質將有ZFS文件系統(tǒng)負責驅動及組織;最后SDD/HDD則有操作系統(tǒng)的塊文件API驅動。
3? 實際測試
3.1? 數(shù)據(jù)讀取情況
如圖3所示,數(shù)據(jù)讀取在繞過部署在DIMM的介質時,不同數(shù)據(jù)流大小在不同路徑下的時間性能表現(xiàn),可以看出新型存儲介質完成時間更快,且數(shù)據(jù)集愈大完成時間更快。
3.2? 數(shù)據(jù)寫入情況
如圖4所示,數(shù)據(jù)寫入在繞過部署在DIMM的介質時,傳統(tǒng)路徑對數(shù)據(jù)大小較為敏感,數(shù)據(jù)流越大,寫入時間越長。
4? 結? 論
本文介紹了管理和設計由DRAM、NVM和SSD組成的多路徑的多層數(shù)據(jù)流的技術。介紹了一種基于完成時間的用于評估路徑性能的數(shù)據(jù)模型,建立了一個可以用于測試的原型機系統(tǒng),并在此模型下討論了是否繞過新型存儲介質的數(shù)據(jù)流路徑的性能。結果表明,NVM等新型存儲機制帶來的多種傳輸路徑在不同數(shù)據(jù)流大小的工作負載下提高了系統(tǒng)完成傳輸時間,從而提升了系統(tǒng)響應時間。
參考文獻:
[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—),女,漢族,河北衡水人,高職教師,碩士研究生,研究方向:內存計算。