趙曉菲
摘 要:隨著大規模的密集數據型的應用在社會生產生活方面的融入,密集型程序越來越突出的顯示出主存儲器容量越大,程序的效率越高的特點。傳統意義上,動態隨機存儲器(DRAM)因其具備較低的訪問延遲、讀寫速度的對稱性以及更經濟的單位比特成本而廣泛應用于現代計算機系統之中。
關鍵詞:計算緩沖器;DRAM技術;設計;
一、DRAM技術暴露出的自身技術缺點:
(一)較高的閑置率;作為計算機系統中的主存儲器,DRAM的使用效率完全由計算機的計算負荷決定,且在未被使用時進行利用。
(二)較低的擴展性;通?;陔娐冯娖骱涂偩€等原因,在一個計算機系統中部署大量的DRAM是極為困難的。計算機的DRAM大小要么受制于DRAM芯片大小,要么在高性能計算機系統(HA)中還可以通過內存載板(DRAMCELL)擴展。無論上述那種方式,對于已定的計算機系統擴展其系統DRAM都將是非常困難的。
(三)易失性;DRAM因其基本的對于電荷的依賴的物理特性,嚴重降低了作為主存儲器的可靠性。
新興的非易失性存儲器(NVM)具備很好的特性以解決上述缺點,例如低閑置功率、高密度和無波動性。NVM技術包括相變存儲器(PCM)、旋轉傳遞扭矩磁性隨機存取存儲器(STT-MRAM),金屬氧化物電阻RAM和記憶電阻器。當然,NVM也有非常明顯的自身的缺點,如使用壽命限制、較長的延遲,讀寫的不對稱性等,這些缺點也決定DRAM仍然是計算機系統的主內存。為了使NVM在設備上發揮上述積極的優點,現在國際上普遍使用混合型的體系結構(HMAS),其使用DRAM與NVM組成的單層或者多層的結構。
在這種HMAS結構中,通常都有內存緩沖管理器(Buffer manager)來協調DRAM與NVM之間的工作。本文將從構架角度來分析多種學術界提出的HMAS構架,并結合最新的NVM發展技術來總結其優缺點。
二、設計
國際上最近的研究重點從在HMAS系統中優化NVM技術本身以及存儲層次結構緩存管理策略上開展的。
(一)基于NVM某個特定優勢的內存計算設計
Alexander van Renen(德國慕尼黑工業大學)等人提出的方案是,緩沖管理器將需要緩沖的數據從磁盤(包含SSD)遷移加載到到內存使用之后[7],當緩存頁面數據從內存中逐出時,該方案的緩沖管理器判斷它是否最近被訪問而寫入位于NVM的緩沖區。當判斷為最近未寫入內存則丟棄;當判斷為最近寫入DRAM則保存在NVM之中,用于下次調用時CPU直接讀取。
該方案的特點是依然以DRAM作為主要存儲器,而NVM設備組成的存儲池緩沖器用來存儲DRAM存儲歷史中的比較熱的數據,即緩沖器判斷DRAM中的數據再被拋棄時判斷該數據是否被多次讀入DRAM。如果是,該數據被DRAM拋棄的同時,緩沖器會將該數據完整的寫入NVM所組成的緩沖池之中,同時DRAM中會存儲該段數據在NVM中的地址而不是傳統的磁盤地址,因此當該段數據需要重新被讀取的時候,緩沖器可以快速的將該數據從NVM掉入DRAM,而不是速度較慢的磁盤。這種方案利用了NVM設備的大容量及比起磁盤更快速的讀寫響應,因此某個特定的應用需要DRAM重復調入多段磁盤數據時,這種設計將極大改善系統的處理能力。
其缺點是,這種緩沖器設計策略雖然在實驗室環境或某些應用環境中工作良好,但它們的工作對于存儲的層次結構和工作負載具有一定的局限性。
(二)操作系統方面的內存計算設計
Youngjin Kwon(得克薩斯大學奧斯汀分校)等人在2017年的SOSP(操作系統原理大會)大會上提出了一種多層緩存系統,它不會在DRAM上緩存NVM駐留的數據,并在執行同步寫操作時主動繞過內存。其具體過程是內核利用英特爾libpmem通道,通過mmap方式繞過DRAM直接訪問NVM存儲空間。
優點:繞過DRAM的緩沖器設計,避免了系統內核的開銷,直接由應用程序實現實現磁盤數據讀寫,因此省去DRAM的寫入延時已經驗證Log的操作。該方案利用了新型NVM在接口方面的優勢,直接將NVM的數據IO提升到與DRAM相同的層級。缺點,某種意義上,這種設計需要從操作系統至應用軟件及系統內核的支持;同時,這對于NVM硬件也有較為苛刻的條件,一般地講這種設計只適合部署在內部存儲通道的NVM。
(三)多層NVM結構的內存計算設計
該方案引入數據遷移優化的思想,這些優化包含了以前系統中使用的特定技術,其根據設備和工作負載特征來定制內存計算管理策略。一般的這些內存計算管理策略中有響應的適配機制來實現自適應內存數據遷移,它基本可以為任意工作負載和存儲層次結構實現了近乎最優的內存數據緩沖管理策略??傊?,其特點是為NVM感知數據遷移優化引入了分類,對于不同的數據流配合不同的NVM硬件設計,并提出了管理多層存儲層次結構的策略。同時,在緩沖區管理器中引入了一種無需任何手動調整適應機制。
三、趨勢
NVM技術的發展主要在于兩個與主存儲器相關的兩個方面,一是更低的訪問延遲;二是更大的容量。上述兩點也是NVM發展的兩個主要的方向,在訪問延遲方面NVM已經可以提供DIMM接口規范的硬件接口,從而提供與DRAM接近的訪問延時。容量方面NVM隨著芯片技術的發展,NVM所提供的容量也逐漸的開始接近傳統磁盤。因此內存計算緩沖器將擁有更為廣泛的設計基礎。
四、總結
本文討論了用于NVM的內存計算緩沖器設計思想及其趨勢,其主要分為三種,一種是基于NVM某個特定優勢而設計,如利用NVM的低寫入延時而設計的熱數據存儲池的設計;第二種是在操作系統層面直接繞過系統內核直接寫入NVM設備的設計;第三種是利用數據感知的方法控制內存數據流在DRAM、NVM與緩沖池之間的傳輸。