999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于寫頁面熱度的混合內存頁面管理策略

2021-07-17 01:37:44錢育蓉趙京霞張文沖
東北師大學報(自然科學版) 2021年2期
關鍵詞:頁面結構

杜 嬌,錢育蓉,張 猛,趙京霞,張文沖

(新疆大學軟件學院,新疆 烏魯木齊 830008)

0 引言

大數據時代,數據密集型應用的比例逐漸超過計算密集型應用,成為計算機系統中的主流應用[1],內存計算也隨之迅速發展,對存儲系統的容量、性能、功耗以及可拓展性不斷提出了更高的要求.目前的存儲系統中,應用最廣泛的存儲器件是傳統的動態隨機存取存儲器(Dynamic Random Access Memory,DRAM),然而DRAM存儲技術受其本身工藝尺寸、存儲密度、掉電數據丟失等特性的限制[2],難以滿足大數據時代對海量信息存儲的需求[3],計算瓶頸問題逐漸轉化為I/O瓶頸問題,為能提供與計算能力相匹配的I/O能力,需對現有的存儲系統進行優化甚至變革.

近年來,新型非易失性存儲器(Non-Volatile Memory,NVM)憑借其非易失性、漏電功耗低、存儲密度高和擴展性強等特性,為計算機存儲系統的發展帶來了新方向[4],但NVM各存儲單元存在壽命限制以及讀寫性能不對稱等問題,因此要真正發揮非易失存儲器的優勢,解決上述兩個問題是前提.

改進目前主流內存設備(DRAM)的能力,在很長一段時間內,科研工作者將壓縮DRAM工藝尺寸和成本,提高容量,降低其能耗作為研究目標,但DRAM面臨的一些問題依然沒有得到較好的解決.除此之外,目前應用廣泛的還有閃存,閃存與磁盤相比無機械延遲,速度也相對較快,但遠遠不及阻變存儲器(Resistive Random Access Memory,RRAM)、相變存儲器(Phase Change Memory,PCM)等新型非易失存儲器.楊濮源等[5]基于磁盤和固態硬盤構建混合存儲系統,對數據頁進行精準分類,雖然提升性能,但固態硬盤與NVM相比較,在存儲性能方面仍然存在一定差距.

在非易失性存儲器領域方面國內外學者也展開了許多研究.一部分研究者從材料及工藝出發,致力于研制更高性價比的存儲介質.另一部分學者從軟件層面出發,尋求提高存儲系統能力的方法.W.Wei等[6]為了能夠更準確地反映NVM混合主存系統中最后一級高速緩存的性能,設計了TMPKI(Transformed Misses Per-Kilo Instructions)性能度量制式;沈凡凡等[7]為降低緩存單元的寫壓力,提出了一種SRAM輔助新型非易失性緩存的磨損均衡方法;D.Liu等[8]將NVM上的寫操作在整個NVM芯片空間內平均分布,通過磨損均衡的方法提高NVM的壽命.

通過對新型非易失性存儲器及混合存儲的研究現狀及背景進行分析,發現目前引入NVM構建混合內存系統主要有3種結構:第1種是NVM完全取代DRAM作為內存;第2種是NVM與DRAM構成混合內存,但兩者處于同一層次;第3種是DRAM與NVM采用層次結構構成混合內存結構[9],這種情況下,DRAM充當緩存的角色.針對第1種結構,NVM目前存在寫操作延遲大、壽命有限的缺點,因此單獨使用NVM作為內存是不可行的.若采用第2種層次結構,則內存的大小為NVM的大小,處理器對DRAM是未知的,同時DRAM與NVM之間需要頻繁交換數據,會影響系統的性能.因此本文基于第3種的混合內存結構進行了研究.

本文基于DRAM和RRAM構建一種DRAM-RRAM混合存儲模型,針對混合內存結構中RRAM寫延遲大以及寫耐性有限的缺陷,從減少RRAM上寫操作數量的角度出發,提出一種混合內存管理策略,主要思想是通過將請求頁面按照寫訪問熱度進行劃分,將最近多次被寫的頁面設置為熱寫頁面,與之相對應的,將最近很少發生寫操作的頁面定義為冷寫頁面,把熱寫頁面盡可能放置到DRAM上,冷寫頁面存到RRAM上,減少RRAM上的寫次數,達到提高系統性能、延長RRAM壽命的目的.

