• 
    

    
    

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

      一種避免頁遷移的混合內(nèi)存頁管理策略

      2019-06-06 05:46:38劉翠梅賈剛勇韓光潔
      關(guān)鍵詞:存儲器進(jìn)程內(nèi)存

      劉翠梅,楊 璇,賈剛勇,韓光潔

      1(常州機(jī)電職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,江蘇 常州 213164)2(河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 常州 213022)3(杭州電子科技大學(xué) 計算機(jī)學(xué)院,杭州 310018)

      1 引 言

      近年來,移動終端和云計算的快速發(fā)展都對內(nèi)存容量的需求日益提高.以動態(tài)隨機(jī)存儲器為主的內(nèi)存系統(tǒng)具有易失性和高能耗兩大缺點,于是對散熱系統(tǒng)提出了更高的要求.目前,內(nèi)存系統(tǒng)的能耗問題已經(jīng)成為限制移動終端和云計算發(fā)展的一大瓶頸[1].

      然而,相變存儲器(Phase Change Memory,PCM)憑借其非易失性、能耗低、存儲密度大、字節(jié)可尋址等諸多優(yōu)勢,為內(nèi)存系統(tǒng)設(shè)計帶來了新的前景和契機(jī).

      1)字節(jié)尋址,可以保證相變存儲器可以按照隨機(jī)存儲器的字節(jié)訪問方式與處理器進(jìn)行交互,不用改變內(nèi)存系統(tǒng)的尋址方式;

      2)非易失性,可以提供持久的數(shù)據(jù)存儲功能;

      3)存儲密度大,可以提供遠(yuǎn)超于動態(tài)隨機(jī)存儲器的存儲密度和更低的能耗,非常適合移動終端的體積小和云計算的大容量需求特征.

      但是,相變存儲器也存在一些缺陷,主要體現(xiàn)在不能就地更新、讀寫不對稱和有限的壽命.相變存儲器寫前需要擦除,不能直接進(jìn)行寫操作,而且寫操作的時間遠(yuǎn)比讀操作的時間長.相變存儲器的讀延遲約為50n,擁有與動態(tài)隨機(jī)存儲器相媲美的讀取帶寬.但寫延遲比讀延遲大得多,一般達(dá)到200~300ns.相變存儲器元件經(jīng)過多次的寫操作后,一般在108~109次[2],其相變元件會失效.基于單一的相變存儲器構(gòu)建內(nèi)存系統(tǒng)目前還需解決寫開銷和壽命等問題,還尚未成熟.

      基于相變存儲器的特征,目前有兩種主流的混合內(nèi)存架構(gòu),動態(tài)隨機(jī)存儲器和相變存儲器處在同一層次,共同組成統(tǒng)一的內(nèi)存系統(tǒng).混合內(nèi)存架構(gòu)即利用了動態(tài)隨機(jī)存儲器的優(yōu)勢也開發(fā)了相變存儲器的優(yōu)點,從而滿足需求.

      第一種混合內(nèi)存架構(gòu)是用動態(tài)隨機(jī)存儲器作為相變存儲器的緩存[8],這種架構(gòu)存在一些問題:

      1)內(nèi)存的大小由相變存儲器的容量決定,跟動態(tài)隨機(jī)存儲器的大小無關(guān).也就是說動態(tài)隨機(jī)存儲器只能作為緩存.從而浪費(fèi)了一些寶貴的存儲資源;

      2)實現(xiàn)起來比較復(fù)雜.涉及數(shù)據(jù)一致性問題,內(nèi)存系統(tǒng)需要保證動態(tài)隨機(jī)存儲器上的數(shù)據(jù)和相變存儲器上數(shù)據(jù)的一致性.這就增加了內(nèi)存系統(tǒng)的實現(xiàn)復(fù)雜度.

      3)增加了系統(tǒng)開銷.內(nèi)存訪問過程需要先訪問動態(tài)隨機(jī)存儲器,如果動態(tài)隨機(jī)存儲器中能找到相應(yīng)數(shù)據(jù),那么內(nèi)存訪問就結(jié)束了.但是,如果動態(tài)隨機(jī)存儲器中沒有找到相應(yīng)的數(shù)據(jù),需要再一次訪問相變存儲器,從而導(dǎo)致了內(nèi)存平均訪問時間增加.

      第二種混合內(nèi)存架構(gòu)是將相變存儲器和動態(tài)隨機(jī)存儲器作為同級存儲介質(zhì).這種架構(gòu)能夠避免第一種架構(gòu)存在的問題,是目前的研究熱點,本文的研究就是基于這種架構(gòu).針對這種內(nèi)存架構(gòu),主要解決的問題就是數(shù)據(jù)存放.因為相變存儲器和動態(tài)隨機(jī)存儲器處于相同級別,需要挖掘兩種存儲介質(zhì)的優(yōu)點,即將讀頻繁的數(shù)據(jù)放在相變存儲器中,將寫頻繁的數(shù)據(jù)放在動態(tài)隨機(jī)存儲器中.目前主要通過動態(tài)遷移策略來完成這一目標(biāo).但是動態(tài)遷移存在幾個缺點:

      1)開銷大.將頁從一種存儲介質(zhì)遷移到另一種存儲介質(zhì)中,其實就是內(nèi)存中兩種存儲介質(zhì)間的數(shù)據(jù)拷貝,需要花費(fèi)大量的處理器時間;

      2)影響系統(tǒng)的響應(yīng)時間.如果被訪問的數(shù)據(jù)剛好處于遷移過程,那么訪問需要等待,延遲了訪問過程.

      本文提出了一種避免頁遷移的混合內(nèi)存頁管理策略(PMP)提高混合內(nèi)存系統(tǒng)訪問效率.本文提出的避免頁遷移的混合內(nèi)存頁管理策略在給數(shù)據(jù)分配物理頁框前,先通過模擬的方法分析每個虛擬頁的使用行為,將虛擬頁劃分成兩種類型,一種是讀頻繁頁,一種是寫頻繁頁.在給虛擬頁分配物理頁框時,根據(jù)虛擬頁的類型映射到相應(yīng)的存儲介質(zhì)中.讀頻繁頁映射到相變存儲器,寫頻繁頁映射到動態(tài)隨機(jī)存儲器.系統(tǒng)運(yùn)行過程中不再進(jìn)行頁遷移操作,避免因頁遷移而導(dǎo)致的系統(tǒng)開銷.實驗數(shù)據(jù)顯示,本文提出的避免頁遷移的混合內(nèi)存頁管理策略能夠有效的提高混合內(nèi)存系統(tǒng)的效率.

      本文在第二部分著重介紹相關(guān)的工作和存在的問題,第三部分詳細(xì)闡述了本文的動機(jī);第四部分給出了算法的流程,第五部分介紹了實驗驗證方法及實驗結(jié)果;最后,總結(jié)全文.

      2 相關(guān)工作

      目前基于相變存儲器和動態(tài)隨機(jī)存儲器的混合內(nèi)存管理主要有兩種方法:一種是基于數(shù)據(jù)冷熱度進(jìn)行內(nèi)存分配,一種是基于頁的讀寫傾向進(jìn)行內(nèi)存分配.

      一種比較典型的基于數(shù)據(jù)冷熱度分配物理頁框的算法是由Lee等人提出的混合內(nèi)存置換算法CLOCK-DWF(CLOCK with dirty bits and write frequency)[9].該算法根據(jù)請求類型分配物理內(nèi)存空間.為讀請求頁面分配相變存儲器,為寫請求頁面分配到動態(tài)隨機(jī)存儲器.當(dāng)在相變存儲器上進(jìn)行寫操作時,把相應(yīng)的頁面遷移至動態(tài)隨機(jī)存儲器.若此時動態(tài)隨機(jī)存儲器已滿,替換動態(tài)隨機(jī)存儲器中的最近最久未使用的頁面,并將相變存儲器中頁遷移到該頁.這種算法將所有涉及寫操作的頁全部放在動態(tài)隨機(jī)存儲器中,當(dāng)動態(tài)隨機(jī)存儲器空間不足時,會導(dǎo)致頻繁的替換,甚至抖動,降低性能.同時算法會增加大量從相變存儲器到動態(tài)隨機(jī)存儲器的遷移操作,也就是增加了大量的性能開銷,降低了系統(tǒng)性能.

      一種比較典型的基于讀寫傾向分配物理頁框的算法是由Seok等人提出的LRU-WPAM算法[10,11].LRU-WPAM算法對每個頁面進(jìn)行實時監(jiān)控,記錄每個頁面的讀寫操作.根據(jù)頁面的歷史讀寫信息,基于一個權(quán)值的計算公式,通過這個權(quán)值確定頁面的讀寫傾向.并且為動態(tài)隨機(jī)存儲器和相變存儲器分別維護(hù)一個讀傾向鏈表和寫傾向鏈表.如果在動態(tài)隨機(jī)存儲器的讀傾向鏈表中一個頁面讀傾向性超過一定閾值時,則將該頁從動態(tài)隨機(jī)存儲器遷移到相變存儲器中.如果在相變存儲器的寫傾向鏈表中一個頁面寫傾向性超過一定閾值時,則將該頁從相變存儲器遷移到動態(tài)隨機(jī)存儲器中.這種算法會導(dǎo)致一些頁面在兩種存儲介質(zhì)間來回反復(fù)遷移,增加大量的性能開銷,降低系統(tǒng)性能.

      不同于上面兩種算法,MHR-LRU算法[12]維護(hù)了一個動態(tài)隨機(jī)存儲器的寫鏈表DWL,只有在寫命中時,鏈表才會發(fā)生改變,寫命中的頁面移動到鏈表的MRU端,這樣使得MRU端的頁面寫操作更頻繁,而LRU端頁面寫操作更少.當(dāng)頁面在LRU鏈表的非LRU端或在DWL鏈表的LRU端,有寫請求到達(dá),為了在動態(tài)隨機(jī)存儲器中為寫請求騰出空間,會把在DWL鏈表LRU端的頁面遷移至相變存儲器中.如果數(shù)據(jù)不在DWL鏈表中或同時在兩個鏈表的LRU端則不進(jìn)行遷移而是直接進(jìn)行置換.因為并不監(jiān)控相變存儲器的寫操作,所以相變存儲器中寫頻繁的頁面會一直在相變存儲器中進(jìn)行寫操作.降低了相變存儲器的壽命.

      APP-LRU算法[13]額外維護(hù)了一個歷史元數(shù)據(jù)信息,記錄訪問過磁盤的物理頁的讀寫歷史,基于歷史元數(shù)據(jù)信息來預(yù)測頁面的讀寫趨勢,在分配物理頁框時將寫傾向頁面分配到動態(tài)隨機(jī)存儲器中.但是,這種算法存在幾個問題:

      1)進(jìn)程的運(yùn)行是動態(tài)的,即使同一個進(jìn)程的兩次運(yùn)行其使用的物理內(nèi)存也是不同的,所以記錄物理內(nèi)存頁框來預(yù)測頁的讀寫傾向性是不準(zhǔn)確的[15];

      2)該算法也采用了遷移,同樣增加了系統(tǒng)開銷,降低了系統(tǒng)性能[16].

      以上的這些方法在進(jìn)行混合內(nèi)存頁管理時,數(shù)據(jù)采集都是通過監(jiān)控物理頁面的讀寫,或是基于單次的讀寫請求直接分配頁面的存儲介質(zhì),之后再通過遷移來實現(xiàn)物理分配[17].然而這些依賴遷移的混合內(nèi)存管理方式存在大量的來回遷移操作,這些遷移增加了大量的系統(tǒng)開銷,降低系統(tǒng)的性能.

      3 動 機(jī)

      3.1 評價模型

      為了評價各算法的效果,本文提出了一個評價模型.首先,判斷頁面最適合位置的算法,因為相變存儲器元件的理論寫入次數(shù)一般是108次,運(yùn)行時間按照連續(xù)運(yùn)行時間計算,相變存儲器的最大運(yùn)行時間和相變存儲器的寫入頻率成反比.相變存儲器的寫入頻率可以按照相變存儲器單位內(nèi)存(頁)在單個進(jìn)程的運(yùn)行周期內(nèi)被寫入次數(shù)來表示.而且可以獲得滿足預(yù)期運(yùn)行時間的頁面被寫入次數(shù)的閾值.一個頁面被寫次數(shù)不超過該閾值時,該頁面可以被分配到相變存儲器中.本文使用Th表示讀寫比例的一個閾值,如果一個頁面讀寫比例大于Th時,將該頁面分配到相變存儲器.

      算法1.頁面分配算法

      輸入:

      Th:讀寫閾值

      Tpcm:相變存儲器預(yù)期運(yùn)行時間

      C:相變存儲器寫上限

      T:進(jìn)程運(yùn)行時間

      W:寫閾值

      Wn:第n個頁的寫次數(shù)

      Rn:第n個頁的讀次數(shù)

      N:進(jìn)程占用內(nèi)存總頁數(shù)

      輸出:

      適合的存儲介質(zhì)

      算法:

      Begin:

      1:Tpcm= C*T/W;

      2:W=Tpcm/(C*T);

      3:if Wn>W

      4: 分配DRAM;

      5:else

      6: if Rn/Wn >Th

      7: 分配PCM;

      8: else

      9: 分配DRAM;

      End

      算法1給出了一種頁面分配算法用于判斷一個頁面最適合的存儲介質(zhì).根據(jù)這個算法,同時結(jié)合其他頁面分配算法的結(jié)果(不包括遷移),可以對不同算法頁面錯誤的分配做出評價.進(jìn)程運(yùn)行過程中頁面遷移的總次數(shù),以及被分配至相變存儲器中頁面的寫次數(shù)也分別作為評價指標(biāo)之一.如果僅使用動態(tài)隨機(jī)存儲器而不使用相變存儲器時,相變存儲器中的寫次數(shù)和兩種存儲介質(zhì)間的遷移操作都是最優(yōu)的,但這種情景無法發(fā)揮混合內(nèi)存的優(yōu)勢,也無法發(fā)揮相變存儲器大容量和非易失性優(yōu)點,無法解決目前動態(tài)隨機(jī)存儲器的瓶頸問題,所以動態(tài)隨機(jī)存儲器和相變存儲器的利用率也會作為評價指標(biāo)之一.

      3.2 現(xiàn)有算法的量化分析

      現(xiàn)有對于混合內(nèi)存架構(gòu)的內(nèi)存分配算法主要有以下幾個缺點:

      1)增加大量的遷移,從而增加系統(tǒng)性能開銷;

      2)增加不必要的寫操作,從而導(dǎo)致相變存儲器壽命縮短;

      3)對動態(tài)隨機(jī)存儲器的大量需求,無法解決能耗問題.

      3.2.1 遷移問題的分析

      圖1給出了四種不同算法在讀取一個文件時的所產(chǎn)出的總遷移次數(shù).這四種算法都涉及不同程度的遷移操作.LRU-WPAM算法需要4000多次的遷移操作,最少的APP-LRU算法,也需要100多次的遷移操作.這么多的遷移操作給系統(tǒng)帶來了巨大的性能開銷,嚴(yán)重的降低了系統(tǒng)的性能.

      圖1 各算法遷移次數(shù)Fig.1 Migration times of algorithms

      為了詳細(xì)分析各頁面在系統(tǒng)運(yùn)行過程中的遷移情況,圖2給出了LRU-WPAM算法不同類型頁面的遷移情況.頁面遷移具有較強(qiáng)的聚集特征,大量遷移聚集在少量頁面,其中單個頁面的最大遷移次數(shù)3254,這部分頁面的讀操作和寫操作均十分頻繁,所以其頁面的權(quán)值波動很大,導(dǎo)致頁面頻繁的在兩種介質(zhì)間遷移,造成該問題的原因是權(quán)值的計算具有局部性,受到局部訪存行為的影響,無法描述頁面在全局的訪存行為.

      3.2.2 相變存儲器寫操作分析

      圖3給出了4種不同算法在相變存儲器中進(jìn)行寫操作的次數(shù).雖然APP-LRU和MHR-LRU在遷移次數(shù)上相對較少,但是這兩種算法存在大量的相變存儲器寫操作.APP-LRU算法的主要問題在于,頁面遷移發(fā)生在頁面分配的過程中,歷史訪存元數(shù)據(jù)信息只有在頁面再次進(jìn)入內(nèi)存時為其分配合適的位置.合適位置和LRU-WPAM算法一樣,具有局部性.而且對于一個頻繁訪問的頁面,因為該頁面在LRU鏈表中始終處于MRU端,那么這個頁面被遷移的概率很小,即使這個頁面在相變存儲器中且進(jìn)行了很多的寫操作,該算法也無法將頁面遷移至動態(tài)隨機(jī)存儲器,這就導(dǎo)致了相變存儲器執(zhí)行了大量的寫操作.而MHR-LRU算法既有大量的遷移操作又有大量的相變存儲器寫操作.MHR-LRU算法產(chǎn)生大量寫操作的原因在于它注重于把動態(tài)隨機(jī)存儲器中寫較冷的頁面遷移至相變存儲器,但對于相變存儲器中頻繁進(jìn)行寫操作的頁面并沒有進(jìn)行相應(yīng)的處理,這導(dǎo)致了該算法雖然遷移次數(shù)較少,但其并沒有有效的減少相變存儲器中的寫操作次數(shù).在相變存儲器中進(jìn)行大量的寫操作,對于相變存儲器元件壽命損耗巨大,降低系統(tǒng)的執(zhí)行效率,帶來包括時間成本和設(shè)備成本的大量開銷.

      圖2 LRU-WPAM算法遷移頁面百分比及對應(yīng)的遷移次數(shù)Fig.2 Migration page ratio/migration times of LRU-WPAM algorithm

      圖3 不同算法在相變存儲器中執(zhí)行寫操作的次數(shù)Fig.3 PCM write times of different algorithms

      3.2.3 動態(tài)隨機(jī)存儲器需求分析

      圖4給出了四種算法在動態(tài)隨機(jī)存儲器上讀操作次數(shù).本文使用動態(tài)隨機(jī)存儲器上讀操作次數(shù)來反映各種算法對動態(tài)隨機(jī)存儲器的需求大小.從圖1到圖3可以看出Clock-DWF算法遷移次數(shù)和相變存儲器中寫操作次數(shù)相對比較合理,但是圖4可以發(fā)現(xiàn)Clock-DWF算法對于動態(tài)隨機(jī)存儲器的需求最大,遠(yuǎn)遠(yuǎn)大于其他算法.對于動態(tài)隨機(jī)存儲器需求越大,功耗也就越大.

      通過對現(xiàn)有算法的量化分析,特別針對遷移次數(shù)、相變存儲器上寫次數(shù)和動態(tài)隨機(jī)存儲器上讀次數(shù),我們可以發(fā)現(xiàn),現(xiàn)有的算法存在一個主要的問題,無法獲取頁面的讀寫行為,從而導(dǎo)致內(nèi)存頁分配存在一定的錯誤.進(jìn)而只能通過遷移來彌補(bǔ).本文正是針對這個問題提出了一種新的解決方法.

      圖4 四種算法在動態(tài)隨機(jī)存儲器上讀操作次數(shù)Fig.4 DRAM read times of four different algorithms

      3.2.4 現(xiàn)有算法總結(jié)

      現(xiàn)有算法存在的大量遷移操作主要原因在于:在進(jìn)行數(shù)據(jù)劃分時統(tǒng)計物理頁框的訪問行為特征.然而物理頁框的訪問行為特征無法預(yù)先獲取,這是因為物理頁框是由操作系統(tǒng)的內(nèi)存管理系統(tǒng)分配的.而且物理頁框的分配是實時動態(tài)的,無法重現(xiàn)的一種行為.

      但是,虛擬頁的訪存行為特征相對就比較固定,可以更加準(zhǔn)確的反映數(shù)據(jù)的讀寫傾向性,從而可以更加有效的用于數(shù)據(jù)劃分.而且虛擬頁的訪存行為可以通過模擬獲取.基于這個特征,本文提出了避免遷移的混合內(nèi)存管理策略.

      4 避免遷移的混合內(nèi)存管理策略(PMP)

      因為模擬器可以獲取進(jìn)程每個虛擬頁的讀寫行為特征,基于這個讀寫行為特征可以指導(dǎo)操作系統(tǒng)混合物理內(nèi)存頁管理,將讀頻繁頁分配到相變存儲器中,將寫頻繁頁分配到動態(tài)隨機(jī)存儲器中.并且獲得的虛擬頁讀寫行為特征比物理頁讀寫行為特征更能準(zhǔn)確的反映頁行為特征.物理頁框是動態(tài)的,而虛擬頁是靜態(tài)的.所以本文提出的避免遷移的混合內(nèi)存管理策略(PMP)是基于模擬器獲得的頁讀寫行為特征進(jìn)行指導(dǎo)操作系統(tǒng)混合內(nèi)存物理頁框分配,一旦給虛擬頁分配了物理頁框,在系統(tǒng)運(yùn)行的過程中不進(jìn)行遷移的操作.從而避免了遷移帶來的系統(tǒng)開銷.

      圖5給出了避免遷移的混合內(nèi)存管理策略(PMP)的整體架構(gòu)圖.圖中主要包括4部分的內(nèi)容.第1部分通過模擬器統(tǒng)計進(jìn)程每個頁面的讀寫操作;第2部分在系統(tǒng)中構(gòu)建一個進(jìn)程級的頁面行為統(tǒng)計表,統(tǒng)計各進(jìn)程所有頁面的讀寫;第3部結(jié)合系統(tǒng)混合內(nèi)存配置以及系統(tǒng)進(jìn)程行為,判斷各頁面是讀頻繁型還是寫頻繁型;第4部分根據(jù)頁面的讀/寫頻繁型,分配相應(yīng)存儲介質(zhì).將讀頻繁型頁面分配到相變存儲器中,將寫頻繁型頁面分配到動態(tài)隨機(jī)存儲器中.

      1)基于模擬器統(tǒng)計進(jìn)程頁面的讀寫操作.避免遷移的混合內(nèi)存管理策略(PMP)預(yù)先使用模擬器運(yùn)行進(jìn)程,模擬器中可以獲取進(jìn)程各頁面的讀寫次數(shù).因為涉及內(nèi)存管理,PMP在統(tǒng)計進(jìn)程頁面的讀寫次數(shù)時,采用的是進(jìn)程的虛擬頁.如果基于物理頁框記錄讀寫次數(shù)準(zhǔn)確度會受到影響.同一個虛擬頁面由于頁替換策略,導(dǎo)致映射到不同的物理頁框.所以采用虛擬頁面作為統(tǒng)計基礎(chǔ)能夠得到準(zhǔn)確的結(jié)果.

      圖5 避免遷移的混合內(nèi)存管理策略(PMP)的整體架構(gòu)圖Fig.5 Framework of PMP

      2)構(gòu)建進(jìn)程級的頁面行為統(tǒng)計表.在系統(tǒng)中需要給每個進(jìn)程分配一個獨(dú)立的數(shù)據(jù)結(jié)構(gòu),即進(jìn)程的頁面行為統(tǒng)計表,如表1.在這個統(tǒng)計表中,進(jìn)程每個頁面占用一個記錄,進(jìn)程的頁面數(shù)決定了進(jìn)程所對應(yīng)頁面行為統(tǒng)計表的大小.在頁面行為統(tǒng)計表中主要記錄了每個頁面的讀操作次數(shù)以及寫操作次數(shù).

      表1 進(jìn)程的頁面行為統(tǒng)計表Table 1 Page behavior of process

      3)確定進(jìn)程各頁面的讀/寫頻繁型.雖然通過各進(jìn)程的頁面行為統(tǒng)計表可以獲得了進(jìn)程各頁面的讀/寫次數(shù),但是還是無法判斷各頁面的讀/寫頻繁型.頁面的讀/寫頻繁型還與混合物理內(nèi)存的配置有關(guān),即混合物理內(nèi)存中相變存儲器占用多少物理內(nèi)存空間,動態(tài)隨機(jī)存儲器占用多少物理內(nèi)存空間.算法2給出了確定進(jìn)程各頁面的讀/寫頻繁型的過程.

      4)分配物理內(nèi)存.根據(jù)頁面的讀/寫頻繁型,分配物理內(nèi)存.如果是讀頻繁型,分配相變存儲器,如果是寫頻繁型,分配動態(tài)隨機(jī)存儲器.

      算法2.確定頁面讀/寫頻繁型的算法

      輸入:

      Ri:頁面的讀次數(shù)

      Wi:頁面的寫次數(shù)

      PCM:相變存儲器的容量

      DRAM:動態(tài)隨機(jī)存儲器的容量

      輸出:

      讀頻繁型/寫頻繁型

      算法:

      Begin:

      1:T = Ri/Wi;

      2:T1 = PCM/DRAM;

      3:if T>T1

      4: 讀頻繁型;

      5:else

      6: 寫頻繁型;

      End

      5 實驗結(jié)果

      本文使用Multi2Sim模擬器對測試程序進(jìn)行了仿真運(yùn)行,來獲取不同進(jìn)程頁面的讀寫行為.使用真實的訪存痕跡對不同的算法進(jìn)行模擬.并按本文提出的避免遷移的混合內(nèi)存頁管理策略對頁面進(jìn)行劃分.

      5.1 實驗配置和方法

      為了實現(xiàn)進(jìn)程頁行為特征分析,在默認(rèn)的Multi2Sim模擬器上進(jìn)行修改,增加進(jìn)程頁面的行為統(tǒng)計表.本文采用的進(jìn)程頁面大小為操作系統(tǒng)默認(rèn)的4KB.基于大量的程序訪存行為的特征分析,用于評價多種不同的算法,并在其中挑出了三類有代表性的訪存應(yīng)用作為測試程序,如表2所示.

      表2 測試程序集Table 2 Benchmarks

      因為實驗所測試程序是單個進(jìn)程運(yùn)行時產(chǎn)生的訪存行為,單個進(jìn)程實際使用的頁面數(shù)量有限,所以我們設(shè)置了總的混合內(nèi)存大小為400個物理頁框的大小,既1.6MB.其中相變存儲器占3/4,即300個頁框,而動態(tài)隨機(jī)存儲器占1/4,即100個頁框.FFT的測試程序用于驗證所需頁框小于系統(tǒng)配置的混合內(nèi)存大小,但是大于系統(tǒng)配置的動態(tài)隨機(jī)存儲器大小.OCEAN測試程序用于驗證所需頁框大小略大于系統(tǒng)配置的混合內(nèi)存大小.而OpenFile測試程序用于驗證所需頁框大小大于系統(tǒng)配置的混合內(nèi)存大小.

      5.2 實驗結(jié)果

      圖6給出了FFT測試程序在不同算法下對比結(jié)果.圖6(a)給出了不同算法遷移次數(shù)的對比,圖6(b)給出了不同算法對相變存儲器的寫操作次數(shù)對比,圖6(c)給出了不同算法對動態(tài)隨機(jī)存取讀操作次數(shù)對比.算法在動態(tài)隨機(jī)存儲器讀操作次數(shù)主要用于反映算法對動態(tài)隨機(jī)存儲器的容量敏感度.

      圖6 FFT測試程序在不同算法下的對比結(jié)果Fig.6 Comparisons of FFT test programs under different algorithms

      圖7 OCEAN測試程序不同算法下的對比結(jié)果Fig.7 Comparisons of OCEAN test programs under different algorithms

      從圖6中可以發(fā)現(xiàn),LRU-WPAM算法所需遷移次數(shù)遠(yuǎn)遠(yuǎn)大于其他算法,而且該算法對相變存取的寫操作和對動態(tài)隨機(jī)存儲器的需求都比較大.MHR-LRU和APP-LRU兩個算法雖然跟本文提出的PMP算法一樣沒有遷移,但是這兩個算法產(chǎn)生大量的相變存儲器寫操作.CLOCK-DWF算法在運(yùn)行FFT測試程序時跟本文提出的算法在性能比較接近,但是CLOCK-DWF需要少量的遷移,而PMP不需要任何遷移,所以PMP還是優(yōu)于CLOCK-DWF.

      圖7給出了OCEAN測試程序在不同算法下對比結(jié)果.當(dāng)進(jìn)程所需頁框大小略大于系統(tǒng)配置的混合內(nèi)存大小時,PMP同樣呈現(xiàn)出很好的結(jié)果.

      圖8給出了OPENFILE測試程序在不同算法下對比結(jié)果.針對進(jìn)程所需頁框大小大于系統(tǒng)配置的混合內(nèi)存大小時,PMP也能獲得很好的結(jié)果.

      6 結(jié)束語

      本文提出了一種避免頁遷移的混合內(nèi)存頁管理策略(PMP)提高混合內(nèi)存系統(tǒng)訪問效率.PMP主要包括四部分的內(nèi)容.第一部分通過模擬器統(tǒng)計進(jìn)程每個頁面的讀寫操作;第二部分在系統(tǒng)中構(gòu)建一個進(jìn)程級的頁面行為統(tǒng)計表,統(tǒng)計各進(jìn)程所有頁面的讀寫;第三部結(jié)合系統(tǒng)混合內(nèi)存配置以及系統(tǒng)進(jìn)程行為,判斷各頁面是讀頻繁型還是寫頻繁型;第四部分根據(jù)頁面的讀/寫頻繁型,分配相應(yīng)介質(zhì)的物理內(nèi)存頁.將讀頻繁型頁面分配到相變存儲器中,將寫頻繁型頁面分配到動態(tài)隨機(jī)存儲器中.實驗結(jié)果表明本文提出的PMP算法能夠高效的管理混合內(nèi)存.

      猜你喜歡
      存儲器進(jìn)程內(nèi)存
      靜態(tài)隨機(jī)存儲器在軌自檢算法
      債券市場對外開放的進(jìn)程與展望
      中國外匯(2019年20期)2019-11-25 09:54:58
      “春夏秋冬”的內(nèi)存
      存儲器——安格爾(墨西哥)▲
      社會進(jìn)程中的新聞學(xué)探尋
      基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
      基于內(nèi)存的地理信息訪問技術(shù)
      我國高等教育改革進(jìn)程與反思
      Linux僵死進(jìn)程的產(chǎn)生與避免
      上網(wǎng)本為什么只有1GB?
      伊春市| 遂平县| 吉隆县| 资中县| 砚山县| 长岛县| 丰都县| 精河县| 甘泉县| 东乡族自治县| 右玉县| 大厂| 尖扎县| 镇原县| 和平区| 滦平县| 高碑店市| 苗栗县| 杭锦后旗| 赤峰市| 馆陶县| 黄大仙区| 喜德县| 潮安县| 健康| 新津县| 多伦县| 香格里拉县| 茂名市| 黄石市| 栖霞市| 扎赉特旗| 砚山县| 安义县| 房产| 治县。| 全南县| 谢通门县| 灵石县| 郧西县| 多伦县|