天天看點

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

  • 本文出自

    ELT.ZIP

    團隊,ELT<=>Elite(精英),.ZIP為壓縮格式,ELT.ZIP即壓縮精英。
  • 成員:
    • 上海工程技術大學大二在校生
    • 合肥師範學院大二在校生
    • 清華大學大二在校生
    • 成都資訊工程大學大一在校生
    • 黑龍江大學大一在校生
    • 山東大學大三在校生
    • 華南理工大學大一在校生
  • 我們是來自

    7個地方

    的同學,我們在

    OpenHarmony成長計劃啃論文俱樂部

    裡,與

    華為、軟通動力、潤和軟體、拓維資訊、深開鴻

    等公司一起,學習和研究

    作業系統技術

    ...

【往期回顧】

 ① 2月23日 《老子到此一遊系列》之 老子為什麼是老子 —— ++綜述視角解讀壓縮編碼++

 ② 3月11日 《老子到此一遊系列》之 老子帶你看懂這些風景 —— ++多元探秘通用無損壓縮++

 ③ 3月25日 《老子到此一遊系列》之 老子見證的滄海桑田 —— ++輕翻那些永垂不朽的詩篇++

 ④ 4月4日 《老子到此一遊系列》之 老子遊玩了一條河 —— ++細數生活中的壓縮點滴++

 ⑤ 4月18日 ++【ELT.ZIP】OpenHarmony啃論文俱樂部——一文穿透多媒體過往前沿++

 ⑥ 4月18日 ++【ELT.ZIP】OpenHarmony啃論文俱樂部——這些小風景你不應該錯過++

 ⑦ 4月18日 ++【ELT.ZIP】OpenHarmony啃論文俱樂部——淺析稀疏表示醫學圖像++

【本期看點】

  • 高速緩存與壓縮技術會碰撞出什麼火花呢?

  • 圖像、醫療、機器人、通信都在這裡了

  • 你可能少有聽說的TinyOS作業系統

  • 揭秘 3D 網格壓縮的三類方式

  • 殿堂級 WARP 寄存器壓縮技術

【技術DNA】

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

【智慧場景】

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

引言

  • 近年來,科學應用和社交媒體産生的資料量呈

    指數級增長

    ,僅靠記憶體系統資源的過度供應無法解決過量的資料處理需求。為了解決這樣的問題,采用

    記憶體級資料壓縮

    極其有必要,它可有效提高記憶體系統容量,且不會導緻大容量記憶體的規格 / 存儲開銷,可同時

    減小丢包率并提高帶寬使用率

    ,進而實作性能與能源效率的提高。是以目前,壓縮已被用于

    緩存和主存

  • 另外,壓縮還可減小應用程式占用空間和記憶體需求,可将記憶體中暫未使用的部分轉換為

    低功耗狀态

    ,以

    節省電源

    。降低了能耗與溫度,便緩解了對散熱的需求,為在相同功率和溫度限制下實作更強的性能提供了條件。
  • 随着智能手機的數量超過地球人口,多媒體app越來越普遍,在手機中采用壓縮算法勢在必行。

相關技術算法

名稱 備注
備援位寫删除技術(RBR) 計算輸入值與原始存儲值之間的位級差異,再應用壓縮獲得更高壓縮比
X-match 硬體壓縮算法 在記憶體資料包含頻繁的連續零時,顯著提高壓縮效率
頻繁值壓縮算法(FVC) 對頻繁值編碼實作壓縮,局限性是會遇到頻繁值出現機率降低的情況
頻繁模式壓縮算法(FPC) 掃描資料,對未完全利用其位容量的資料類型進行降級
基本增量即時壓縮算法(BDI) 低複雜度硬體實作、低解壓延遲

算法應用的體系架構

1. 緩存

什麼是緩存? 我們常在各種場合聽過、見過、說過這個詞,比如手機需要常常清除各種應用緩存垃圾以謀求更富餘的存儲空間、早年通訊網絡還不像現在如此發達的時候,人們為了有更好的觀影體驗,都會采取先提前把一兩個G的資源緩存下來的方式、文檔緩存保證了在發生意外斷電等情況時内容不會丢失...

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