1 混合內存模型

1.1 阻變存儲器

RRAM存儲數據信息的方式是基于阻值變化的,它利用薄膜材料在不同電流激勵的作用下出現高低阻態之間的可逆轉變現象來進行數據存儲[10],高阻值時寫“1”,低阻值時寫“0”,與DRAM相比不需要充電操作,空閑時不耗能.其結構簡單,由金屬-介質-金屬構成,有利于實現三維的高密度集成.國際半導體技術路線圖組織在其2013年度報告中指出,RRAM將成為下一代存儲器中最有力的候選者[11].

從單元存儲密度、容量、讀寫延遲、耐久性、寫能耗和易失性等方面出發,將RRAM與常用存儲器件DRAM、NAND Flash進行了對比,見表1.發現DRAM的讀寫延遲小,耐久性好,但其功耗高,存儲密度相對較低.RRAM在功耗、讀寫性能、耐性等方面都優于目前流行的閃存.

表1 常用存儲技術比較

1.2 混合內存結構

在DRAM-RRAM混合內存系統中,不僅要對DRAM的特性進行模擬重現,還需模擬RRAM特性,因此需要設計一個混合內存控制器來進行管理和控制,充當橋梁的角色,分別為上層和下層提供一個接口,響應上層下發的請求,并通過接口從下層存儲介質中查詢,并將執行完的數據返回給CPU.圖1展示了引入RRAM后的混合內存體系結構.傳統的內存是直接與內存總線相連接的,而本文則將DRAM和RRAM連接到內存控制器上,內存控制器再與內存總線連接.

圖1 混合內存體系結構

內存控制器負責管理DRAM和RRAM內存,主要工作包含管理數據的訪存,實現地址映射、維護分區列表、命令產生、讀寫調度控制等,同時管理每一個對內存發起訪問的請求.其中DRAM和RRAM分別設計存儲管理模塊,二者的地址空間是分別獨立的,任何時候一個數據頁只存在于一個設備上.內存控制器維護DRAM和RRAM的分區列表,根據請求地址將請求發送到相應的內存,DRAM與RRAM之間進行數據遷移.

混合內存控制器中請求下發執行過程如圖2所示,具體如下:

(1) 當內存訪問請求到達時,內存控制器對訪問請求進行解析,獲得請求類型、地址、大小等信息,請求信息進行保存.

(2) 判斷該請求操作的頁面是否在內存中.若請求命中執行步驟3,未命中執行步驟5.

(3) 對請求類型進行判斷,若為讀請求,根據地址映射關系表中的信息,到DRAM或者RRAM中進行查找,找成功,則返回結果,本次請求處理結束.

(4) 若為寫請求,首先判斷DRAM上是否有存儲空間,若有則寫入DRAM中,若沒有則存入RRAM中.最后將結果返回內存控制器,進一步返回給CPU.

(5) 若請求未命中,產生一個缺頁中斷.在外存中查找,當讀操作發生缺頁中斷程序從外存讀取請求頁時,優先考慮將請求頁寫入DRAM中,若DRAM中沒有空間時則寫入RRAM中.目的是減少RRAM的寫次數,因為RRAM具有較高的寫延遲(相對于DRAM).

圖2 請求下發流程

2 基于寫熱度的混合內存頁面遷移策略

2.1 寫頁面熱度定義

對寫頁面的熱度進行定義是為了體現頁面最近被寫訪問的情況,若一個頁面最近一段時間被經常執行寫操作,則該頁面可能為熱寫頁面;若一個頁面最近一段時間內沒有被寫過,則預測該頁面在以后的一段時間內也可能不會被寫訪問,則把該頁面的狀態設置為冷寫頁面.

LIRS(Low Inter-reference Recency Set,LIRS)替換算法是針對最近未使用算法(Least recently used,LRU)的優化,受LIRS算法中IRR(Inter-Reference Recency)參數(記錄一個頁面最近2次的訪問間隔)思想啟發[12].本文將頁面最近寫訪問發生的那個時刻定義為current,將current之后的時間定義為future,將current的上一個寫訪問發生的時刻定義history,通過添加以下2個計數器共同判定寫頁面的冷熱狀態,這樣的好處是既考慮了該頁面的歷史訪問情況,又兼顧了該頁面將來的訪問情況,如圖3所示.

