• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

      0 引言

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

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

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

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

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

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

      1 混合內存模型

      1.1 阻變存儲器

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

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

      表1 常用存儲技術比較

      1.2 混合內存結構

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

      圖1 混合內存體系結構

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

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

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

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

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

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

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

      圖2 請求下發(fā)流程

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

      2.1 寫頁面熱度定義

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

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

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

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

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

      圖3 頁面訪問的3個時刻

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

      2.2 寫頁面熱度狀態(tài)轉換過程

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

      表2 寫頁面熱度變化過程

      假設內存系統(tǒng)允許的最大的熱頁面數(shù)目為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的狀態(tài)更改為冷寫頁狀態(tài),頁面F的狀態(tài)更改為熱寫頁,頁面E遷移到RRAM上或者被換出.

      2.3 頁面遷移

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

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

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

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

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

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

      2.4 算法描述

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

      算法1:請求命中處理

      Input:the requested page isp,operation typeop

      Output:the address of thep

      p.reference _bit=1;

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

      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 實驗環(huán)境

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

      表3 實驗環(huán)境配置信息

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

      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寫延遲大的缺點,因為對于寫密集性應用,當大量寫請求發(fā)送到RRAM上時,會帶來大量延遲.

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

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

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

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

      4 結論

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

      猜你喜歡
      存儲器內存頁面
      大狗熊在睡覺
      刷新生活的頁面
      靜態(tài)隨機存儲器在軌自檢算法
      “春夏秋冬”的內存
      當代陜西(2019年13期)2019-08-20 03:54:22
      存儲器——安格爾(墨西哥)▲
      基于Nand Flash的高速存儲器結構設計
      基于內存的地理信息訪問技術
      同一Word文檔 縱橫頁面并存
      淺析ASP.NET頁面導航技術
      上網本為什么只有1GB?
      东乌| 阳朔县| 塔城市| 潮州市| 永清县| 定南县| 孟州市| 大厂| 永新县| 财经| 长乐市| 荣昌县| 库伦旗| 息烽县| 东至县| 兖州市| 石河子市| 沾化县| 繁昌县| 汾阳市| 彭山县| 旺苍县| 株洲县| 霍州市| 改则县| 色达县| 奉化市| 资阳市| 通州区| 长海县| 潜山县| 泾阳县| 交城县| 盐津县| 呼伦贝尔市| 云和县| 彭阳县| 富蕴县| 承德县| 龙州县| 柞水县|