諸如以上等類,可見,緩存是計算機體系中的

基礎部件

,保證了系統的正常運轉。然而,雖然都叫做緩存,但它們有時是名詞有時是動詞,實際意義不完全相同。

  • 緩存是通路速度比一般随機存取存儲器(RAM)更快的一種高速存儲器,通常不像系統主存那樣使用動态随機存取技術(DRAM),而使用昂貴但較快速的靜态随機存取技術(SRAM)。

那麼,我們也嘗嘗有聽說緩存又分為

一級緩存(*L1 Cache*)、二級緩存(*L2 Cache*)、三級緩存(*L3 Cache*)等

,它們的差別又是什麼呢?

  • 緩存是可以進行高速資料交換的存儲器,它

    先于記憶體和CPU交換資料

    ,是以速率很快。L1是CPU第一層高速緩存,内置的L1的容量和結構對CPU的性能

    影響較大

    ,但由于CPU管芯的面積不能做得太大,是以,L1的容量也不能做得很大。
  • L2是CPU第二層高速緩存,有内部和外部兩種晶片,内部晶片運作頻率與主頻相同,外部隻有主頻一半。
緊靠CPU的L1速度最高、容量最小,L2容量稍大,速度稍低。
【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花
  • LLC(last-level caches)即

    末級緩存

    ,是通常由晶片上所有功能單元( CPU 核心、IGP 和 DSP)共享的

    最進階别緩存

    ,它在降低系統能耗方面有着至關重要的作用。壓縮被廣泛用于增加磁盤存儲的容量,但它也可用于增加記憶體層次結構中每個級别的有效容量。研究針對緩存層次結構每個級别的緩存壓縮,可

    提高有效容量、減少丢包率,提高性能、降低能耗

    。緩存壓縮比記憶體中的其他層次結構更難,因為性能對緩存的延遲非常敏感,尤其是對于L1和L2。然而,随着多核系統開始擁有三級以上的多級緩存,對LLC延遲的敏感性降低,進而可以考慮更有效、延遲更長的壓縮算法。

DCC(解耦壓縮緩存)

  • 由于緩存

    内部的碎片化和有限的标簽特性

    ,傳統的緩存壓縮技術帶來的效果有限。是以,提出了解耦壓縮緩存(DCC),其利用空間局部性來提高緩存壓縮的性能和能耗效率,并且使用解耦的超級塊(也稱為扇區)與離散的子塊配置設定以減少标簽開銷,而不增加内部碎片。
  • 超級塊指的是共享一個位址标簽的四個對齊的連續緩存塊。超級塊中的每個64位元組塊被壓縮,然後壓縮成多個16位元組的子塊。為了減少超級塊内的碎片,DCC将

    位址标記解耦

    ,集合中的任何子塊都可以映射到該集合中的任何标記。解耦還允許塊的子塊是

    非連續的

    ,這消除了每當壓縮塊的大小改變時需要重新壓縮的開銷。是以,大體流程是:

    DCC使用超級塊——四個對其的連續緩存塊——減少标記開銷

    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花
與傳統的緩存壓縮技術相比,DCC将标準最大有效容量提高到了壓縮前的4倍,平均工作負載為2.2,與以前的緩存壓縮技術所需的區域開銷相當。而對其進一步優化得到的Co-DCC技術,通過将壓縮塊共同壓縮,更是将平均歸一化有效容量提高到了2.6.
  • 總體而言,與

    FixedC、VSC-2X

    等傳統緩存壓縮技術,DCC在相當的區域開銷基礎上實作了

    性能和能耗效益的翻一番

    ,Co-DCC進一步減少了運作時間與系統能耗,缺點是

    犧牲了額外的一些複雜度

    ,實驗測試結果簡單概括為以下幾點:
  1. DCC使用解耦的超級塊增加有效的标記數量,并具有較低開銷和較小的内部碎片
  2. DCC将壓縮資料存儲在離散的子塊中,消除了壓縮塊大小改變時重新壓縮的開銷
  3. Co-DCC通過将超級塊的塊壓縮到同一組子塊,進一步減少了内部碎片
  4. 平均來看,DCC和Co-DCC實作了比傳統緩存壓縮技術更有效的容量,而緩存所需的面積開銷分别僅增加了8%和18%
  5. Co-DCC可以較小複雜度具體內建到商業LLC設計中