定義1 歷史寫距離count(history).記錄頁面在最后一次和倒數第二次發生寫操作期間,其他被寫過的頁面的數目,該數值可以反映頁面曾經被寫的冷熱程度.如果某個頁面只發生過一次或沒有發生過寫訪問,則count(history)值無窮大.

定義2 將來寫距離count(future):表示一個頁面在最后一次被寫訪問后,即該頁面的current時刻之后,其他被寫過的頁面的數目.

count(history),count(future)不統計在同一頁面上發生重復寫訪問的情況,認為對其他頁面中的同一頁面發送重復寫訪問不會影響當前頁面的寫熱度.如圖3中,頁面1上2次寫操作期間,其他頁面共發生了3次寫操作,其中頁面2上發生了2次,但我們只記錄1次,不重復記錄,因此頁面1的count(history)=2,count(future)=2.

圖3 頁面訪問的3個時刻

用count(history)和count(future)兩個值來評估一個頁面的熱寫度,可以防止一個頁面count(history)很小,但很久沒有被寫過的頁面判斷為熱寫頁的情況發生.目的是盡量將熱寫頁存到DRAM上,所以在該混合內存結構下,DRAM中允許存儲的熱寫頁面數為DRAM能存儲的最大頁面數.

2.2 寫頁面熱度狀態轉換過程

表2描述了一個寫頁面從冷寫頁狀態轉變到熱寫頁狀態的過程.

表2 寫頁面熱度變化過程

假設內存系統允許的最大的熱頁面數目為5.在對頁面F的寫請求到達前,頁面A,B,C,D,E均為熱寫頁,其中頁面E的count(future)值和count(history)值均為最大,說明頁面E是所有熱寫頁中最近最久沒有被寫過的頁面,頁面轉變過程可以描述為:

(1) 頁面F最初的count(future)值為1,count(history)值為8.對頁面F的寫請求到達后,將其count(future)值與count(history)值進行更新,根據定義,其count(history)值被更新為其前一刻的count(future)的值,更新后的count(future)值為1,故更新后的頁面F的count(future)值為0,count(history)值為1.相應的將其他頁面的count(future)也進行更新.

(2) 將頁面F更新后的count(future)值與頁面E的count(future)值比較,頁面F的count(future)值小,因此頁面F的熱寫度比頁面E更高.

(3) 將頁面E的狀態更改為冷寫頁狀態,頁面F的狀態更改為熱寫頁,頁面E遷移到RRAM上或者被換出.

2.3 頁面遷移

在混合內存DRAM-RRAM結構下,DRAM與RRAM之間需要進行頁面遷移操作.當從RRAM向DRAM中遷移時,說明該頁面為熱寫頁,采用立即遷移的方式;當DRAM向RRAM中遷移時,說明該頁面狀態為冷寫頁,若DRAM中仍有剩余空間,先不執行遷移操作,當不得不遷移時再執行,目的是為了減少RRAM上的寫操作次數,因此,此時采用延遲遷移的方式.為保證訪問命中率,頁面替換采用的是傳統的clock算法規則.通過兩個鏈表管理頁面,全局clock、寫clock.

全局鏈表(clock):管理所有的內存頁面,即DRAM頁面與RRAM頁面.當請求未命中時,從此鏈表中選擇需要換出的頁面.

寫clock:記錄最近發生寫操作的頁面信息,同時包含部分被換出內存的頁面信息,count(future)max為熱寫頁面中熱度最低的頁面,因此只追蹤比count(future)max小的頁面信息,就可以檢測到熱寫頁,該鏈表主要用于判斷頁面的熱寫度狀態.

當寫請求命中,但頁面位于RRAM上時,若該頁面狀態正好從冷寫頁轉換為熱寫頁,先將其遷移到DRAM上,然后再執行寫操作.

當寫請求未命中時,從外存調入所需頁面,同時將其存儲到DRAM上,因為寫請求未命中時,會對內存產生兩次寫操作:一次是從外存寫入時;另一次是寫請求的執行.因此,為了減少在RRAM上的寫操作,將其存儲到DRAM上.若DRAM上沒有存儲空間,執行頁面遷移操作,將DRAM上的冷寫頁遷移到RRAM上,為新讀入的頁面讓出空間.

當一個頁面被選中,需換出內存時,將其歷史寫信息保存一段時間.因為該頁面可能在不久將來會再次被請求,這時候,若該頁面曾是熱寫頁,則將其存于DRAM上,否則分配任意空間.

