• 
    

    
    

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

      面向大數(shù)據(jù)應(yīng)用的混合內(nèi)存架構(gòu)特征分析

      2018-06-01 18:11:44李鑫陳璇黃志球
      大數(shù)據(jù) 2018年3期
      關(guān)鍵詞:鏈表內(nèi)存頁面

      李鑫,陳璇,黃志球

      1. 南京航空航天大學(xué)計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106;

      2. 南京航空航天大學(xué)自動化學(xué)院,江蘇 南京 211106

      1 引言

      隨著大數(shù)據(jù)的出現(xiàn)及大數(shù)據(jù)分析技術(shù)的發(fā)展,大數(shù)據(jù)應(yīng)用受到越來越廣泛的關(guān)注。大數(shù)據(jù)具有數(shù)據(jù)量巨大、數(shù)據(jù)種類繁多、數(shù)據(jù)價值密度低以及處理數(shù)據(jù)時效性要求高等特點[1]。大數(shù)據(jù)應(yīng)用需要執(zhí)行大量計算工作,同時對大數(shù)據(jù)的處理與存儲也有著低時延、低開銷、高效率等需求?,F(xiàn)在無論是數(shù)據(jù)中心里的超級計算機還是個人計算機都利用以動態(tài)隨機存取存儲器(dynamic random access memory,DRAM)為核心構(gòu)成的內(nèi)存架構(gòu)來管理和存儲大數(shù)據(jù),DRAM的可擴(kuò)展性受限會增加大數(shù)據(jù)分析的操作時間,從而降低吞吐量,無法高效地對大數(shù)據(jù)進(jìn)行存儲和分析。雖然工業(yè)界和學(xué)術(shù)界一直都在軟件方面研究并嘗試解決這一系列的問題,并在一定程度上緩解了現(xiàn)有存儲架構(gòu)的缺陷,但卻很難獲得本質(zhì)上的突破。

      新型非易失性存儲器(non-volatile memory, NVM)的出現(xiàn),給傳統(tǒng)的以DRAM為主體構(gòu)成的內(nèi)存系統(tǒng)帶來了挑戰(zhàn),也為優(yōu)化大數(shù)據(jù)應(yīng)用提供了契機。其中,相變寄存器(phase change memory,PCM)被認(rèn)為是目前有可能取代DRAM作為內(nèi)存構(gòu)成的選擇之一。與DRAM相比,PCM具有非易失性、高存儲密度和良好擴(kuò)展性等合乎大數(shù)據(jù)存儲技術(shù)需求的特征。但是,非易失性存儲器還存在以下問題。

      ● PCM讀寫不對稱。在性能方面,寫時延相對DRAM較長,會導(dǎo)致訪問內(nèi)存的時間延長,降低系統(tǒng)的性能;在能耗方面,對PCM進(jìn)行寫操作比讀操作的能耗要高,會導(dǎo)致更多的能源消耗。

      ● PCM的耐寫度有限。數(shù)據(jù)在PCM內(nèi)存架構(gòu)上的寫操作分布不均勻會縮短PCM的壽命,也會對存儲在PCM上的數(shù)據(jù)的安全性造成影響。

      由此可見,如果用PCM完全取代DRAM作為構(gòu)成計算系統(tǒng)的內(nèi)存,會對計算系統(tǒng)的壽命、性能、能耗和安全性等造成一定的影響。因此,必須有效解決上述問題,才能發(fā)揮PCM在優(yōu)化大數(shù)據(jù)應(yīng)用方面的效用,而采用基于PCM和DRAM的混合內(nèi)存架構(gòu)是當(dāng)前的主要方式。

      本文從分析大數(shù)據(jù)應(yīng)用和NVM的特征入手,旨在分析PCM/DRAM混合存儲架構(gòu)在優(yōu)化大數(shù)據(jù)應(yīng)用方面的可行性及優(yōu)化方向。通過研究比較DRAM與PCM不同的組成方案和管理策略,從混合存儲架構(gòu)的性能優(yōu)化和能耗優(yōu)化兩方面分析主要的優(yōu)化算法和相關(guān)的故障處理,并討論未來的優(yōu)化方向,以達(dá)到最大限度地利用DRAM和PCM優(yōu)勢的目的,為全面利用PCM/DRAM混合內(nèi)存架構(gòu)開展大數(shù)據(jù)應(yīng)用調(diào)度優(yōu)化提供基礎(chǔ)。

      2 大數(shù)據(jù)應(yīng)用及NVM的特征

      2.1 典型應(yīng)用場景下大數(shù)據(jù)應(yīng)用特征

      隨著大數(shù)據(jù)概念的出現(xiàn),學(xué)術(shù)界和工業(yè)界都利用大數(shù)據(jù)分析技術(shù)的優(yōu)勢開展應(yīng)用,以提升服務(wù)或應(yīng)用效率,現(xiàn)今大數(shù)據(jù)典型應(yīng)用場景有:企業(yè)內(nèi)部大數(shù)據(jù)應(yīng)用、物聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用、面向在線社交網(wǎng)絡(luò)大數(shù)據(jù)的應(yīng)用、醫(yī)療健康大數(shù)據(jù)應(yīng)用、群智感知和智能發(fā)電等[2]。這些應(yīng)用體現(xiàn)了大數(shù)據(jù)的數(shù)字化、全球化、超海量、實時性、價值密度低等特點[3,4]。大數(shù)據(jù)的應(yīng)用特征表現(xiàn)在以下兩個方面。

      (1)數(shù)據(jù)處理時效性要求高,處理速度問題突出

      許多嵌入式的系統(tǒng)都會產(chǎn)生大量的物理數(shù)據(jù),需要動態(tài)地處理分析這些數(shù)據(jù)。企業(yè)大數(shù)據(jù)應(yīng)用也需要實時地對數(shù)據(jù)的變化做出應(yīng)對和決策。數(shù)據(jù)處理的響應(yīng)時間也從批處理響應(yīng)時間逐漸轉(zhuǎn)變?yōu)閷崟r的流數(shù)據(jù)處理響應(yīng)時間[5]。根據(jù)國際數(shù)據(jù)公司(International Data Corporation)發(fā)布的名為《大數(shù)據(jù),更大的數(shù)字身影,最大增長在遠(yuǎn)東》的研究報告,預(yù)計到2020年,數(shù)字宇宙規(guī)模將達(dá)到40 ZB[6]。這些均表明大數(shù)據(jù)時代對數(shù)據(jù)處理效率有著迫切的需求。

      (2)數(shù)據(jù)精確性要求高

      數(shù)據(jù)來源的多元化降低了數(shù)據(jù)的可靠度和質(zhì)量,但是面向大數(shù)據(jù)的計算系統(tǒng)需要追求高并發(fā)、高性能讀寫訪問、低功耗等特性,其精確需求難以很好地滿足。

      2.2 大數(shù)據(jù)應(yīng)用在傳統(tǒng)存儲架構(gòu)下的瓶頸

      大數(shù)據(jù)應(yīng)用的特征使大數(shù)據(jù)處理存在很多困難,在傳統(tǒng)存儲架構(gòu)下,計算機內(nèi)存容量有限、輸入/輸出壓力大等缺陷使大數(shù)據(jù)處理效率低、能耗高。大數(shù)據(jù)應(yīng)用面臨操作(分析、查詢等)時延長、能源消耗大和存儲容量有限這3個瓶頸。

      (1)操作時延長

      在傳統(tǒng)的馮·諾伊曼結(jié)構(gòu)中,CPU的處理速率遠(yuǎn)快于內(nèi)存的處理速率,當(dāng)CPU需要在大量的資源或數(shù)據(jù)上執(zhí)行一些簡單的指令時,由于I/O流量與CPU的工作效率相差太大,計算機運行的整體效率受到嚴(yán)重的限制?,F(xiàn)實中,處理器和內(nèi)存的性能一直在提升但卻具有不同的提升速率,兩者之間的帶寬差距也在增加。大數(shù)據(jù)繼承了互聯(lián)網(wǎng)的數(shù)字化表示,傳統(tǒng)的內(nèi)存器件DRAM用電容的充放電來表示“0”和“1”,為了防止電容因漏電而導(dǎo)致信息丟失,需要周期性地刷新DRAM以保存DRAM中的數(shù)據(jù),這就帶來了計算系統(tǒng)的額外時間開銷,導(dǎo)致大數(shù)據(jù)的實時性需求得不到滿足。

      (2)能源消耗大

      能源消耗是現(xiàn)代計算系統(tǒng)設(shè)計的一個重要考慮因素。近年來,能源管理的研究大多集中在中央處理器的動態(tài)管理上,研究人認(rèn)為它是能源消耗的最主要因素。然而,最近的研究表明,在現(xiàn)代計算系統(tǒng)中,內(nèi)存已經(jīng)成為最顯著的能源消耗部件,占據(jù)能源總消耗的30%~50%[7-11]。

      DRAM內(nèi)存被組織為一個包含行和列的網(wǎng)格,每一位數(shù)據(jù)都以小電容充電的形式存儲在這個網(wǎng)格中。漏電和頻繁的訪問會導(dǎo)致電荷耗盡,DRAM需要一個持續(xù)的刷新操作來維持它的數(shù)據(jù),因此,進(jìn)行刷新操作的電源就會導(dǎo)致持續(xù)的能源消耗。同時DRAM設(shè)置行和列給物理地址訪問時要消耗能源。當(dāng)其他行需要訪問時,DRAM關(guān)閉一行也需要額外的能源開銷。此外,在進(jìn)行實際的讀寫操作時,因為漏電和周期性的供應(yīng),持續(xù)的備用電源都會造成能源的損耗。

      雖然關(guān)鍵的大數(shù)據(jù)技術(shù)仍處在初步階段[2],但是學(xué)術(shù)界和工業(yè)界對大數(shù)據(jù)的應(yīng)用已經(jīng)越來越廣泛,這些應(yīng)用更多地轉(zhuǎn)移到包含大量信息和通信技術(shù)的大數(shù)據(jù)中心,呈現(xiàn)大數(shù)據(jù)中心化的特征。目前大數(shù)據(jù)中心包括數(shù)以萬計的服務(wù)器,其能源消耗量甚至可以超過一座小型城鎮(zhèn)的能源消耗量[12]。與此同時,這些服務(wù)器在日常工作中約有30%的時間是不承擔(dān)任何任務(wù)的,閑置的服務(wù)器只消耗能源,不產(chǎn)生價值,大數(shù)據(jù)中心的能源利用率普遍只有5%~10%[12]。

      (3)存儲容量有限

      當(dāng)前需要存儲和處理的大數(shù)據(jù)達(dá)到了PB量級,因此存儲器的存儲容量和存儲密度也是一個亟須解決的問題。由于磁盤的I/O速度比計算系統(tǒng)其他部分慢5個數(shù)量級[13],如果擴(kuò)大磁盤容量,尋址時間會隨磁盤容量的擴(kuò)大而增加,進(jìn)而增加操作的時延,從而降低I/O的吞吐量。由于DRAM存儲密度較小、價格較高,如果擴(kuò)大DRAM內(nèi)存容量,則會導(dǎo)致能源消耗進(jìn)一步加劇,并顯著增加計算系統(tǒng)的成本。

      學(xué)術(shù)界與工業(yè)界都嘗試在軟件方面對現(xiàn)有的存儲機構(gòu)進(jìn)行改進(jìn),解決大數(shù)據(jù)存儲的問題,其中包括以Hadoop分布式文件系統(tǒng)(Hadoop distributed file system,HDFS)[14]和以非關(guān)系型數(shù)據(jù)庫(not only SQL, NoSQL)為代表的大規(guī)模分布式數(shù)據(jù)庫系統(tǒng)設(shè)計、基于以DRAM為核心的內(nèi)存數(shù)據(jù)庫技術(shù)等。然而,這些軟件或軟硬件結(jié)合的方案都是從傳統(tǒng)的DRAM內(nèi)存架構(gòu)考慮的,沒有實質(zhì)上的突破。在大數(shù)據(jù)應(yīng)用的環(huán)境下,內(nèi)存與外存之間的處理速率仍然相差很大,需要從硬件的角度考慮才能更好地滿足大數(shù)據(jù)應(yīng)用的需求。

      2.3 新型非易失性存儲器

      由前文可知,以DRAM為核心構(gòu)成內(nèi)存的傳統(tǒng)架構(gòu)已經(jīng)不能滿足大數(shù)據(jù)的應(yīng)用需求。隨著新型的非易失性存儲器阻變式存儲器(resistive random access memory,RRAM)、鐵電存儲器(ferroelectric random access memory,F(xiàn)RAM)、磁阻內(nèi)存(magnetic random access memory,MRAM)、相變存儲器(phase change memory,PCM)以及閃存(flash memory)走出實驗室,NVM成本降低并實現(xiàn)了產(chǎn)品化,為研究適合高效率、低能耗的大數(shù)據(jù)存儲和管理的新型存儲架構(gòu)帶來了新的機遇。

      閃存技術(shù)的快速發(fā)展給數(shù)據(jù)管理研究帶來了巨大沖擊,但是受按頁存取的方式和存取性能等因素限制,閃存較適合作為二級存儲器[15]。基于閃存的數(shù)據(jù)存儲與管理技術(shù)只是優(yōu)化了磁盤級別的I/O時延[16],對傳統(tǒng)存儲架構(gòu)的變革沒有太大的影響。

      其他新型的非易失性存儲器還存在以下缺點。

      ● MRAM工作原理依賴磁性,磁性材料在200°C左右的溫度環(huán)境下會喪失磁性,而在制造和集成工藝的過程中,溫度通常會達(dá)到400°C;并且MRAM品質(zhì)不容易控制,如果磁性薄膜系統(tǒng)沒有良好的均勻性,會導(dǎo)致寫入或讀取發(fā)生錯誤。

      ● FeRAM隨工藝縮小的能力比較差,存儲密度不夠高,在高密度非揮發(fā)型存儲器領(lǐng)域尚且不能和閃存競爭[17]。

      ● 雖然RRAM具有可縮小性好、操作電流低、讀寫速度快、阻態(tài)保持特性好等特點[18],但其仍處于開發(fā)的初級階段,其開關(guān)阻變機理不夠清晰。

      目前研究較成熟的PCM被認(rèn)為是最有可能取代DRAM的非易失性存儲器。PCM以硫系化合物GST材料為存儲介質(zhì),利用納米尺寸的相變材料在晶態(tài)(材料成低阻狀態(tài))與非晶態(tài)(高阻狀態(tài))時呈現(xiàn)出的阻值差異實現(xiàn)數(shù)據(jù)存儲[19],通過給上下級加一定的電壓,使相變材料在晶態(tài)和非晶態(tài)之間轉(zhuǎn)變。高阻下非晶態(tài)表示二進(jìn)制“0”,低阻下晶態(tài)表示二進(jìn)制“1”,從而能夠?qū)憽?”或“1”。綜合而言,PCM具有如下特征[15,20]。

      (1)高存儲密度

      NOR flash和NAND flash結(jié)構(gòu)中,門電路厚度固定,需要高于10 V的電源供電,導(dǎo)致其存儲器體積很難縮小,而CMOS邏輯門只要1 V或者更少電源即可。根據(jù)摩爾定律,存儲器縮小一代,密集程度將提高一倍[21]。PCM可以將不同的電阻區(qū)組合在一個存儲單元內(nèi),存儲一個或以上的字節(jié)。其存儲單元小,相變材料體積小,具有很強的縮放性,從而存儲密度提升,內(nèi)存容量擴(kuò)大。

      (2)非易失性

      PCM利用相變材料(如硫系化合物合金材料Ge2Sb2Te5)的電阻值來保存數(shù)據(jù),不需要像DRAM一樣通過電容的充放電來表示數(shù)據(jù),也不需要通過周期性的刷新操作來維持存儲單元內(nèi)的數(shù)據(jù)。掉電后數(shù)據(jù)存儲期限可達(dá)10年之久。

      (3)按位尋址

      PCM具有按位存儲的特性,其單元值可直接由“0”變?yōu)椤?”或由“1”變?yōu)椤?”,不需要單獨的擦除操作,可以降低能耗,節(jié)省時間。這與傳統(tǒng)的DRAM按字節(jié)尋址略有不同,只需更改少許內(nèi)存管理策略。

      (4)低能耗

      PCM芯片是由相變材料構(gòu)成的,漏電能耗極少,幾乎可以忽略不計,也不需要DRAM周期性地刷新電流。PCM最大的特點是,在大數(shù)據(jù)應(yīng)用的環(huán)境中,相對于DRAM,能節(jié)約海量的能源消耗。

      2.4 PCM的缺陷及大數(shù)據(jù)應(yīng)用的需求

      雖然PCM是最理想的內(nèi)存選擇之一,但是PCM在讀操作和耐寫度兩方面存在明顯缺陷。一是讀寫不對稱。PCM讀取時延約為200~300 ns,具有與DRAM相近的讀取帶寬。但是PCM的寫速度較慢,是DRAM的1/10[22],雖然PCM的寫速度比閃存快,但在大數(shù)據(jù)應(yīng)用要求低延時的背景下需要考慮如何減少PCM上的寫操作以提升系統(tǒng)性能。二是耐寫度有限。過多的寫操作(106~108次)會導(dǎo)致PCM器件單元失效。這意味著,在最理想的情況下,一塊16 GB的PCM芯片的壽命為10年左右[22],但由于寫操作的速率不同或者寫操作的分布不均勻,PCM芯片的壽命會進(jìn)一步地縮短。

      鑒于此,在大數(shù)據(jù)應(yīng)用環(huán)境下,還需要對PCM進(jìn)行以下兩方面的提升及優(yōu)化,以更好地滿足大數(shù)據(jù)應(yīng)用的需求。

      (1)減少PCM上的寫操作

      在實際應(yīng)用中,從系統(tǒng)的性能考慮,對內(nèi)存的讀寫速度有迫切的需求。然而PCM存在讀寫性能不對稱的問題,寫請求會導(dǎo)致讀時延延長2.3倍[23]。

      當(dāng)有許多寫操作發(fā)生時,一個較高的寫時延能夠通過緩沖區(qū)和智能調(diào)度來解決。但是,當(dāng)一個寫請求被調(diào)度到一個PCM塊上時,如果這個塊在寫操作完成之前發(fā)出讀請求,那么這個讀請求就需要等待,因此,寫請求會引起讀請求時延的延長。和寫訪問請求不同的是,讀訪問請求是系統(tǒng)時延的關(guān)鍵,讀操作的延緩會對系統(tǒng)的性能造成顯著的影響。參考文獻(xiàn)[23]中的基準(zhǔn)系統(tǒng)的讀時延為2 290個周期,是讀寫競爭較少的系統(tǒng)(1 000個周期)的3倍。如果寫時延縮減到1 000個周期,則讀時延會縮減到1 159個周期,這表明競爭主要是由寫請求引起的,并且是導(dǎo)致讀操作效率降低的主要因素[23]。所以,減少發(fā)生在PCM上的寫操作可以減少操作時延,提升系統(tǒng)性能。

      (2)降低PCM的寫能耗

      PCM不僅存在讀寫性能不對稱的問題,還存在讀寫能耗不對稱的問題。PCM使用的相變材料通過熱量的應(yīng)用來轉(zhuǎn)換存儲單元內(nèi)“0”和“1”的狀態(tài)。例如相變材料Ge2Sb2Te5(GST),當(dāng)其溫度超過其結(jié)晶溫度(300°C左右)但在其熔化溫度(600°C左右)之下時,就會進(jìn)入結(jié)晶狀態(tài)來表示邏輯上的“1”;當(dāng)熱度超過熔化溫度,GST就會進(jìn)入非結(jié)晶狀態(tài)來表示邏輯“0”(亦即reset狀態(tài))[24]。因此當(dāng)對一個PCM存儲單元進(jìn)行寫操作(set和reset操作)時,在位線①存儲矩陣中的數(shù)據(jù)輸出線上需要不同的電流和電壓,并且需要不同的完成時間。reset操作需要最高水平的電壓在短時間內(nèi)熔融相變材料,使PCM單元變成非結(jié)晶的狀態(tài)。set操作通過長時間的低電壓使存儲單元結(jié)晶化。因此對PCM的讀寫操作所需要的能耗存在較大的差異,讀操作的能耗與DRAM相近,寫操作的能耗卻比DRAM大[15]。

      由于在PCM上進(jìn)行寫操作會消耗大量的能源,如果不降低PCM寫能耗,在一定的寫次數(shù)之后,PCM內(nèi)的存儲單元就會被損壞,從而引發(fā)如下兩個方面的問題。

      ● 影響PCM的壽命。應(yīng)用通常會有對內(nèi)存系統(tǒng)進(jìn)行分布不均勻的寫操作,這會導(dǎo)致系統(tǒng)的壽命急劇下降,比在理想狀態(tài)下完全均勻地分布在PCM上的寫操作的系統(tǒng)壽命縮短1/20左右。在大數(shù)據(jù)應(yīng)用和分析的全球化特征下,計算系統(tǒng)要承受更多的或者分布更不均勻的寫操作,如果不對這些寫操作進(jìn)行處理和恰當(dāng)?shù)牟渴?,那么計算系統(tǒng)就會過早地?fù)p毀,造成不可估量的成本開銷。

      ● 影響PCM安全性。PCM某些單元損壞后可能會使原本存儲在這些單元的數(shù)據(jù)丟失。一個惡意的攻擊程序可以使PCM內(nèi)存在其指定的某一行或小范圍內(nèi)的某些行進(jìn)行反復(fù)寫操作,致使PCM的存儲單元在一分鐘內(nèi)出現(xiàn)故障甚至損壞[25,26]。此外,如果操作系統(tǒng)被攻擊者攻破,那么虛擬地址到物理地址的映射就會很容易被識破,攻擊者就可以做一個簡單的程序,通過將大量數(shù)據(jù)寫到精心挑選的緩存行,使緩存不斷刷新其數(shù)據(jù)。

      運用合理的策略優(yōu)化PCM的缺陷所帶來的問題,成為當(dāng)前研究的熱點之一。

      3 PCM/DRAM混合存儲架構(gòu)及優(yōu)化策略

      3.1 PCM/DRAM混合存儲架構(gòu)的優(yōu)勢

      PCM存在高存儲密度、非易失性、低能耗等優(yōu)點,而DRAM具有讀寫操作速度快的優(yōu)勢,兩者結(jié)合,則可能既規(guī)避PCM讀寫不對稱等劣勢,又彌補DRAM低存儲容量、易丟失的缺陷,從而出現(xiàn)了PCM/DRAM混合存儲架構(gòu)。

      PCM/DRAM混合存儲架構(gòu)就是用PCM芯片和DRAM芯片共同構(gòu)成內(nèi)存系統(tǒng),以往對該架構(gòu)的研究主要分成PCM/DRAM同級混合存儲系統(tǒng)和DRAM作為PCM緩存的內(nèi)存系統(tǒng)。本節(jié)主要討論PCM/DRAM混合存儲架構(gòu)在性能和能耗方面與傳統(tǒng)DRAM內(nèi)存系統(tǒng)相比存在的優(yōu)勢。

      (1)性能

      大數(shù)據(jù)應(yīng)用在傳統(tǒng)的DRAM內(nèi)存架構(gòu)下運行,由于DRAM通過充放電來表示數(shù)據(jù)的特性,所以應(yīng)用需要等待多個周期才能存取數(shù)據(jù)進(jìn)行讀寫操作。而在PCM/DRAM混合存儲架構(gòu)中,影響系統(tǒng)性能的主要因素是發(fā)生在PCM上的寫操作所帶來的時延以及內(nèi)存發(fā)生缺頁錯誤時需要等待的周期時長。IBM公司的研究提出了基于PCM和DRAM的混合存儲架構(gòu)[22],使用PCM能最大限度地擴(kuò)充內(nèi)存的容量,將快速的DRAM放在PCM內(nèi)存和處理器之間,作為內(nèi)存中的緩存區(qū),提升系統(tǒng)性能。通過用更大的PCM內(nèi)存和3%PCM內(nèi)存塊大小的DRAM構(gòu)成混合存儲架構(gòu)來打破DRAM和PCM在時延方面的差距。研究中還提出了延遲寫管理(lazywrite organization)作為混合內(nèi)存架構(gòu)的管理機制,通過減少對PCM的寫操作來克服PCM寫速度較慢的缺點。同時還采取了行級回寫(line-level write back)、細(xì)粒度磨損均衡(fine-grained wearleveling)、頁級分流(page level bypass)等機制區(qū)分?jǐn)?shù)據(jù)塊的訪問頻繁性,減少PCM中的寫操作。實驗結(jié)果表明這些策略能顯著減少缺頁錯誤的發(fā)生,系統(tǒng)性能與傳統(tǒng)存儲架構(gòu)相比提速3倍。

      (2)能耗

      能耗是計算系統(tǒng)在處理大數(shù)據(jù)應(yīng)用時主要考慮的因素之一。DRAM內(nèi)存系統(tǒng)的漏電效應(yīng)導(dǎo)致處理大數(shù)據(jù)時會引起很高的能耗,如何平衡能源效率和系統(tǒng)性能是目前PCM/DRAM混合存儲系統(tǒng)的熱門研究方向。在計算系統(tǒng)中,圖形處理器(graphics processing unit, GPU)用于在通用內(nèi)存中處理大規(guī)模的并行計算,這些并行計算會引起很多寫操作,由于PCM的讀寫不對稱,寫操作會引起更多的能耗(354%)[27],Wang B利用PCM/DRAM混合存儲架構(gòu),通過硬件和編譯器優(yōu)化GPU大規(guī)模并行計算環(huán)境下的能源效率。該方案通過調(diào)整硬件的構(gòu)成和編譯器的功能,利用一個基于并行處理的數(shù)據(jù)遷移框架完成數(shù)據(jù)遷移,并利用編譯器抉擇數(shù)據(jù)遷移和數(shù)據(jù)部署的計劃,避免引起額外的讀寫操作,消耗大量能源。最終與只有DRAM構(gòu)成和只有PCM構(gòu)成的并行計算內(nèi)存系統(tǒng)相比,在系統(tǒng)性能損失不到2%的情況下,能源效率分別提升了6%和49%[27]。

      3.2 混合存儲架構(gòu)的優(yōu)化策略

      基于以上論證,PCM/DRAM混合存儲架構(gòu)在能耗和性能方面能對大數(shù)據(jù)應(yīng)用進(jìn)行優(yōu)化,但是PCM讀寫不對稱和耐久度有限的缺陷會使混合存儲架構(gòu)在大數(shù)據(jù)應(yīng)用時出現(xiàn)時延高、壽命短等問題,下文將針對能耗和性能這兩方面討論優(yōu)化策略和算法。

      3.2.1 減少PCM上的寫操作

      由于PCM的讀寫性能和能耗不對稱,過多的PCM寫操作會引起額外的系統(tǒng)的內(nèi)存訪問開銷和能源開銷,減少部署在PCM上的寫操作不僅可以延長PCM的壽命,也可以提升PCM內(nèi)存系統(tǒng)在應(yīng)用環(huán)境下的性能,減少應(yīng)用中的能耗開銷,達(dá)到更好的能耗優(yōu)化效果。目前,減少PCM上的寫操作主要分為兩個方面:冷熱數(shù)據(jù)劃分和讀寫傾向劃分[15]。

      (1)冷熱數(shù)據(jù)劃分

      根據(jù)數(shù)據(jù)被訪問的頻率和讀寫操作的次數(shù)可以將數(shù)據(jù)劃分為冷數(shù)據(jù)和熱數(shù)據(jù),將冷數(shù)據(jù)存放在PCM上,將熱數(shù)據(jù)存放在DRAM上,就可以將寫操作次數(shù)更多、訪問更頻繁的數(shù)據(jù)從PCM遷移到DRAM上,同時也就將寫操作遷移到DRAM上,減少PCM上的寫操作。

      為了提升PCM系統(tǒng)性能,延長PCM系統(tǒng)的壽命,Lee S等人[28]提出了基于臟數(shù)據(jù)位和寫頻繁度的時鐘算法 (CLOCK with dirty bits and write frequency,CLOCKDWF)。算法利用PCM和DRAM同級混合存儲架構(gòu),將讀請求和干凈頁面(clean page)部署在PCM上,將寫請求和臟頁面部署在DRAM上。當(dāng)一個寫操作發(fā)生在PCM時,這個頁面就會被標(biāo)記為臟頁面,CLOCK-DWF算法就將這個頁面從PCM遷移到DRAM上。如果此時DRAM為滿,那么就會選中一個頁面遷移到PCM上。算法通過統(tǒng)計頁面的寫頻繁度區(qū)分頁面是熱還是冷,并通過臟數(shù)據(jù)位統(tǒng)計頁面的寫頻繁度。如果一個候選頁面的臟數(shù)據(jù)位為“1”,那么算法就會將這個頁面標(biāo)記為干凈頁面但在寫頻繁度上加1,如果候選頁面的臟數(shù)據(jù)位為“0”,那么算法就會檢查這個頁面是熱還是冷,如果為冷就遷移到PCM上。實驗結(jié)果表明,與DRAM作為PCM緩存的混合存儲架構(gòu)相比,算法平均能減少35.4%的寫操作,與傳統(tǒng)的CLOCK算法相比,平均減少14%的寫操作。

      為了避免冷熱數(shù)據(jù)劃分帶來的遷移導(dǎo)致過多的寫操作,Lee M等人[29]提出了遷移優(yōu)化的頁面替換時鐘(migrationoptimized CLOCK,M-CLOCK)算法。為了有效地區(qū)分DRAM上寫頻繁頁面和讀頻繁頁面,M-CLOCK算法利用了兩個時鐘指針:D指針和C指針。D指針負(fù)責(zé)管理熱臟頁面,C指針負(fù)責(zé)管理短期內(nèi)不具有寫傾向的頁面。當(dāng)一個候選頁面被寫操作重新訪問時,M-CLOCK算法就會通過寫傾向位和臟數(shù)據(jù)位確定這個頁面是否為熱臟頁面。當(dāng)DRAM為滿,D指針就會在臟熱頁面里選擇一個具有最低寫頻繁度的頁面,如果頁面寫傾向位為“1”,那么這個頁面就會被選為候選頁面,否則就將頁面寫傾向位設(shè)置為“0”,然后指向下一個頁面。如果D指針找不到最低寫頻繁度的頁面(寫傾向位為“0”),那么就會由C指針在干凈頁面內(nèi)選擇候選頁面。M-CLOCK通過這樣的遷移方法,將DRAM中的讀冷頁面遷移到PCM上,與過往的算法相比,能減少最多98%的寫操作,最高提升34%的系統(tǒng)訪問時間。

      為了在盡量小的性能代價下,優(yōu)化混合存儲系統(tǒng)在應(yīng)用環(huán)境下的能耗,避免不必要的DRAM到PCM頁面遷移所引起的寫操作,Shin D J等人[30]提出了自適應(yīng)的頁面組管理(adaptive page grouping,APG)。算法認(rèn)為物理距離相近的頁面具有相似的訪問請求次數(shù),于是根據(jù)頁面的物理距離,統(tǒng)計頁表中各個頁面中讀寫請求的次數(shù),從而決定訪問熱度,將訪問熱度相近的頁面聚類在一個分組,如果組的平均熱度超過熱度閾值,則將組設(shè)定為熱組;如果低于冷度閾值,就設(shè)定為冷組;熱度閾值和冷度閾值之間的頁面為暖組(warm group)。算法將熱組部署在DRAM上,冷組部署在PCM上,暖組不發(fā)生遷移操作。實驗結(jié)果表明,算法能有效地減少PCM寫操作,且與DRAM系統(tǒng)相比,減少36%的能源消耗,與低時延的PRAM相比,內(nèi)存訪問效率增加了80%。

      CLOCK-DWF算法通過數(shù)據(jù)被訪問的頻繁度與寫訪問請求的歷史記錄,準(zhǔn)確地估計數(shù)據(jù)未來的冷熱度,并利用DRAM吸收更多的寫操作,但當(dāng)寫請求訪問PCM上的一個頁面時,就會將這個頁面遷移到DRAM上,如果此時DRAM已滿,則需從DRAM里面選取冷頁面與PCM交換,如果后面這個頁面被寫請求訪問,那么又要將頁面換回到DRAM,引起大量的額外讀寫操作。而且當(dāng)發(fā)生缺頁錯誤時,CLOCK-DWF將大部分的錯誤頁面部署到了PCM上,這也會引起額外的PCM的寫操作。

      M-CLOCK算法根據(jù)數(shù)據(jù)的訪問熱度和是否為臟數(shù)據(jù)來決定數(shù)據(jù)是否需要遷移,還利用了一個懶惰遷移(lazy migration)來延緩PCM到DRAM的頁面遷移,解決CLOCK-DWF的遷移顛簸問題。

      APG算法通過將熱度相近的頁面聚類在一起,并設(shè)置閾值,將頁面組劃分為冷熱組,但APG不能區(qū)分空間相鄰的頁面的訪問頻繁度,可能會造成冷頁面的遷移,導(dǎo)致額外的內(nèi)存訪問時延。

      (2)讀寫傾向劃分

      讀寫傾向的劃分主要是根據(jù)數(shù)據(jù)的寫操作次數(shù)將數(shù)據(jù)劃分為具有讀傾向還是具有寫傾向,將具有讀傾向的數(shù)據(jù)存放在PCM上,將具有寫傾向的數(shù)據(jù)存放在DRAM上,可以減少部署在PCM上引起寫操作的數(shù)據(jù),達(dá)到減少PCM上寫操作的目的。

      以往的研究發(fā)現(xiàn),大多數(shù)高速緩存中的未命中是由于被訪問的數(shù)據(jù)塊同時被重疊地映射到相同的緩存組,而在DRAM作為PCM的緩存的混合存儲架構(gòu)中,緩存的未命中會導(dǎo)致數(shù)據(jù)寫回到PCM上。基于此,Khouzani H A等人[31]提出了基于沖突的頁面分配算法(conflict-aware proactive page allocation algorithm),利用虛擬頁面映射到物理頁的靈活性,根據(jù)頁面分段信息和DRAM中的未命中,通過設(shè)置不同的DRAM組,重新分布DRAM中有很高寫傾向的頁面。該算法由兩個部分組成。首先,內(nèi)存控制器(MC)負(fù)責(zé)記錄DRAM上未命中的頁面沖突。其次,當(dāng)內(nèi)存發(fā)生頁面錯誤時,操作系統(tǒng)負(fù)責(zé)比較DRAM中的內(nèi)存塊并選出具有更少頁面沖突的內(nèi)存塊。這個部分能決定硬件的構(gòu)成并展示在硬件成本和算法復(fù)雜度方面如何最大限度地發(fā)揮算法的效率。當(dāng)一個訪問請求在DRAM上未能命中,而在PCM上命中了,這意味著,DRAM的大小或者相關(guān)性提高,就可以避免這次未命中并將其記作一個未命中的沖突。該算法為了記錄DRAM內(nèi)存塊上的這些不同數(shù)量的未命中的沖突,在每個內(nèi)存塊上設(shè)置了一個基于硬件的計數(shù)器。由于這些沖突數(shù)量可能會非常大,基于存儲開銷和訪問時間的考慮,該算法只在DRAM內(nèi)存塊添加了一個2位飽和計數(shù)器用于區(qū)分更高沖突性和更低沖突性的內(nèi)存塊。內(nèi)存管理器負(fù)責(zé)管理DRAM和PCM之間的通信,也負(fù)責(zé)管理內(nèi)存塊中的計數(shù)器。當(dāng)發(fā)生更高優(yōu)先級沖突時(即DRAM未命中而引起的寫回),計數(shù)器的值就增加2;如果是常規(guī)沖突,計數(shù)器的值增加1。當(dāng)發(fā)生頁面錯誤時,如果請求的頁面不屬于文本段,則將分配給該頁一個更低沖突性的內(nèi)存塊。由于該算法只使用了一個低開銷的2位飽和計數(shù)器,直接比較所有計數(shù)器來找出最小沖突塊的代價是昂貴和不必要的,因此該算法還利用了經(jīng)典的時鐘算法來找出最低沖突性的內(nèi)存塊。當(dāng)發(fā)生缺頁錯誤時,時鐘指針以循環(huán)的方式逐個掃描DRAM內(nèi)存塊中的計數(shù)器。如果計數(shù)器的值不為零,則計數(shù)器的值減1;當(dāng)時鐘指針指向計數(shù)器值為零的內(nèi)存塊時,這個內(nèi)存塊就會被選中,并作為候選的具有更低沖突性的內(nèi)存塊,保存發(fā)生錯誤的頁面。在記錄驅(qū)動的實驗中證實了該算法能有效地減少PCM上的寫操作(25%)和提高DRAM中的命中率(減少27%的未命中),因此,同時也能提高DRAM/PCM混合內(nèi)存的性能和壽命。

      為了減少PCM上的寫操作并且保持穩(wěn)定的系統(tǒng)應(yīng)用性能,Wu Z L等人[32]提出了基于訪問形式預(yù)測的LRU(accesspattern-prediction-based LRU,APPLRU)算法②LRU是least recently used的縮寫,即最近最少使 用。LRU算 法是內(nèi)存管理的一種頁面置換算法。APP-LRU算法中包含3個鏈表:LRU鏈表、PCM鏈表和DRAM鏈表。LRU鏈表用于管理PCM和DRAM,當(dāng)一個頁面被訪問時,就會將其放置在LRU鏈表中最近最頻繁使用的一段。PCM鏈表和DRAM鏈表中所有的頁面都會被分成若干含有一定數(shù)量頁面的組。PCM鏈表中的同一組內(nèi)所有的頁面都具有相等的寫次數(shù),而DRAM鏈表中的同一組內(nèi)頁面具有相等的讀次數(shù)。PCM鏈表(DRAM鏈表)頭部的組的頁面具有最大的寫(讀)操作次數(shù),當(dāng)一個頁面從磁盤里讀出來或從DRAM遷移到PCM(或從PCM遷移到DRAM)時,這個頁面就會被放置到鏈表的尾部。當(dāng)讀取或更新DRAM中的頁面時,該頁面將會從屬于PCM鏈表中的組遷移到屬于DRAM鏈中的組。APP-LRU就是通過這樣的遷移方法來減少PCM上的寫操作的,在有效地減少PCM上寫操作的前提下,與CLOCK-DWF算法和LRU算法相比,其遷移操作是傳統(tǒng)算法的1/6左右。

      為了在減少PCM上的寫操作的同時保證系統(tǒng)的命中率,確保系統(tǒng)在應(yīng)用中的性能,Chen K等人[33]提出了保持命中率的LRU (maintain-hit-ratio LRU,MHRLRU) 替換算法。算法使用LRU鏈表管理混合內(nèi)存架構(gòu)中的內(nèi)存頁面,所有頁面根據(jù)其最近的使用時間排列在內(nèi)存中。當(dāng)出現(xiàn)缺頁錯誤時,在最近最少使用位置的頁面就會被選中。在DRAM里,算法使用了一個基于DRAM寫數(shù)據(jù)的LRU鏈表(DRAM write-aware LRU list,DWL),DRAM上的頁面根據(jù)最近的寫傾向時間排列在這個鏈表中。當(dāng)發(fā)生頁面錯誤并選中一個候選頁面時,MHR-LRU就會檢測頁面的訪問是讀還是寫,并找出候選頁面的位置,如果頁面的訪問模式為寫并且部署在PCM上,那么算法實行頁面的遷移,釋放PCM中的候選頁面,并且將DWL鏈表中在最近最少使用位置的頁面遷移到PCM上,那么這個提出寫訪問請求的頁面就會被部署到DRAM上。實驗結(jié)果表明,與其他算法相比,MHR-LRU算法在保證命中率的情況下平均減少6.48%的PCM上的寫操作。

      將具有寫傾向的頁面從PCM上遷移到DRAM上可以有效地減少PCM,基于沖突的頁面分配算法利用DRAM作為緩存,吸收了具有寫傾向的頁面,減少了PCM上的寫操作。在此前提下,還減少了由于緩存的未命中引起的對PCM的寫操作,最終延長了系統(tǒng)的壽命,同時也提升了系統(tǒng)的性能。但是對于利用DRAM作為PCM的緩存的混合內(nèi)存架構(gòu),由于DRAM只作為系統(tǒng)的緩存,在后續(xù)的應(yīng)用運行中,如果PCM上的頁面發(fā)生讀寫傾向的改變,那么就無法將PCM上的頁面遷移到DRAM上。

      APP-LRU和MHR-LRU算法都利用了PCM/DRAM同級混合內(nèi)存架構(gòu),APPLRU算法通過元數(shù)據(jù)表記錄頁面的訪問歷史區(qū)分頁面的讀寫傾向,MHR-LRU算法通過LRU鏈表管理讀寫傾向劃分后按照使用時間排序的頁面。APP-LRU由于沒有考慮頁面的使用頻繁度,所以可能會遷移最近使用比較少的頁面,降低系統(tǒng)的命中率,增加額外的時間開銷;MHR-LRU算法通過使用頻繁度的排序,保證了系統(tǒng)的命中率,但是僅能將DRAM上讀傾向使用不頻繁的頁面遷移到PCM上,不能將PCM上寫傾向使用頻繁的頁面遷移到DRAM上,不能更有效地減少PCM上的寫操作。

      3.2.2 磨損均衡

      在很多大數(shù)據(jù)應(yīng)用場景中,寫操作會集中在內(nèi)存的某一行或某一頁,承受過多寫操作的區(qū)域由于耐久度有限會更早地?fù)p壞,從而縮短PCM的整體壽命。磨損均衡(wear leveling)就是研究如何使PCM上的寫操作均勻分布,以延長計算系統(tǒng)壽命的算法?,F(xiàn)有的具有代表性的工作有以下幾個。

      (1)Start-gap磨損均衡

      由于現(xiàn)有的磨損均衡算法需要一個很大的表來追蹤發(fā)生在PCM上寫操作的次數(shù),Qureshi M K等人[25]提出了Start-gap磨損均衡算法,利用一個簡單的物理機構(gòu),既避免了已有的磨損均衡算法所需的存儲空間和操作時延,同時也盡可能地達(dá)到了理想磨損均衡算法下PCM的壽命。算法利用了兩個物理寄存器Start和gap,還用了一個空隔行(gap line),每發(fā)生100次寫操作就移動一次gap指針和空隔行,同時gap寄存器中的數(shù)值減1(gap寄存器初始值為當(dāng)前總行數(shù)減1),每次寫操作都從Start指針開始,其基本過程如圖1所示。當(dāng)gap指針指向0時,Start指針和寄存器加1。Start-gap磨損均衡算法就是通過在連續(xù)不斷的PCM空間上不停地移動空隔行(不進(jìn)行寫操作)達(dá)到磨損均衡效果的。但由于寫操作通常聚集在相鄰的行,實驗過程中,只能達(dá)到理想情況53%的效果,所以需要隨機地分配地址,將寫操作均勻地分布在不同的區(qū)域。Start-gap磨損均衡算法在此基礎(chǔ)上還分別引入了密碼學(xué)技術(shù)Feistel網(wǎng)絡(luò)和一個隨機可逆的二維矩陣,達(dá)到邏輯地址對物理地址的隨機代數(shù)式映射。最終,在采取了隨機地址映射的方法后,Start-gap磨損均衡算法能達(dá)到超過97%的理想狀況下PCM壽命的效果。

      圖1 Start-gap磨損均衡算法

      (2)軟件實現(xiàn)的磨損均衡算法

      軟件實現(xiàn)的磨損均衡算法主要考慮的問題是,通過程序或者編譯器均勻分配PCM上的寫操作,并考慮內(nèi)存訪問的時間。Hu J等人[34]提出的基于嵌入式系統(tǒng)的軟件實現(xiàn)磨損均衡,在數(shù)據(jù)已經(jīng)被部署在混合存儲系統(tǒng)中,并且已經(jīng)知道每個數(shù)據(jù)將會引起多少寫操作的前提下,利用程序?qū)崿F(xiàn)均勻分配PCM上的寫操作。循環(huán)的開始和結(jié)束將程序劃分為不同的區(qū)域。首先用最優(yōu)數(shù)據(jù)分配(optimal data allocation, ODA)算法③該算法無差別對待PCM的地址,總是將PCM上第一個可用的空間分配給變量配置數(shù)據(jù)的分布,以獲得分配在PCM上的變量。然后利用一個數(shù)組W記錄PCM上每個地址的寫操作次數(shù)。然后軟件實現(xiàn)的磨損均衡算法將PCM按照地址的前后分為兩個組。對于第一個組的數(shù)據(jù)Dj,程序先通過數(shù)組W獲得地址addrj的寫次數(shù),然后對地址addrj的寫次數(shù)和數(shù)據(jù)Dj的寫次數(shù)進(jìn)行求和,再與閾值進(jìn)行比較,如果寫次數(shù)的和小于或等于閾值,那么數(shù)據(jù)Dj將會留在原地址;否則,就從W里面找出寫次數(shù)最少的地址,并計算該地址的寫次數(shù)與數(shù)據(jù)Dj寫次數(shù)的和值,如果未超過閾值,則將數(shù)據(jù)Dj遷移到這個地址上,若超過閾值,則要重新設(shè)置閾值。對于第二組的數(shù)據(jù)Dk,程序直接從W找出寫次數(shù)最少的地址,并計算該地址的寫次數(shù)與數(shù)據(jù)Dk寫次數(shù)的和,如果未超過閾值,則將數(shù)據(jù)Dj遷移到這個地址上,若超過閾值,則要重新設(shè)置閾值。最后實驗中,軟件實現(xiàn)的磨損均衡算法在先利用ODA算法進(jìn)行數(shù)據(jù)部署、在可接受的額外的應(yīng)用時間開銷(5.46%)的前提下,使PCM的壽命時間平均延長了3.13倍。

      (3)自適應(yīng)磨損均衡算法

      為了減少和均勻分配PCM上的寫操作,Park S K等人[35]提出了自適應(yīng)磨損均衡算法(adaptive wear-leveling algorithm)。由于臟數(shù)據(jù)的清除會引起PCM上的寫回(write back),增加應(yīng)用過程PCM上的寫操作,因此首先將DRAM(3%)作為PCM的緩存并將DRAM緩存分為兩層,分別處理臟數(shù)據(jù)(dirty data)與干凈數(shù)據(jù)(clean data)。第一層利用傳統(tǒng)的LRU算法決定臟數(shù)據(jù)和干凈數(shù)據(jù)的替換順序,第二層通過統(tǒng)計臟數(shù)據(jù)的寫操作次數(shù),將寫操作次數(shù)最少的臟數(shù)據(jù)替換出去?;诓僮鲿r間與一次所要交換的頁面數(shù)量的考慮,自適應(yīng)磨損均衡算法第二步提供了一個自適應(yīng)的多數(shù)據(jù)交換和移動的框架以實現(xiàn)磨損均衡。通過周期性地檢測最大寫入數(shù)的增量,查詢寫入訪問是否傾向某一行或某一頁,以此動態(tài)地調(diào)整頁面交換的負(fù)載模式。自適應(yīng)磨損均衡算法的最后,在頁面或行交換的時候,將頁面或行內(nèi)所包含的臟數(shù)據(jù)也先替換出緩存,并寫回到PCM上,避免了頁面或行交換和臟數(shù)據(jù)的重復(fù)寫操作。通過這3個步驟,自適應(yīng)磨損均衡算法能將以往的磨損均衡算法下的PCM壽命從0.68年提升到5.32年。

      (4)基于行的映射和循環(huán)利用磨損算法

      已有的錯誤修改指針(error correcting pointers,ECP)算法在出現(xiàn)了不可修復(fù)的錯誤行的時候就將其標(biāo)記為不可用,這樣就會造成PCM上的空間不連續(xù),不能與Start-gap磨損均衡算法組合起來,Jiang L[36]提出了基于行的映射和循環(huán)利用(line-level mapping and salvaging,LLS)磨損均衡算法。首先將PCM上一定的空間分為28個數(shù)據(jù)塊作為主空間,其余的作為備用的PCM空間。用已有的循環(huán)利用算法ECP對出現(xiàn)錯誤的行進(jìn)行修復(fù),當(dāng)出現(xiàn)第一個ECP無法修復(fù)的錯誤行時,就啟用LLS,LLS將主空間的錯誤行部署到備用的PCM的空間,這樣錯誤行就能被標(biāo)記并且重映射到一個健康的行中。當(dāng)PCM主空間里損壞的行比備用PCM空間里還未損壞的行多時,就會激活PCM的大小調(diào)整,以提供PCM上連續(xù)的地址空間。LLS磨損均衡算法比ECP算法下PCM壽命平均延長了24%。

      (5)基于桶和基于數(shù)組的磨損均衡算法

      基于時間和空間復(fù)雜度的考慮,Chen C H等人[37]提出了基于桶和基于數(shù)組的磨損均衡算法?;谕暗哪p均衡算法如圖2所示。先將PCM內(nèi)的頁面以桶的形式按照頁面的磨損程度聚類,在桶內(nèi)的頁面按照寫次數(shù)的多少排列,再將這些桶分為兩個鏈表,即空閑鏈表和正在被占用的鏈表。當(dāng)需要調(diào)用頁面時,先調(diào)用空閑鏈表中磨損程度最低的頁面,如這個桶為空,則將正在被占用鏈表的基桶(磨損程度最低)頁面的數(shù)據(jù)寫入寫次數(shù)最多的空閑頁面,然后再調(diào)用這個頁面?;跀?shù)組的磨損均衡算法如圖3所示。在物理頁面上添加了兩個物理計數(shù)器b、m和一個指針,當(dāng)頁面的磨損程度超過了初始設(shè)定的閾值,就以指針為中心,將鄰近的若干個頁面磨損程度最低的頁面交換。最終,基于桶和基于數(shù)組的磨損均衡算法下的PCM內(nèi)存壽命達(dá)到了完全磨損均衡理想狀態(tài)下的80%。

      圖2 基于桶的磨損均衡算法

      磨損均衡算法小結(jié)如下。

      ● Start-gap算法將PCM內(nèi)存行移動到鄰近的地址空間,利用兩種隨機映射地址的技術(shù),分配區(qū)域集中的寫操作。

      ● 軟件實現(xiàn)的磨損均衡算法通過數(shù)組統(tǒng)計數(shù)據(jù)的寫次數(shù),利用軟件對數(shù)據(jù)進(jìn)行遷移,但由于該算法要先利用ODA算法對數(shù)據(jù)進(jìn)行分配,所以會引起額外的內(nèi)存訪問時間開銷。

      ● 自適應(yīng)的磨損均衡算法能夠根據(jù)寫操作的分布情況,自動調(diào)整數(shù)據(jù)的交換和遷移,在盡量避免不必要的交換和遷移引起的額外的寫操作前提下,達(dá)到了良好的延長PCM壽命的效果。但是該算法需要大量的附加硬件支持,每512 MB的PRAM就需要32 MB的內(nèi)存空間以支持算法。

      ● LLS算法通過對硬件故障修復(fù)技術(shù)ECP的改進(jìn),使PCM上的可使用地址恢復(fù)連續(xù)性,得以和Start-gap算法結(jié)合,同時實現(xiàn)PCM的回收利用和磨損均衡的效果。

      ● 基于桶和基于數(shù)組的磨損均衡算法僅能達(dá)到理想狀態(tài)下PCM壽命的80%,會引起2%的額外寫操作,但由于算法不需要跟蹤內(nèi)存頁面的寫頻繁度,所以對系統(tǒng)的性能影響幾乎為零。

      3.2.3 PCM的故障處理

      圖3 基于數(shù)組的磨損均衡算法

      傳統(tǒng)的DRAM技術(shù)擁有容錯技術(shù),在沒有壽命限制的情況下,內(nèi)存系統(tǒng)利用錯誤檢查和糾正(error checking and correcting,ECC)編碼修復(fù)DRAM中的瞬態(tài)故障。然而在PCM內(nèi)存系統(tǒng)中,由于在一定次數(shù)的寫操作之后,存儲單元很快被磨損,基于電阻內(nèi)存的ECC修復(fù)編碼快速失效。一旦存儲單元出現(xiàn)了故障,該單元上的數(shù)據(jù)就無法繼續(xù)使用,PCM也會被認(rèn)定為已經(jīng)損壞,所以,在PCM/DRAM混合存儲系統(tǒng)中,需要新的容錯機制以修復(fù)內(nèi)存存儲單元的故障。為了保證存儲在PCM上的數(shù)據(jù)的安全性,修復(fù)PCM上的故障存儲單元,目前主要的工作如下。

      (1)ECP算法

      為了盡量減少寫磨損,處理永久性的存儲單元故障,提高內(nèi)存系統(tǒng)的壽命,修正早期的存儲單元故障,Schechter S等人[38]提出了ECP算法。ECP算法通過將故障單元的位置永久編碼到表中并分配單元替它們來糾正錯誤。圖4(a)顯示了ECP算法一個最簡單的應(yīng)用,即對一個位的修正,當(dāng)一個位出現(xiàn)故障時,這個位就會被標(biāo)記為滿,修正指針就會指向這個位,然后就會用一個新的存儲單元存儲這個位原來具有的值。當(dāng)需要對內(nèi)存單元進(jìn)行n位修正時,如圖4(b)所示,當(dāng)出現(xiàn)第一個故障時,就利用修正記錄位0進(jìn)行修正。當(dāng)替代的單元也出現(xiàn)了故障時就用圖4(c)的方法進(jìn)行修正,當(dāng)修正指針發(fā)生故障時就會利用圖4(d)的方法進(jìn)行修正。ECP算法在大量的寫操作發(fā)生后,仍能保持頁面的健康性。

      (2)動態(tài)復(fù)制的內(nèi)存

      為了在硬件和操作系統(tǒng)層面有效地延續(xù)PCM的物理可使用性,Ipek E等人[11]提出了動態(tài)復(fù)制的內(nèi)存(dynamically replicated memory,DRM)算法修復(fù)PCM上的硬件故障。為了便于動態(tài)復(fù)制,DRM引入了一個新的間接尋址層,位于系統(tǒng)的物理地址空間的PCM和真實地址空間的PCM之間。物理地址中的每一頁都被映射到一個未使用過的無故障的真實頁面,或兩個有故障的但在同一個位上沒有故障的兼容性頁面,因此,可以配對在每一個位上進(jìn)行讀寫操作的物理頁。為了完成這樣的映射,DRM算法在PCM上存儲了3個獨立的副本表,若對第一個副本表的復(fù)制出現(xiàn)錯誤,那么系統(tǒng)就會嘗試第二個副本表、第三個副本表;如果所有的副本表都出現(xiàn)故障,相應(yīng)的物理頁面都會被棄用。為了從映射之后的PCM地址獲得數(shù)據(jù),DRM算法利用硬件追蹤真實地址,并利用操作系統(tǒng)保證沒有不兼容的頁面被配對在一起。DRM算法與傳統(tǒng)的內(nèi)存錯誤修復(fù)機制相比,在過程變化程度(process variation,以下用CoV表示)不同的情況下,能不同程度地延長PCM的壽命。當(dāng)CoV=0.1、CoV=0.2和CoV=0.3時,DRM能分別將PCM的壽命延長至1.25倍、2.7倍和40倍。

      PCM的故障處理技術(shù)算法小結(jié)如下。

      ● ECP算法利用操作系統(tǒng)對出現(xiàn)故障的單元進(jìn)行追蹤,將其標(biāo)記為不可用并取回數(shù)據(jù)。ECP算法標(biāo)記所有的出錯單元,因此當(dāng)故障單元數(shù)超出了一定的限制后,ECP算法便無法進(jìn)行修復(fù),并且會使PCM上的可使用地址空間不再連續(xù),無法繼續(xù)使用其他利用隨機地址映射方式的優(yōu)化技術(shù)。

      ● DRM算法動態(tài)地配對兩個故障頁面,從中獲得一個可使用的頁面來回復(fù)PCM早期的故障頁面,但動態(tài)配對需要檢測兩個故障頁面的故障單元數(shù)和故障單元的位置,如果故障頁面的故障單元過多,會導(dǎo)致大量額外的時間開銷和能耗開銷。

      圖4 ECP的應(yīng)用例子

      所以故障修復(fù)處理技術(shù)必須與現(xiàn)有的磨損均衡算法和減少PCM上寫操作的算法結(jié)合起來,才能更好地延長PCM的壽命,并節(jié)省時間與能源開銷。

      4 混合內(nèi)存未來的優(yōu)化及研究方向

      4.1 已有工作的不足

      現(xiàn)有工作存在以下不足。

      ● DRAM作為PCM的緩存的混合內(nèi)存架構(gòu),如果沒有額外的存儲容量的支持與開銷,系統(tǒng)的性能優(yōu)化效果不能得到保證,與存儲容量較小的DRAM系統(tǒng)相比,性能的優(yōu)化效果顯著,但與存儲容量相近的DRAM系統(tǒng)相比,性能上還是存在微弱的劣勢。

      ● 在PCM和DRAM同級混合內(nèi)存架構(gòu)中,數(shù)據(jù)部署在不同的存儲介質(zhì)中,而由于PCM和DRAM的性能屬性不同,對數(shù)據(jù)進(jìn)行冷熱度和讀寫傾向劃分時,需要統(tǒng)計數(shù)據(jù)的讀寫歷史次數(shù),這會導(dǎo)致額外的時間開銷和能耗開銷,而且數(shù)據(jù)的劃分會導(dǎo)致遷移操作,這些遷移操作會引起額外的讀寫操作,降低PCM和DRAM同級混合內(nèi)存架構(gòu)的優(yōu)化效果。

      ● 對于讀寫傾向的劃分和冷熱數(shù)據(jù)劃分,冷頁面的遷移會帶來PCM上不必要的寫操作,同時PCM與DRAM之間的頁面遷移次數(shù)與遷移時機的不恰當(dāng)也會導(dǎo)致遷移顛簸。

      ● 在以往磨損均衡的研究工作中,數(shù)據(jù)的交換和遷移會導(dǎo)致額外的PCM上的寫操作,目前可依靠良好的閾值設(shè)定來控制數(shù)據(jù)的交換、遷移的次數(shù)和頻繁度,但靜態(tài)的閾值設(shè)定無法滿足應(yīng)用寫操作的動態(tài)變化,動態(tài)的閾值設(shè)定則需要硬件、操作系統(tǒng)或者軟件來支撐,帶來額外的成本開銷與時間開銷。

      ● 在PCM的故障處理中,最顯著的問題是,當(dāng)PCM的故障單元超過一定的限制后,這些技術(shù)就無法再使用,而將磨損均衡與故障處理的技術(shù)結(jié)合起來需要提供連續(xù)的PCM可使用的地址空間。

      4.2 PCM/DRAM混合內(nèi)存的優(yōu)化研究方向

      在大數(shù)據(jù)應(yīng)用優(yōu)化的需求背景下,對PCM/DRAM混合內(nèi)存管理策略的研究,關(guān)鍵在于結(jié)合應(yīng)用特征以及算法策略,并進(jìn)行適當(dāng)?shù)恼{(diào)整以適應(yīng)不同的應(yīng)用指標(biāo)和架構(gòu)環(huán)境。例如,磨損均衡中所提到的LLS算法,就是通過改變故障修復(fù)策略,在PCM上保持了連續(xù)的空間,滿足了磨損均衡算法的需求?;赑CM和DRAM的關(guān)系,可以在兩種不同的架構(gòu)方式下考慮。

      在DRAM作為PCM緩存的混合內(nèi)存架構(gòu)下,由于PCM的空間地址是獨立的,所以可利用PCM的故障修復(fù)處理技術(shù),延長系統(tǒng)的壽命。DRAM作為PCM緩存的混合內(nèi)存架構(gòu),可采用磨損均衡算法對PCM內(nèi)存上的寫操作進(jìn)行分布,延長系統(tǒng)的壽命。此外還可充分發(fā)揮DRAM緩存能吸收PCM上的寫操作的優(yōu)勢,允許磨損均衡的遷移和交換操作引起的額外寫操作。同時擴(kuò)大內(nèi)存PCM的容量,使系統(tǒng)的性能得到提升,也可以承擔(dān)由于控制磨損均衡所需要的硬件開銷。在保證了系統(tǒng)的壽命的前提下,利用DRAM作為PCM緩存的混合內(nèi)存架構(gòu)自身的性能優(yōu)勢,對大數(shù)據(jù)應(yīng)用進(jìn)行優(yōu)化。

      在PCM/DRAM同級混合內(nèi)存架構(gòu)下,由于PCM動態(tài)(讀寫操作)能耗比DRAM高,PCM的寫操作效率是DRAM的1/8,所以在PCM/DRAM同級混合內(nèi)存架構(gòu)中,需要將寫傾向的頁面或其他存儲結(jié)構(gòu)維持在DRAM上,并且要維持系統(tǒng)的命中率,避免遷移之后的缺頁錯誤。利用DRAM動態(tài)能耗低和讀寫操作性能優(yōu)化的特性,避免DRAM的漏電。對于在PCM/DRAM同級混合內(nèi)存架構(gòu)上減少PCM寫操作的算法,可以動態(tài)地統(tǒng)計DRAM上和PCM上頁面的寫操作,根據(jù)這些頁面的冷熱度聚類在一起,再依據(jù)它們的寫操作次數(shù)按升序排列在某一數(shù)據(jù)結(jié)構(gòu)中,當(dāng)PCM發(fā)生寫操作時,釋放PCM被選中頁面,從DRAM中將寫次數(shù)最少、最冷(最空閑)的頁面遷移到PCM上,若DRAM無空閑頁面,就將PCM中寫次數(shù)最多、最熱的頁面與DRAM中寫次數(shù)最少、最冷(最空閑)的頁面交換。

      基于上述分析,可以將未來的研究方向[39]概括為以下幾個方面 。

      ● 研究內(nèi)存容量配置對性能的影響?;旌蟽?nèi)存可以按比例為1:1的DRAM和PCM容量比配置,但PCM具有良好的擴(kuò)展性,因此未來的內(nèi)存容量配置也可能為較大容量PCM和較小容量DRAM的混合,所以需要研究評測內(nèi)存容量配置對內(nèi)存性能的影響。此外,結(jié)合大數(shù)據(jù)應(yīng)用的具體特征,例如數(shù)據(jù)的讀寫頻率與模式等,獲得最佳內(nèi)存配置在性能與成本間的平衡。

      ● 研究不同結(jié)構(gòu)的混合內(nèi)存DRAM/PCM?;旌蟽?nèi)存分為平行結(jié)構(gòu)和層次結(jié)構(gòu)。平行結(jié)構(gòu)可避免存儲相同的數(shù)據(jù),更好利用DRAM的容量;層次結(jié)構(gòu)是DRAM作為PCM的緩存,能更好地緩存頻繁訪問的數(shù)據(jù),減少DRAM和PCM間的數(shù)據(jù)移動開銷。此外,結(jié)合大數(shù)據(jù)應(yīng)用的具體特征,探索不同結(jié)構(gòu)的適用性問題。

      ● 研究PCM的耐寫性問題[40]。過多的寫操作會導(dǎo)致存儲單元磨損,減少PCM壽命,可分析在不同應(yīng)用的讀寫、訪問、存儲的行為下PCM使用的壽命情況,從而從體系結(jié)構(gòu)方面更好地提高壽命及其耐寫度。研究新的耗損均衡算法,根據(jù)應(yīng)用場景的不同動態(tài)地調(diào)整讀寫策略,延長新型NVM的使用時間。研究新的緩存訪問控制算法來減少寫操作。

      ● 研究混合內(nèi)存能耗問題。PCM靜態(tài)功耗低于DRAM,但是動態(tài)寫能耗高于DRAM,因此需研究不同大數(shù)據(jù)應(yīng)用下兩者內(nèi)存的能耗差異,并基于這種差異探索應(yīng)用感知的優(yōu)化策略,降低內(nèi)存器件的能耗。此外,研究低開銷的糾錯方法,在保證糾錯準(zhǔn)確率的前提下盡量減小開銷。

      ● 研究PCM的安全性問題。利用PCM的非易失性,可以在內(nèi)存中直接對部分?jǐn)?shù)據(jù)做持久化。另外,PCM非易失性的特征帶來了數(shù)據(jù)信息泄露的安全隱患。研究壞塊復(fù)用方法,將壞塊中未損壞的部分組合起來;研究壞塊丟棄策略,將緩存中出現(xiàn)的壞塊丟棄,然后指導(dǎo)其他數(shù)據(jù)被正確分配、訪問,維護(hù)數(shù)據(jù)的一致性。目前,安全性研究展望主要包括4個方面[41]:融合權(quán)限和保護(hù)機制、加強程序安全、使用非易失緩存和提供硬件支持保持?jǐn)?shù)據(jù)一致性、減少PCM的保持時間以降低數(shù)據(jù)被竊取的風(fēng)險。

      ● 研究數(shù)據(jù)標(biāo)簽化及數(shù)據(jù)部署問題。與傳統(tǒng)內(nèi)存系統(tǒng)不同的是,混合存儲架構(gòu)下每種內(nèi)存介質(zhì)的性能差異較大,導(dǎo)致在內(nèi)存頁面管理上必須將不同存儲介質(zhì)的頁面區(qū)別對待,因此合適的數(shù)據(jù)分類非常重要[15]。需要研究數(shù)據(jù)標(biāo)簽化(即對數(shù)據(jù)進(jìn)行劃分)以及數(shù)據(jù)在混合存儲器件上的部署問題。

      5 結(jié)束語

      本文通過分析大數(shù)據(jù)的應(yīng)用特征和以PCM為代表的新型非易失性存儲器的特點,闡述了混合存儲架構(gòu)在性能和能耗方面與傳統(tǒng)內(nèi)存架構(gòu)相比存在的優(yōu)勢,并討論了混合架構(gòu)的優(yōu)化算法,總結(jié)了未來的優(yōu)化和研究方向。在未來的發(fā)展中,PCM/DRAM混合內(nèi)存架構(gòu)可以逐漸取代原有的DRAM架構(gòu),成為計算系統(tǒng)的內(nèi)存。通過擴(kuò)充內(nèi)存的容量,提升計算系統(tǒng)在大數(shù)據(jù)應(yīng)用背景下的性能,節(jié)省計算系統(tǒng)在大數(shù)據(jù)應(yīng)用背景下的能耗,滿足大數(shù)據(jù)應(yīng)用的數(shù)字化、全球化、超海量、實時性和中心化等特性。

      [1]馬建光, 姜巍. 大數(shù)據(jù)的概念、特征及其應(yīng)用[J].國防科技, 2013, 34(2): 10-17.MA J G, JIANG W. The concept,characteristics and application of big data[J]. National Defense Science &Technology, 2013, 34(2): 10-17.

      [2]張引, 陳敏, 廖小飛. 大數(shù)據(jù)應(yīng)用的現(xiàn)狀與展望[J]. 計算機研究與發(fā)展, 2013, 50(S2):216-233.ZHANG Y, CHEN M, LIAO X F. Big data applications: a survey[J]. Journal of Computer Research and Development,2013, 50(S2): 216-233.

      [3]何立民. 大數(shù)據(jù)時代與嵌入式系統(tǒng)[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, 2014, 14(1): 1-3.HE L M. Big data era and embedded systems[J]. Microcontrollers & Embedded Systems, 2014, 14(1): 1-3.

      [4]李濤, 曾春秋, 周武柏, 等. 大數(shù)據(jù)時代的數(shù)據(jù)挖掘——從應(yīng)用的角度看大數(shù)據(jù)挖掘[J].大數(shù)據(jù), 2015, 1(4): 1-24.LI T, ZENG C Q, ZHOU W B, et al.Data mining in the era of big data:from the application perspective[J]. Big Data Research, 2015, 1(4): 1-24.

      [5]孫大為. 大數(shù)據(jù)流式計算: 應(yīng)用特征和技術(shù)挑戰(zhàn)[J]. 大數(shù)據(jù), 2015, 1(3): 99-105.SUN D W. Big data stream computing:features and challenges[J]. Big Data Research, 2015, 1(3): 99-105.

      [6]伏琰. 云計算環(huán)境下數(shù)字資源整合模式研究[J].河南圖書館學(xué)刊, 2014(11): 126-129.FU Y. Research on the integration model of digital resources in the cloud computing environment[J]. The Library Journal of Henan, 2014(11): 126-129.

      [7]BARROSO L A, H?LZLE U. The case for energy-proportional computing[J].Computer, 2007, 40(12): 33-37.

      [8]BARROSO L A, H?LZLE U. The datacenter as a computer: an introduction to the design of warehouse-scale machines[J]. Synthesis Lectures on Computer Architecture, 2009, 8(3): 154.

      [9]MEHRZAD. Sponge: portable stream programming on graphics engines[J]. ACM Sigplan Notices, 2011, 47(4): 381-392.

      [10]NAWATHE U G, HASSAN M,WARRINER L, et al. An 8-Core 64-Thread 64b Power-Efficient SPARC SoC[C]// IEEE International Solid-state Circuits Conference, December 20-22,2007, Tainan, China. Piscataway: IEEE Press, 2007: 108-590.

      [11]IPEK E, CONDIT J, NIGHTINGALE E B,et al. Dynamically replicated memory:building reliable systems from nanoscale resistive memories[J]. ACM Sigplan Notices, 2010, 38(1): 3-14.

      [12]王麗芳, 齊勇, 蔣澤軍, 等. 面向大數(shù)據(jù)的綠色I(xiàn)T框架能效分類機制[J]. 工程研究: 跨學(xué)科視野中的工程, 2014(3): 224-232.WANG L F, QI Y, JIANG Z J, et al.Energy-efficiency classifying mechanism for green IT framework of big data[J].Journal of Engineering Studies, 2014(3):224-232.

      [13]慎涵. 一種基于PCM的文件系統(tǒng)設(shè)計與實現(xiàn)[D].武漢: 華中科技大學(xué), 2013.SHEN H. Design and implementation of a PCM file system[D]. Wuhan: Huazhong University of Science & Technology, 2013.

      [14]陳純. 流式大數(shù)據(jù)實時處理技術(shù)、平臺及應(yīng)用[J].大數(shù)據(jù), 2017, 3(4): 1-8.CHEN C. Real-time processing technology,platform and application of streaming big data[J]. Big Data Research,2017, 3(4): 1-8.

      [15]吳章玲, 金培權(quán), 岳麗華, 等. 基于PCM的大數(shù)據(jù)存儲與管理研究綜述[J]. 計算機研究與發(fā)展, 2015, 52(2): 343-361.WU Z L, JIN P Q, YUE L H, et al. A survey on PCM-based big data storage and management[J]. Journal of Computer Research and Development, 2015, 52(2):343-361.

      [16]陸游游, 舒繼武. 閃存存儲系統(tǒng)綜述[J]. 計算機研究與發(fā)展, 2013, 50(1): 49-59.LU Y Y, SHU J W. Survey on flash-based storage systems[J]. Journal of Computer Research and Development, 2013, 50(1):49-59.

      [17]郭姣姣. 基于氧化鉿的阻變存儲器性能及機理的研究[D]. 上海: 復(fù)旦大學(xué), 2012.GUO J J. Study on performance and mechanism of resistive memory based on hafnium oxide[D]. Shanghai: Fudan University, 2012.

      [18]萬海軍. 電阻存儲器RRAM的可靠性研究[D].上海: 復(fù)旦大學(xué), 2010.WAN H J. Research on reliability of RRAM[D]. Shanghai: Fudan University,2010.

      [19]沈菊, 宋志棠. 相變存儲器驅(qū)動電路的設(shè)計與實現(xiàn)[J]. 半導(dǎo)體技術(shù), 2008, 33(5):431-434.SHEN J,SONG Z T. Design and realization of driving circuit for phase-change RAM chip[J]. Semiconductor Technology, 2008,33(5): 431-434.

      [20]International Technology Roadmap for Semiconductors(ITRS)[R]. 2012.

      [21]章征海. 相變混合存儲器的研究與設(shè)計[D]. 武漢: 華中科技大學(xué), 2012.ZHANG Z H. Research and design of PCRAM-based hybrid storage system[D].Wuhan: Huazhong University of Science &Technology, 2012.

      [22]QURESHI M K, SRINIVASAN V, RIVERS J A. Scalable high performance main memory system using phase-change memory technology[J]. ACM Sigarch Computer Architecture News, 2009,37(3): 24-33.

      [23]QURESHI M K, FRANCESCHINI M M,LASTRAS-MONTANO L A. Improving read performance of phase change memories via write cancellation and write pausing[C]// IEEE International Symposium on High Performance Computer Architecture, Janaury 9-14,2010, Bangalore, India. Piscataway: IEEE Press, 2010: 1-11.

      [24]ZHOU P, ZHAO B, YANG J, et al. A durable and energy efficient main memory using phase change memory technology[J].ACM Sigarch Computer Architecture News, 2009, 37(3): 14-23.

      [25]QURESHI M K, KARIDIS J,FRANCESCHINI M, et al. Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling[C]//The 42nd Annual IEEE/ACM International Symposium on Microarchitecture, Dec 12-16,2009, New York, USA. New York: ACM Press, 2009: 14-23.

      [26]WU G, GAO J, ZHANG H, et al. Improving PCM endurance with randomized address remapping in hybrid memory system[C]//IEEE International Conference on Cluster Computing, September 26-30, 2011,Austin, USA. Piscataway: IEEE Press,2011: 503-507.

      [27]WANG B, WU B, LI D, et al. Exploring hybrid memory for GPU energy efficiency through software-hardware co-design[C]// International Conference on Parallel Architectures & Compilation Techniques, October 7, 2013, Edinburgh,UK. Piscataway: IEEE Press, 2013: 93-102.

      [28]LEE S, BAHN H, NOH S H.Characterizing memory write references for efficient management of hybrid PCM and DRAM Memory[C]// 19th Annual International Symposium on Modelling,Analysis, and Simulation of Computer and Telecommunication Systems, July 25-27,2011, Singapore. Piscataway: IEEE Press,2011: 168-175.

      [29]LEE M, DONG H K, KIM J, et al.M-CLOCK: migration-optimized page replacement algorithm for hybrid DRAM and PCM memory architecture[C]// ACM Symposium on Applied Computing, April 13-17, 2015, Salamanca, Spain, New York: ACM Press, 2015: 2001-2006.

      [30]SHIN D J, PARK S K, KIM S M, et al.Adaptive page grouping for energy efficiency in hybrid PRAM-DRAM main memory[C]// ACM Research in Applied Computation Symposium, March 26-30,2012, Riva del Garda (Trento), Italy. New York: ACM Press, 2012: 395-402.

      [31]KHOUZANI H A, YANG C, HU J.Improving performance and lifetime of DRAM-PCM hybrid main memory through a proactive page allocation strategy[C]//Design Automation Conference, Jun 7-11,2015, San Francisco, USA. Piscataway:IEEE Press, 2015: 508-513.

      [32]WU Z L, JIN P Q, YANG C C, et al. APPLRU: a new page replacement method for PCM/DRAM-based hybrid memory systems[M]. Springer: Network and Parallel Computing, 2014: 84-95.

      [33]CHEN K, JIN P, YUE L. A novel page replacement algorithm for the hybrid memory architecture involving PCM and DRAM[M]. Springer: Network and Parallel Computing, 2014: 108-119.

      [34]HU J, ZHUGE Q, XUE C J, et al. Software enabled wear-leveling for hybrid PCM main memory on embedded systems[J].IEEE Transactions on Very Large Scale Integration Systems, 2013, 23(4):599-602.

      [35]PARK S K, MAENG M K, PARK K W,et al. Adaptive wear-leveling algorithm for PRAM main memory with a DRAM buffer[J]. ACM Transactions on Embedded Computing Systems, 2014, 13(4): 1-25.

      [36]JIANG L, DU Y, ZHANG Y, et al. LLS:Cooperative integration of wear-leveling and salvaging for PCM main memory[C]//The 2011 IEEE/IFIP 41st International Conference on Dependable Systems &Networks, Jun 27-30, 2011, Washington,D C, USA. Washington, DC: IEEE Computer Society, 2011: 221-232.

      [37]CHEN C H, HSIU P C, KUO T W, et al.Age-based PCM wear leveling with nearly zero search cost[C]// Design Automation Conference, January 3-7, 2012, San Francisco, USA. New York: ACM Press,2012: 453-458.

      [38]SCHECHTER S, LOH G H, STRAUS K,et al. Use ECP, not ECC, for hard failures in resistive memories[J]. ACM Sigarch Computer Architecture News, 2010,38(3): 141-152.

      [39]夏飛, 蔣德鈞, 熊勁. 影響非易失性內(nèi)存系統(tǒng)性能的因素分析[J]. 計算機研究與發(fā)展,2014(S1): 25-31.XIA F, JIANG D J, XIONG J. Evaluating and analyzing the performance of nonvolatile memory system[J]. Journal of Computer Research and Development,2014(S1): 25-31.

      [40]何炎祥, 沈凡凡, 張軍, 等. 新型非易失性存儲架構(gòu)的緩存優(yōu)化方法綜述[J]. 計算機研究與發(fā)展, 2015, 52(6): 1225-1241.HE Y X, SHEN F F, ZHANG J, et al. Cache optimization approaches of emerging nonvolatile memory architecture: a survey[J].Journal of Computer Research and Development, 2015, 52(6): 1225-1241.

      [41]徐遠(yuǎn)超, 閆俊峰, 萬虎, 等. 新型非易失存儲的安全與隱私問題研究綜述[J]. 計算機研究與發(fā)展, 2016, 53(9): 1930-1942.XU Y C, YAN J F, WAN H, et al. A survey on security and privacy of emerging nonvolatile memory[J]. Journal of Computer Research and Development, 2016, 53(9):1930-1942.

      猜你喜歡
      鏈表內(nèi)存頁面
      大狗熊在睡覺
      刷新生活的頁面
      基于二進(jìn)制鏈表的粗糙集屬性約簡
      “春夏秋冬”的內(nèi)存
      跟麥咭學(xué)編程
      基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
      鏈表方式集中器抄表的設(shè)計
      電測與儀表(2014年1期)2014-04-04 12:00:22
      基于內(nèi)存的地理信息訪問技術(shù)
      同一Word文檔 縱橫頁面并存
      淺析ASP.NET頁面導(dǎo)航技術(shù)
      东乡族自治县| 加查县| 白城市| 正定县| 大埔区| 黎川县| 泰和县| 台中市| 彭州市| 万荣县| 广南县| 衡阳市| 太仆寺旗| 绍兴市| 靖远县| 沁阳市| 阿巴嘎旗| 蕉岭县| 岑巩县| 鹤山市| 金秀| 文水县| 前郭尔| 咸丰县| 大名县| 安丘市| 吴川市| 德格县| 惠安县| 安远县| 金秀| 南陵县| 石棉县| 郎溪县| 镇江市| 日土县| 金湖县| 佛坪县| 杭锦后旗| 进贤县| 满洲里市|