2. 主存

主存就是記憶體,運作時系統資源實際加載到的位置。

嵌入式系統壓縮技術CRAMES

  • 在嵌入式系統設計過程中,記憶體是一種

    稀缺的資源

    。增加記憶體通常會增加

    包裝成本、冷卻成本、大小和功耗

    。是以,提出了一種新型的、高效的基于軟體的嵌入式系統

    RAM壓縮技術CRAMES

    。CRAMES的目标是在不改變硬體或應用程式設計的情況下顯著提高有效記憶體容量,同時保持高性能和低能耗。為了實作這一目标,CRAMES利用了作業系統的

    虛拟記憶體基礎設施

    ,以壓縮格式存儲交換出的頁面。它

    動态調整

    壓縮RAM區域的大小,保護能夠運作的應用程式免受性能或能耗的影響。除了壓縮工作資料集外,CRAMES還可以實作高效的RAM内檔案系統壓縮,進而進一步增加了RAM容量。
  • CRAMES被實作為Linux核心的一個

    可加載子產品

    ,并在一個電池驅動的嵌入式系統上進行了評估。實驗結果表明,CRAMES能夠将在原始系統硬體上運作的應用程式的RAM數量

    增加一倍

    。對于範圍廣泛的示例的執行時間和能耗很少受到影響。當實體RAM減少到其原始數量的62.5%,CRAMES使目标嵌入式系統支援相同的應用程式與合理的性能和能耗損失(平均9.5%和10.5%),而沒有CRAMES這些應用程式可能不執行或遭受極端的性能退化或不穩定。除了在嵌入式系統中提供了一個用于動态資料記憶體壓縮和RAM内檔案系統壓縮的新架構外,這項工作還确定了

    最适合用于低功耗嵌入式系統的基于軟體的壓縮算法

3. 緩存和主存

概念補充:緩存行

開始之前,我們先來了解下什麼是緩存行。

  • 我們知道,計算機不管是在存儲記憶體還是磁盤等結構中的資料時,通常都是習慣采用

    一塊一塊

    的形式進行存取,因為它是讀寫資料的

    最小機關

    ,這就類似于實體中的量子。當CPU通路某個資料時,會假設該資料附近的資料在以後都會被通路到。是以,第一次通路

    這塊區域

    時,會将該資料連同

    附近區域

    的資料(共64位元組)一起讀進緩存,那麼這一塊資料就被稱為緩存行(Cache Line)。
  • 緩存系統以緩存行為機關存儲,且目前主流的緩存行大小為

    64位元組

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

線性壓縮頁面(LCP)

  • 線性壓縮頁面(Linearly Compressed Pages, LCP)是一種

    主存壓縮架構

    ,它既不會造成壓縮的延遲損失,也不需要昂貴的硬體。LCP的含義是:如果頁面中的所有緩存行都被壓縮到

    相同的大小

    ,那麼壓縮頁面中的

    緩存行的位置

    就是頁面中

    緩存行的索引和壓縮緩存行的大小的乘積

    。通過遵循這樣的數學規律,我們便能大大減小在壓縮頁面時由于定位緩存行所需的計算量,并同時保證LCP在硬體上實作的簡單性。
    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花
  • LCP采用了頻繁模式壓縮(FPC)和基本增量即時壓縮(BDI)兩種算法。理論上任何壓縮算法都可以結合LCP使用,那為什麼偏偏采用它們呢? 原因是它們具有

    低複雜度的硬體實作和低解壓延遲

    ,進而使整體的

    複雜度最小化

    。然後,對LPC進行的相關基準測試表明:LCP可以顯著提高有效記憶體容量(平均提高69%)。另外,LCP在記憶體控制器和主存之間傳輸連續壓縮緩存行的過程中也有相當的效益,與不使用主存壓縮技術的基礎系統相比,其降低了CPU平均為46%、GPU平均為48%的記憶體帶寬需求,實作了單核、雙核、四核CPU分别為6.1%、13.9%、10.7%的平均工作負載,進而

    提高了整體性能

    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花
    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