2.4 算法描述

從請求命中和未命中兩種情況展開描述.為每一個頁面設置寫冷熱標志位、訪問位、讀訪問位、寫訪問位等狀態信息,將其初始值均設置為“0”.

算法1:請求命中處理

Input:the requested page isp,operation typeop

Output:the address of thep

p.reference _bit=1;

/將訪問頁狀態置1,頁面替換時需要使用此狀態位.

if (opis read ) then

p.read_reference=1;∥讀訪問位置1

else if (opis write ) then

if (opin write_clock) then

p.write_reference=1;∥寫訪問位置1

if (pin RRAM) then

if( DRAM have free pages) then

migratepto DRAM;

else∥DRAM上沒有空閑

use the migration strategy,then write the pagep;

∥在DRAM上選擇一個冷寫頁q遷移到RRAM,將頁面P遷移到q的位置

else

setpin DRAM;

else∥頁面P不在write_clock中

addpto the write_clock;

setpis write-cold;p.write_reference_bit=0;

算法2:請求未命中處理過程

討論DRAM、RRAM上的空間已滿的情況,請求未命中處理過程.因為若DRAM或RRAM上尚有空間,則請求頁可直接調入內存.

Input:the requested page isp,operation typeop

Output:the address of thep

use clock policy to replace a pageqfrom global_clock;

if (opis read ) then∥請求為讀操作

if (pin write_clock andpis a write-hot page) then

if (qin RRAM ) then

use the migration strategy to find a DRAM write-cold pagef;

if (havef) then

migrateffrom DRAM toq;

loadptof;

else∥q在DRAM上

loadptoq;

else∥請求為寫操作

if (pin write_clock ) then

p.write_reference_bit=1;

else

addpto the write_clock;

setpto write-cold;p.write_reference_bit=0;

if (write_clock is full) then move out a write_clod page;

if (qis in RRAM) then

use the migration strategy to find a write-cold pagef;

migrateffrom DRAM toq;

loadpto DRAM;

addpto global_clock;

setp.reference_bit=1.

3 實驗部分

3.1 實驗環境

為了同時仿真DRAM和RRAM的特性,本文在GEM5和 NVMain的基礎上,構建DRAM-RRAM混合內存模擬器,通過混合內存控制器來負責調度上層下發的請求,并將執行完的數據返回給CPU,環境配置信息如表3所示.

表3 實驗環境配置信息

本文采用的基準測試程序集是PARSEC[13],該測試集由多線程應用程序組成,是普林斯頓共享內存計算機應用庫,是一種并發程序測試集,它包含的不同領域的應用程序可以代表未來的發展方向.從中選取6個不同基準程序,包括blackscholes、bodytrack、canneal、facesim、streamcluster、x264),輸入集選取simMidum規格進行實驗.

3.2 實驗與結果分析

實驗中設計了3種內存結構,分別為4 GB容量的DRAM、4 GB容量的RRAM和2 GB DRAM+2 GB RRAM,首先通過模擬器單獨在DRAM設備和RRAM設備上運行上述測試程序集,獲得單個設備的性能,然后在混合內存結構上運行同一測試集.

圖4展示了3種內存結構下不同基準的平均讀延遲,內存總容量均為4 GB.在DRAM內存結構下,所有應用的平均讀延遲最小,與RRAM內存結構相比,混合內存結構下部分應用的讀延遲低,這是因為DRAM具有較快讀速度的物理性質.

圖4 不同內存結構下平均讀延遲比較

圖5展示了不同內存結構下,基準程序的平均寫延遲情況.整體來看,DRAM內存結構下的平均寫延遲最小,DRAM-RRAM混合內存結構的寫延遲大于DRAM內存結構,但比RRAM單獨作為內存時寫延遲低.其中streamcluster基準程序在DRAM和DRAM-RRAM內存結構下的平均寫延遲接近,而facesim基準程序在DRAM-RRAM內存結構下的平均寫延遲較大,并未顯示出DRAM快速寫的特性.這主要是因為streamcluster屬于讀密集應用,而facesim屬于寫密集應用.也就是說,混合內存結構,對讀密集應用具有更好的支持,對于寫密集型應用可能會反映出RRAM寫延遲大的缺點,因為對于寫密集性應用,當大量寫請求發送到RRAM上時,會帶來大量延遲.

