


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