4. 編譯器

基于ILP的存儲器能耗最小化技術

  • ILP全稱integer linear programming,即

    整數線性規劃

    。通過将每種技術都抽象為一個ILP的數學問題,再使用一個

    商用求解器進行求解

    ,可以有效

    降低存儲能耗

    。那麼,基于相關學者的實踐經驗,建議可以将其應用于

    編譯器

    ,進而可以考慮最佳的資料壓縮、複制和遷移方式。
  • 後續為純算法層面,這裡不再過多贅述。

5. 三維存儲系統技術

三維存儲器旨在克服二維存儲器在容量方面的限制,在不犧牲資料完整性的情況下擴充到更高的密度,進而實作更多的存儲容量。

3D NAND與L2高速緩存

  • 三維存儲器3D NAND,與2D NAND不同的是3D NAND使用

    多層垂直堆疊

    ,以實作`更高的密度,更低的功耗,更好的耐用性、更快的讀/寫速度以及更低的每千兆位元組成本·。
    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花
  • 使用3D堆疊的L2高速緩存結構與3D NAND的結構類似。其末級緩存中,使用壓縮和電源選通來

    節省洩漏能量

    。他們的技術跟蹤對每條高速緩存線的通路頻率。當高速緩存線在給定時間内未被通路時,它被認為是非使用的,是以被壓縮。其餘的線路被認為是經常使用的,不會被壓縮。此外,對未使用的高速緩存部分進行電源選通,以節省漏電能量。是以,壓縮技術可以在

    最小化頻繁通路的高速緩存線的解壓縮開銷,同時還可以通過壓縮冷高速緩存線來最大化節能

混合存儲立方體

  • 混合存儲立方體(HMC)設計是在邏輯晶片上執行DRAM的

    3D堆疊

    ,并使用矽通孔(TSV)作為不同層之間的互連。HMC的不同層之間可能會發生較大的溫度變化,使用基于節流的熱管理方案可能會導緻性能和效率降低。而資料壓縮可以解決這個問題,壓縮是在

    片上存儲控制器中執行

    的,而不是在HMC的邏輯管芯中執行,以避免壓縮的能量開銷對HMC的影響。讀/寫壓縮塊需要較少的突發操作,這

    降低了HMC内的能量消耗和最高溫度

    。此外,壓縮塊隻存儲在HMC的熱測試塊中以降低熱梯度。
    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

6. 非易失性存儲器技術

非揮發性存儲器,又稱

非易失性存儲器

,簡稱NVM,是指存儲器所存儲的資訊在電源關掉之後依然能

長時間存在,不易丢失

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

使用壓縮來減少對NVM記憶體的位寫入,并執行改進的損耗均衡,使用FPC算法來壓縮資料,不能壓縮的單詞以其未壓縮的形式寫入。在寫入操作期間,将新資料位與目前存儲的位進行比較,以僅寫入經修改的位;在讀通路時,如果資料值以壓縮的形式存儲,則将其解壓縮。

通過壓縮節省的額外空間被用于執行損耗均衡,使得壓縮的資料值被寫入到NVM數組中的字的相反側。這有助于實作通過将寫入均勻分布到NVM來實作損耗均衡。由這種技術實作的寫最小化和損耗均衡實作了

存儲器壽命的改善和寫等待時間/能量的減少

PCM存儲器

  • 相變存儲器,簡稱PCM,相變存儲器就是利用特殊材料在晶态和非晶态之間互相轉化時所表現出來的

    導電性差異來存儲資料

    的,是NVM的一種。
    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花
  • 基于壓縮的MLC/SLC(多/單層單元)混合PCM管理技術将MLC和SLC的優點結合在一起。該技術展現在以下方面:
  1. 一個2比特的MLC PCM可以在一個單元中存儲兩個比特,進而提供更高的容量(密度),但其通路延遲較高。
  2. 相比之下,SLC單元提供的容量較低,但讀/寫通路速度也比MLC快近四倍。
  3. 該技術對資料進行壓縮,當資料可以壓縮到50%以下時,它可以放在同一個單元中,但使用SLC模式,是以提供了更高的性能。
  4. 當資料不能壓縮到50%以下時,以MLC模式存儲,代價是通路速度慢。該技術在名義上将PCM空間重新配置為SLC或MLC模式,是以不需要任何剖析或位址重新映射。

DRAM-PCM混合主存儲器

  • 由于PCM具有較低的寫入耐久性和寫入消耗較大的延遲/能量,研究人員提出了DRAM-PCM混合主存儲器,其中

    DRAM用作PCM主存儲器的高速緩存

    。在混合存儲系統中使用壓縮來提高DRAM的有效容量。
  • 在寫通路時,該技術從PCM讀取現有資料,并

    計算新資料和現有資料之間的內插補點

    。然後,該內插補點被壓縮并存儲在DRAM中。該方法在壓縮前将未修改的資料比特轉換為零,是以通常提供高壓縮比。這種增量壓縮方法的權衡在于,在嘗試減少PCM寫入時,會引入額外的PCM讀取。DRAM本身被動态地劃分為

    壓縮區域和未壓縮區域

    。隻有

    頻繁修改的資料儲存在壓縮區域中,而性能關鍵的資料塊儲存在未壓縮區域中

    ,以避免(解)壓縮的延遲。
  • 該壓縮技術技術同時可以分為兩個工作階段:
  1. 在第一階段,使用一種算法在“字級别”壓縮資料,該算法計算塊的連續字之間的差異,如果它們相同,則隻存儲單個比特。此階段可優化DRAM緩存通路并減少PCM通路次數。
  2. 在第二階段,使用FPC算法在‘比特級’執行壓縮,這進一步減少了PCM通路的次數。

7. GPU壓縮技術

圖形處理器(英語:graphics processing unit,縮寫:GPU),又稱

顯示核心、視覺處理器、顯示晶片

,是一種專門在個人電腦、工作站、遊戲機和一些移動裝置(如平闆電腦、智能手機等)上做

圖像和圖形相關運算工作的微處理器

GPU使顯示卡減少了對CPU的依賴,并進行部分原本CPU的工作,尤其是在3D圖形處理時GPU所采用的核心技術有硬體T&L(幾何轉換和光照處理)、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而

硬體T&L技術可以說是GPU的标志

。GPU的生産商主要有NVIDIA和ATI。

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

硬體線程加速技術

  • 由于主記憶體或資料依賴導緻停頓等瓶頸,GPU資源并未得到充分利用。這提供了

    建立硬體線程

    的機會,這些硬體線程通過執行有用的工作來加速主(正常)線程。該技術生成這樣的線程并管理它們的執行。這些“輔助器”的排程和執行由硬體完成,資源(例如寄存器堆)的配置設定由編譯器完成。為了緩解記憶體帶寬瓶頸,輔助扭曲

    在寫入記憶體之前對緩存塊進行壓縮

    ,并在将它們放入緩存和寄存器之前對它們進行解壓縮。由于它們的資料模式不同,不同的工作負載受益于不同的壓縮算法,是以,它們的技術

    允許使用不同的輔助扭曲來實作不同的算法

    。與純硬體實作的壓縮相比,該方法

    使用了現有的未充分利用的資源,不需要額外的專用資源

    。此外,壓縮僅用于帶寬受限的工作負載(使用靜态簡檔識别),因為壓縮對于計算資源受限的工作負載是無益的,甚至可能由于輔助翹曲開銷而損害其性能。

WARP級寄存器壓縮技術

  • 在GPU中最小的硬體單元是SP(這個術語通常使用thread來代替),而硬體上一個SM中的所有SP在實體上是分成了幾個WARP(每一個WARP包含一些thread),WARP中的SP是可以同時工作的,但是執行相同的指令。
    【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花
  • GPU使用大型寄存器堆(RF)來

    儲存并發執行上下文

    ,然而,這也使得RFS的功耗占GPU功耗的很大一部分。由于GPU WARP中的所有線程都執行相同的指令,是以寄存器堆(RF)通路也發生在WARP單元中。WARP中的線程是使用

    線程索引

    來識别的,是以,依賴于線程索引的計算對顯示出很強的值相似性的寄存器資料進行操作。是以,

    在WARP内,兩個連續線程寄存器之間的算術差異很小

  • 在此基礎上,提出了一種利用BDI算法進行資料壓縮的WARP級寄存器壓縮技術。GPU已經将RF組織成組,在其技術中,

    選擇單個寄存器或單個寄存器組作為BDI算法的基準值計算剩餘寄存器或存儲體的Delta值

    。寄存器值的壓縮允許在每次WARP級寄存器通路上激活更少的寄存器組,這

    降低了動态能量

    。此外,由于寄存器内容可以儲存在更少的存儲體中,是以可以對未使用的存儲體進行電源選通,以節省洩漏能量。是以,這種技術

    節省了GPU的電量

8. 帶寬壓縮技術

帶寬壓縮技術在允許進行多核擴充方面非常有成效。

假設晶片區域被劃分為若幹個CEA(核等效區),其中一個CEA等于一個處理器核及其一級緩存所占用的面積。

假設一個具有8個核和8個CEA的基準系統,估算在記憶體通信量相對于基準系統保持恒定的限制下,具有32個CEA的下一代處理器可以支援的核數。

  • 在沒有緩存壓縮的情況下,隻能支援11核;
  • 相比之下,對于1.3倍、2.0倍和3.0倍的壓縮比,單獨使用緩存壓縮可以分别支援11、13和14核,同時使用連結和緩存壓縮可以分别支援13、18和24核。

這表明壓縮技術在允許進行多核擴充方面可以非常有效。

【ELT.ZIP】OpenHarmony啃論文俱樂部——點燃主緩存壓縮技術火花

9. 實際處理器中的技術

Linux

  • Linux 核心提供 zswap 作為一種用于

    存儲交換頁面的虛拟記憶體壓縮方法

  • 當要換出記憶體頁面時,zswap 不會将其移動到交換裝置(例如磁盤),而是

    将頁面壓縮并将其存儲在系統 RAM 中動态配置設定的記憶體池中

    。是以,zswapp 提供了一個

    壓縮的回寫緩存功能

    。隻有當 RAM 空間不足時,LRU(最近最少使用)頁面才會被逐出并移動到交換裝置。這會延遲甚至可能避免回寫到交換裝置,進而

    顯著降低系統的 I/O 開銷

IBM

  • IBM 的主動記憶體擴充 (AME) 技術使用壓縮方法來擴充 POWER7 系統的記憶體容量。
  • AME 可以減少邏輯分區 (LPAR) 的實體記憶體需求,進而允許在單個系統中整合多個邏輯分區。 AME 還可用于增加 LPAR 的有效記憶體容量,而無需增加其使用的實體記憶體。可以有選擇地為系統上的一個或多個 LPAR 啟用 AME。壓縮 LPAR 的一部分記憶體會導緻形成兩個池,即一個壓縮池和一個未壓縮池,它們的大小是根據工作負載要求來控制的。

Apple OS X

  • Apple OS X 提供了“壓縮記憶體”方法,它對不活動或最不重要的應用程式進行壓縮以釋放記憶體空間。對于壓縮,使用 WKdm 壓縮算法 。壓縮記憶體功能

    對于使用 SSD(固态驅動器)存儲的移動産品特别有用

    。與将資料交換到磁盤的替代方案會産生大量的處理器和磁盤開銷相比,壓縮會導緻更小的延遲并通過允許處理器和磁盤更頻繁地斷電來減少電池消耗。壓縮記憶體功能也可以在頂部的虛拟記憶體,并且可以受益于多核上的并行處理以實作高性能。

參考文獻

[1] J. Park,J. Jung, K. Yi,and C.-M. Kyung, “Static energyminimization of 3D stacked L2 cache with selective cachecompression,” inInternationalConferenceonVeryLargeScaleIntegration(VLSI-SoC), 2013, pp. 228–233.

[2] J.-S. Lee, W.-K. Hong, and S.-D. Kim, “Design and evaluationof a selective compressed memory system,” inInternationalConferenceon ComputerDesign (ICCD), 1999, pp. 184–191.

[3] M. J. Khurshid and M. Lipasti, “Data compression for ther-mal mitigation in the Hybrid Memory Cube,” inInternationalConferenceon ComputerDesign (ICCD), 2013, pp. 185–192.

[4] J. Kong and H. Zhou, “Improving privacy and lifetime ofPCM-based main memory,” inInternationalConferenceonDe-pendableSystems and Networks (DSN), 2010, pp. 333–342.[18] A. R. Alameldeen and D. A. Wood, “Adaptive cache com-pression for high-performance processors,” inISCA, 2004, pp.212–223.

[5] E. G. Hallnor and S. K. Reinhardt, “A unified compressedmemory hierarchy,” inHPCA, 2005, pp. 201–212.

[6] F. Douglis, “The compression cache: Using on-line compres-sion to extend physical memory.” inUSENIXWinterConfer-ence, 1993, pp. 519–529.

[7] J.-S. Lee, W.-K. Hong, and S.-D. Kim, “Design and evaluationof a selective compressed memory system,” inInternationalConferenceon ComputerDesign (ICCD), 1999, pp. 184–191.

[8] B. Abali, H. Franke, D. E. Poff, R. Saccone, C. O. Schulz,L. M. Herger, and T. B. Smith, “Memory expansion technology(MXT): software support and performance,”IBMJournalofResearch and Development, vol. 45, no. 2, pp. 287–301, 2001.

[9] G. Pekhimenko, V. Seshadri, Y. Kim, H. Xin, O. Mutlu, P. B.Gibbons, M. A. Kozuch, and T. C. Mowry, “Linearly com-pressed pages: A low-complexity, low-latency main memorycompression framework,” inMICRO, 2013, pp. 172–184.

[10] N. Kim, T. Austin, and T. Mudge, “Low-energy data cacheusing sign compression and cache line bisection,” in2ndAnnual Workshop onMemory Performance Issues (WMPI), 2002.

[11] J.-S. Lee, W.-K. Hong, and S.-D. Kim, “An on-chip cachecompression technique to reduce decompression overhead anddesign complexity,”JournalofsystemsArchitecture, vol. 46,no. 15, pp. 1365–1382, 2000.

[12] S. Mittal, J. S. Vetter, and D. Li, “A Survey Of Architectural Ap-proaches for Managing Embedded DRAM and Non-volatileOn-chip Caches,”IEEE TPDS, 2014.

[13 圖形處理器_百度百科]

[14] Yang L, Dick R P, Lekatsas H, et al. Online memory compression for embedded systems[J]. ACM Transactions on Embedded Computing Systems (TECS), 2010, 9(3): 1-30.

[15] Pekhimenko G, Mowry T C, Mutlu O. Linearly compressed pages: A main memory compression framework with low complexity and low latency[C]//2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT). IEEE, 2012: 489-489.

[16] Ozturk O, Kandemir M. ILP-Based energy minimization techniques for banked memories[J]. ACM Transactions on Design Automation of Electronic Systems (TODAES), 2008, 13(3): 1-40.

附件連結:https://ost.51cto.com/resource/1901