圖5 不同內存結構下平均寫延遲比較

以上實驗中使用頁面管理算法是LRU算法,以下實驗將基于所提的寫熱度頁面遷移策略開展.從平均運行時間的角度,對其有效性進行驗證.

不用頁面管理策略下的平均運行時間見圖6,可以看到在混合內存結構DRAM-RRAM下,本文所提頁面管理策略與傳統的LRU算法相比,平均運行時間明顯降低,在寫密集應用facesim上最為明顯,運行時間縮短了約31.2%.這是因為本文通過對寫頁面的熱度狀態進行定義,盡可能減少RRAM上的寫操作,降低由于RRAM寫操作帶來的延遲,同時使用clock頁面替換算法,保證了命中率,降低了整體運行時間,提高了系統性能.

圖6 不用頁面管理策略下的平均運行時間

4 結論

本文基于Gem5和NVMain構建了DRAM-RRAM混合內存模擬器,考慮混合內存結構下RRAM壽命及寫延遲較大的問題,提出一種基于寫熱度的混合內存頁面遷移策略,根據頁面最近寫訪問情況,引入count(history)和count(future)計數器,對頁面的寫熱度狀態進行判定.實驗結果表明,本文構建的混合內存結構,能在保證系統性能的情況下,增大內存系統容量,所提頁面遷移策略能有效縮短系統運行時間,對于寫操作密集型應用,降低效果更加明顯.本文考慮的是減少RRAM上寫操作數量,如何在此基礎上將RRAM上的寫操作平均分配到個各儲單元,還需進一步研究.

猜你喜歡
頁面結構
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
論《日出》的結構
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
基于BIM的結構出圖
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 5388国产亚洲欧美在线观看| 白浆视频在线观看| 国产一区二区三区在线观看免费| 日韩无码黄色| 91口爆吞精国产对白第三集| 日韩二区三区无| 亚洲AV成人一区二区三区AV| 在线播放真实国产乱子伦| 丁香六月激情婷婷| 国产一在线| 国产69精品久久| 69综合网| 亚洲美女一级毛片| 亚洲永久色| 高清国产va日韩亚洲免费午夜电影| 中文字幕色站| 91久久偷偷做嫩草影院免费看| 国产另类视频| 九一九色国产| 日韩欧美在线观看| 无码专区第一页| 欧美午夜小视频| 怡红院美国分院一区二区| 毛片免费网址| 大乳丰满人妻中文字幕日本| 99久久无色码中文字幕| 91蝌蚪视频在线观看| 伊人久综合| 五月天福利视频| 91视频首页| 亚洲va在线∨a天堂va欧美va| 国产91精选在线观看| 国产欧美精品一区aⅴ影院| 欧美激情成人网| 亚洲高清在线天堂精品| 亚洲欧美自拍一区| 国产经典在线观看一区| 国产精品综合色区在线观看| 日本不卡视频在线| 久久精品国产一区二区小说| 亚洲综合第一区| 亚洲黄网在线| 99热国产这里只有精品无卡顿"| 狠狠色噜噜狠狠狠狠色综合久| 中国精品久久| 亚洲国产中文精品va在线播放| 99视频精品在线观看| 国产亚洲欧美在线中文bt天堂| 久久国产免费观看| 国产精品久久自在自线观看| 91偷拍一区| 中国国语毛片免费观看视频| 天天综合网亚洲网站| 无码一区18禁| 永久免费av网站可以直接看的 | 国产成人综合日韩精品无码首页| 精品国产免费观看一区| 亚洲第一香蕉视频| 米奇精品一区二区三区| 一级福利视频| 亚洲第一区精品日韩在线播放| 99视频只有精品| 国产精品流白浆在线观看| 国产香蕉97碰碰视频VA碰碰看| 91精品国产综合久久香蕉922| 视频二区亚洲精品| 色婷婷综合激情视频免费看| 国产视频a| 十八禁美女裸体网站| 亚洲国产日韩在线成人蜜芽| 久久性视频| 美女视频黄频a免费高清不卡| 青草午夜精品视频在线观看| 亚洲精品大秀视频| 青青草国产在线视频| 九色91在线视频| 国产xxxxx免费视频| 浮力影院国产第一页| 91青青草视频在线观看的| 日本手机在线视频| 国产成人无码久久久久毛片| 国产剧情国内精品原创|