国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

近似存儲(chǔ)技術(shù)綜述

2018-09-21 03:26:06劉人萍任津廷陳咸彰
關(guān)鍵詞:存儲(chǔ)技術(shù)存儲(chǔ)器質(zhì)量

吳 宇 楊 涓 劉人萍 任津廷 陳咸彰,2 石 亮 劉 鐸

1(重慶大學(xué)計(jì)算機(jī)學(xué)院 重慶 400044) 2 (重慶大學(xué)通信學(xué)院 重慶 400044) (wuyucqu@163.com)

隨著云計(jì)算與物聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展,Dennard縮放定律[1]及Moore定律帶來的功耗與性能優(yōu)化逐漸難以滿足新興應(yīng)用對(duì)計(jì)算機(jī)系統(tǒng)性能與功耗不斷增長的需求.同時(shí),物聯(lián)網(wǎng)等新興應(yīng)用產(chǎn)生的信息量呈指數(shù)型增長趨勢(shì),使得計(jì)算機(jī)需要存儲(chǔ)爆炸增長的數(shù)據(jù),對(duì)存儲(chǔ)系統(tǒng)的性能、功耗和可用存儲(chǔ)資源帶來巨大的挑戰(zhàn).

為了解決存儲(chǔ)領(lǐng)域面臨的資源短缺問題,Google、微軟和阿里巴巴等大規(guī)模數(shù)據(jù)密集型企業(yè)建立配備有數(shù)千臺(tái)高性能服務(wù)器的大型數(shù)據(jù)中心.然而,大型數(shù)據(jù)中心能耗極高,每年需耗費(fèi)上千億千瓦時(shí)電量,服務(wù)器數(shù)量的增長率僅為數(shù)據(jù)量增長率的五分之一[2],簡單地?cái)U(kuò)大存儲(chǔ)規(guī)模不能解決存儲(chǔ)資源緊張問題.此外,現(xiàn)代計(jì)算機(jī)系統(tǒng)的處理器通過多核并行計(jì)算的方式,理論上能以指數(shù)提高計(jì)算效率,然而存儲(chǔ)器訪問數(shù)據(jù)的物理極限導(dǎo)致并行計(jì)算的效率不能以指數(shù)提升[3].資源過度配置的傳統(tǒng)方法不能有效地解決計(jì)算機(jī)存儲(chǔ)資源緊張的問題.因此,空間開銷大、能耗高、訪問性能低已成為存儲(chǔ)領(lǐng)域面臨的巨大挑戰(zhàn).

近似存儲(chǔ)技術(shù)作為緩解存儲(chǔ)難題的一個(gè)重要途徑,近年來受到越來越多的關(guān)注.作為近似計(jì)算的子領(lǐng)域,近似存儲(chǔ)嚴(yán)格遵循近似計(jì)算犧牲輸出質(zhì)量以換取高性能的思想.與傳統(tǒng)的精確存儲(chǔ)數(shù)據(jù)技術(shù)不同,近似存儲(chǔ)技術(shù)利用應(yīng)用程序固有的容錯(cuò)特性,通過近似存儲(chǔ)數(shù)據(jù)或讀取近似數(shù)據(jù)的方式,在滿足用戶需求的條件下降低應(yīng)用的輸出質(zhì)量,從而減少存儲(chǔ)空間開銷、提升訪問效率和降低存儲(chǔ)能耗的優(yōu)勢(shì).

當(dāng)前廣泛使用的大量應(yīng)用,如圖像渲染、信號(hào)處理、增強(qiáng)現(xiàn)實(shí)、數(shù)據(jù)挖掘、語言識(shí)別、多媒體處理、機(jī)器學(xué)習(xí)和傳感數(shù)據(jù)分析等,對(duì)不精確的輸出具有內(nèi)在容忍度[4-9],用戶可以接受降低一定質(zhì)量的輸出結(jié)果.因此,計(jì)算機(jī)系統(tǒng)可以針對(duì)這些應(yīng)用使用近似存儲(chǔ)技術(shù),獲取性能、能耗、存儲(chǔ)壽命等方面的優(yōu)化.

近似存儲(chǔ)技術(shù)是近年來存儲(chǔ)相關(guān)工作的研究重點(diǎn),將近似應(yīng)用于程序運(yùn)行的存儲(chǔ)階段能提升存儲(chǔ)訪問效率、增大存儲(chǔ)容量、降低存儲(chǔ)能耗,未來可能成為解決存儲(chǔ)領(lǐng)域難題的必要手段.

1 近似存儲(chǔ)技術(shù)的研究背景

1.1 近似存儲(chǔ)的定義

近似存儲(chǔ)作為一種解決存儲(chǔ)資源緊張的必要技術(shù),利用應(yīng)用程序固有的對(duì)不精確輸出的容錯(cuò)特性,通過近似存儲(chǔ)數(shù)據(jù)或讀取近似數(shù)據(jù)的方式,權(quán)衡輸出結(jié)果精確度和應(yīng)用性能,以在滿足用戶需求的同時(shí)提升性能和能效.

近似存儲(chǔ)是近似計(jì)算的子領(lǐng)域,近似計(jì)算的思想是通過降低輸出質(zhì)量以獲取應(yīng)用的高性能,降低輸出質(zhì)量的方式是通過改變程序運(yùn)行過程中的計(jì)算模式,而近似存儲(chǔ)是只針對(duì)計(jì)算模式中與存儲(chǔ)相關(guān)的部分,包括數(shù)據(jù)的存儲(chǔ)與讀取.目前,針對(duì)近似技術(shù)的研究大多不是只針對(duì)存儲(chǔ),但有相當(dāng)一部分研究涉及到近似存儲(chǔ),本文主要針對(duì)涉及存儲(chǔ)并非只針對(duì)存儲(chǔ)的近似技術(shù)作介紹.

Fig.1 Differences of accurate and approximate storage圖1 精確存儲(chǔ)與近似存儲(chǔ)方式差異

圖1展示了近似存儲(chǔ)技術(shù)與傳統(tǒng)存儲(chǔ)技術(shù)的差異.從應(yīng)用領(lǐng)域看,近似存儲(chǔ)技術(shù)只適用于容錯(cuò)應(yīng)用,而傳統(tǒng)存儲(chǔ)使用于容錯(cuò)應(yīng)用和精確應(yīng)用;從數(shù)據(jù)的處理方式看,近似存儲(chǔ)可以近似地緩存數(shù)據(jù)或者從內(nèi)存近似加載指令,傳統(tǒng)存儲(chǔ)只能緩存精確的數(shù)據(jù);從數(shù)據(jù)的存儲(chǔ)方式看,近似存儲(chǔ)可以在主存和外存中存儲(chǔ)近似數(shù)據(jù),而傳統(tǒng)存儲(chǔ)必須存儲(chǔ)精確的數(shù)據(jù).

近似存儲(chǔ)最根本的因素是應(yīng)用程序能容忍不精確的輸出.諸如數(shù)字信號(hào)處理,圖像、音頻和視頻處理,無線通信,網(wǎng)絡(luò)搜索和數(shù)據(jù)分析等應(yīng)用在識(shí)別、挖掘和合成(mining and synthesis, RMS)[10]等新興應(yīng)用領(lǐng)域都能容忍不精確質(zhì)量的輸出.近似存儲(chǔ)技術(shù)的應(yīng)用領(lǐng)域如表1所示.近似存儲(chǔ)具有無限潛力,推動(dòng)計(jì)算的發(fā)展以適應(yīng)信息高速增長的變化.利用應(yīng)用程序的容錯(cuò)性質(zhì)提升性能、節(jié)省能源,緩解存儲(chǔ)資源緊張的難題.

Table 1 Approximate Storage Technology Applications表1 近似存儲(chǔ)技術(shù)應(yīng)用領(lǐng)域

應(yīng)用程序內(nèi)在的容錯(cuò)因素來源于2個(gè)方面:1)應(yīng)用程序的數(shù)據(jù)集存在顯著的噪聲和冗余[4,26-27].現(xiàn)實(shí)世界紛繁復(fù)雜、大量重復(fù)的信息以及通過傳感器等不精確器件采集數(shù)據(jù)都導(dǎo)致輸入數(shù)據(jù)集冗余.在輸入數(shù)據(jù)存在噪聲和冗余的情況下,精確計(jì)算與存儲(chǔ)得到的結(jié)果本質(zhì)上是非精確的,同時(shí)浪費(fèi)大量的資源.2)程序本質(zhì)的計(jì)算模式,如統(tǒng)計(jì)聚合、迭代改進(jìn)等會(huì)衰減或糾正由近似引起的誤差[4].

1.2 近似存儲(chǔ)的發(fā)展動(dòng)力

近似存儲(chǔ)犧牲了應(yīng)用輸出結(jié)果的精度,與傳統(tǒng)的追求高精度輸出結(jié)果的觀點(diǎn)相悖,但是近似存儲(chǔ)仍然作為一種新興的技術(shù)在存儲(chǔ)領(lǐng)域快速發(fā)展,并越來越受到關(guān)注.近似存儲(chǔ)的發(fā)展動(dòng)力主要體現(xiàn)在4個(gè)方面:

1) 海量數(shù)據(jù)存在大量冗余.從移動(dòng)設(shè)備到數(shù)據(jù)中心,數(shù)據(jù)量不斷增長,所需的存儲(chǔ)資源不斷增加,但是存儲(chǔ)資源的增長速度不能與信息的增長速度相提并論.這些爆炸式增長的數(shù)據(jù)存在大量冗余,極大地浪費(fèi)了緊缺的存儲(chǔ)資源.如何在不增加存儲(chǔ)資源的情況下,利用有限的存儲(chǔ)資源存儲(chǔ)更多的數(shù)據(jù)被越來越多的研究人員所關(guān)注.利用近似存儲(chǔ)可以有效地解決數(shù)據(jù)冗余,提升存儲(chǔ)空間的利用率.

2) I/O瓶頸問題有待解決.簡單地增加存儲(chǔ)器資源不能從根本解決存儲(chǔ)資源緊張的問題,反而會(huì)由于存儲(chǔ)器容量的增加,加大整體的能耗.且在計(jì)算能力與需求不斷提高的現(xiàn)狀下,處理器與存儲(chǔ)器之間的性能差距也越來越大,I/O瓶頸問題也越來越嚴(yán)重.利用近似存儲(chǔ)可以減小存儲(chǔ)器帶寬與處理器帶寬的差距.

3) 存儲(chǔ)器件需要更高的穩(wěn)定性.深入到存儲(chǔ)器內(nèi)部,隨著半導(dǎo)體技術(shù)進(jìn)入納米級(jí)別,電路集成度不斷提高,電路集成度越高越容易受到環(huán)境的影響.alpha粒子、宇宙射線的照射等環(huán)境是造成瞬時(shí)故障的主要原因,據(jù)統(tǒng)計(jì),存儲(chǔ)系統(tǒng)中發(fā)生的故障98%都是瞬時(shí)故障[28].電路對(duì)具有先進(jìn)技術(shù)節(jié)點(diǎn)的參數(shù)變化和故障敏感度會(huì)隨著電路集成度的增加而增加,傳統(tǒng)的無故障計(jì)算為實(shí)現(xiàn)容錯(cuò)和糾錯(cuò)需要在不同級(jí)別的層次上設(shè)計(jì)保護(hù)帶和冗余,浪費(fèi)了大量的能源[26].因此可以通過近似存儲(chǔ)技術(shù)降低數(shù)據(jù)精度要求,節(jié)約能源,獲得性能的提升.

4) 用戶能容忍不精確輸出.對(duì)用戶而言,由于人類感知能力有限,完全精確和近似精確的計(jì)算結(jié)果可能沒有任何差異.例如有損壓縮利用人類對(duì)圖像或聲波中的某些頻率成分不敏感的特性,允許壓縮過程中損失一定的信息;視頻播放過程中某一特定幀的丟失可能不會(huì)被用戶發(fā)現(xiàn).沒有唯一的黃金輸出的限制,對(duì)應(yīng)用的改進(jìn)提供了動(dòng)力.與人類感官相關(guān)的應(yīng)用,放松精度的限制,提供足夠精確的結(jié)果而不是絕對(duì)精確的結(jié)果,對(duì)性能的提升非常必要.用戶的關(guān)注重點(diǎn)不一定是應(yīng)用程序的精確度,如智能手機(jī)、平板電腦等常用的日常設(shè)備,人們對(duì)電池的續(xù)航時(shí)間的關(guān)心通常會(huì)超過對(duì)某一應(yīng)用程序的精確度.

2 近似存儲(chǔ)概述

近似存儲(chǔ)作為近似計(jì)算的分支領(lǐng)域,其一般過程與近似計(jì)算的一般過程[26]相似,可分為3個(gè)階段:近似區(qū)域識(shí)別[29]、執(zhí)行近似存儲(chǔ)操作、評(píng)估近似輸出質(zhì)量.近似存儲(chǔ)作為一種能有效解決存儲(chǔ)資源緊張的關(guān)鍵技術(shù),并非適用于所有的存儲(chǔ)數(shù)據(jù).本節(jié)將簡要介紹近似存儲(chǔ)的一般過程和近似存儲(chǔ)的重要前提,即近似區(qū)域識(shí)別,并簡要總結(jié)近似存儲(chǔ)及近似計(jì)算的相關(guān)技術(shù).

2.1 近似存儲(chǔ)的一般過程

近似存儲(chǔ)作為近似計(jì)算的一個(gè)分支,其過程與近似計(jì)算的過程類似,可以分為3個(gè)階段,如圖2所示.識(shí)別可近似區(qū)域并標(biāo)識(shí)可近似代碼段是近似存儲(chǔ)的前提,對(duì)近似區(qū)域數(shù)據(jù)執(zhí)行近似存儲(chǔ)操作是核心,控制與評(píng)估輸出質(zhì)量是對(duì)近似存儲(chǔ)方案的可靠性保證.本節(jié)將介紹近似存儲(chǔ)一般意義上的3個(gè)階段,并對(duì)涉及的相關(guān)技術(shù)作簡單總結(jié).

Fig.2 The process of approximate storage圖2 近似存儲(chǔ)的一般過程

表2分別對(duì)近似區(qū)域識(shí)別技術(shù)、近似存儲(chǔ)技術(shù)、近似計(jì)算技術(shù)、質(zhì)量控制與評(píng)估方案作總結(jié).近似區(qū)域識(shí)別總結(jié)了具有代表性的一些技術(shù),無論近似計(jì)算還是近似存儲(chǔ),都需要先識(shí)別近似區(qū)域,表2中介紹的技術(shù)基本適用于近似存儲(chǔ);近似存儲(chǔ)總結(jié)近似計(jì)算中與涉及到存儲(chǔ)的技術(shù),表2中所列舉的技術(shù)有的是部分涉及存儲(chǔ),如文獻(xiàn)[16,24,30]等都不只是針對(duì)存儲(chǔ)作近似;近似計(jì)算列舉一些與存儲(chǔ)關(guān)聯(lián)

Table 2 Approximate Storage Related Technique Summary表2 近似存儲(chǔ)相關(guān)技術(shù)總結(jié)

較小甚至不涉及存儲(chǔ)的近似技術(shù),近似存儲(chǔ)作為近似計(jì)算的小部分,涉及的技術(shù)遠(yuǎn)少于近似計(jì)算,這部分內(nèi)容擴(kuò)展對(duì)近似存儲(chǔ)的認(rèn)識(shí),不作過多介紹;質(zhì)量控制與評(píng)估總結(jié)一些具有一定通用性的評(píng)估方案,表2中所列舉的評(píng)估方案都不是只針對(duì)近似存儲(chǔ),一般來說更適用于近似計(jì)算,通常這些近似計(jì)算中涉及到存儲(chǔ)方面的近似工作.

1) 識(shí)別近似區(qū)域.識(shí)別近似區(qū)域代碼段是近似存儲(chǔ)技術(shù)的必要前提.應(yīng)用程序的代碼段,并非都能作近似處理,因此需要標(biāo)識(shí)近似代碼段,然后對(duì)其執(zhí)行近似存儲(chǔ)操作.近似區(qū)域代碼通常有2個(gè)特征:①代碼段能容忍錯(cuò)誤,因?yàn)榫哂腥蒎e(cuò)特性的近似代碼段在執(zhí)行近似操作后輸出質(zhì)量降低不明顯;②代碼段的執(zhí)行頻率高,一般地說,高頻執(zhí)行的代碼占整體開銷的比重大,近似存儲(chǔ)能提升程序的整體性能并減少程序運(yùn)行的整體開銷.將在2.2節(jié)詳細(xì)地介紹近似區(qū)域識(shí)別技術(shù).

2) 執(zhí)行近似存儲(chǔ)操作.近似存儲(chǔ)技術(shù)使可近似代碼段能近似存儲(chǔ)或從存儲(chǔ)器獲取近似數(shù)據(jù).程序執(zhí)行過程中,存儲(chǔ)操作占據(jù)大部分開銷,通過近似存儲(chǔ),達(dá)到減少能耗、節(jié)約資源、提高效率的目的.雖然識(shí)別可近似代碼段有額外開銷,但通過近似存儲(chǔ)能有效地減少大量開銷,從而在整體上降低能耗.將在第3節(jié)更詳細(xì)地介紹近似存儲(chǔ)技術(shù).

3) 控制與評(píng)估輸出質(zhì)量.近似存儲(chǔ)的方法本質(zhì)上是通過降低質(zhì)量來換取更高的效率和更少的資源消耗,因此必須控制與評(píng)估近似輸出結(jié)果,確定輸出質(zhì)量是否可接受.輸出質(zhì)量的評(píng)估標(biāo)準(zhǔn)有2種:①由開發(fā)人員直接指定輸出質(zhì)量閾值,這比較簡便;②被終端用戶可接受的輸出.實(shí)現(xiàn)第2個(gè)評(píng)估標(biāo)準(zhǔn)具有挑戰(zhàn)性,因?yàn)椴煌挠脩魧?duì)輸出質(zhì)量的標(biāo)準(zhǔn)不同,因此難以確定統(tǒng)一的輸出質(zhì)量閾值.

實(shí)際上并非所有的近似存儲(chǔ)或近似計(jì)算過程都嚴(yán)格按照以上流程實(shí)現(xiàn),但所有近似計(jì)算和近似存儲(chǔ)都必須經(jīng)歷以上過程.有的近似計(jì)算方案在執(zhí)行近似操作的過程中監(jiān)視輸出質(zhì)量,并不斷回滾來調(diào)整輸出質(zhì)量,如SAGE[46]、動(dòng)態(tài)工作度量DES[47];上述使用故障注入方法識(shí)別近似區(qū)域的近似計(jì)算,在確定近似區(qū)域代碼段時(shí)候直接根據(jù)輸出質(zhì)量決定.而SNNAP[48],Neuralizer[49],BRAINIAC[50],Precimonious[53]和專用SAGE靜態(tài)編譯器[46]等近似計(jì)算技術(shù)都遵循上述流程.文獻(xiàn)[64]中的近似存儲(chǔ)方法也遵循上述流程,該方法為可近似的數(shù)據(jù)設(shè)計(jì)近似內(nèi)存,通過維護(hù)故障映射表,將近似數(shù)據(jù)映射到近似內(nèi)存執(zhí)行.表2列舉了近似存儲(chǔ)的相關(guān)技術(shù),包括近似區(qū)域的識(shí)別、質(zhì)量控制與評(píng)估、近似存儲(chǔ)技術(shù)與近似計(jì)算技術(shù).將在第3節(jié)更詳細(xì)地介紹近似存儲(chǔ)技術(shù).

2.2 近似區(qū)域的識(shí)別

作為近似計(jì)算的重要分支,近似存儲(chǔ)的一個(gè)重要步驟也是對(duì)近似區(qū)域的識(shí)別.即便是可近似的應(yīng)用程序,也存在某些程序段在執(zhí)行近似操作后導(dǎo)致應(yīng)用輸出存在較大誤差,產(chǎn)生用戶無法接受的結(jié)果.所以,近似存儲(chǔ)的一個(gè)關(guān)鍵問題是要安全地區(qū)分可近似代碼段與不可近似碼段,保證只對(duì)可近似代碼區(qū)域執(zhí)行近似存儲(chǔ)操作.識(shí)別近似區(qū)域有2種方法[26,65],即故障注入與程序分析.不同的近似存儲(chǔ)技術(shù)應(yīng)根據(jù)需求,選擇合適的近似區(qū)域識(shí)別方法標(biāo)識(shí)可近似代碼段.

2.2.1 故障注入

故障注入,即向原始程序注入故障,觀察注入故障后對(duì)程序運(yùn)行時(shí)的影響,注入故障后,不會(huì)導(dǎo)致程序崩潰或運(yùn)算結(jié)果出錯(cuò)的代碼段標(biāo)識(shí)為可近似的.故障注入的方法具有一般性,但耗時(shí)較長,它先向原始程序注入故障,然后觀察它對(duì)程序執(zhí)行結(jié)果的影響.注入的故障覆蓋范圍越廣、故障類型越多,分析得到的彈性代碼段越精確.故障注入的方法經(jīng)歷了3個(gè)階段:

1) 隨機(jī)故障注入.Li等人提出的故障注入方法[6]向3個(gè)硬件結(jié)構(gòu),即物理寄存器文件、獲取隊(duì)列和問題隊(duì)列,隨機(jī)注入故障.

2) 代表性故障注入.Chippa等人提出的ARC[4]框架選擇具有代表性的指令進(jìn)行故障注入實(shí)驗(yàn),描述近似代碼段的特征.

3) 等價(jià)類故障注入.Relyzer[31]方法與ARC不同,僅針對(duì)等價(jià)類錯(cuò)誤進(jìn)行故障注入,對(duì)那些檢測(cè)到故障與輸出結(jié)果為無聲數(shù)據(jù)損壞(silent data corrup-tion, SDC)的代碼段又利用靜態(tài)和動(dòng)態(tài)的控制流和數(shù)據(jù)流啟發(fā)式方法捕獲到不同指令類型的相似故障,把它們歸為等價(jià)類.Venkatagiri等人在Relyzer基礎(chǔ)上提出了Approxilyzer[32],關(guān)注所有高精度動(dòng)態(tài)指令的1位錯(cuò)誤對(duì)輸出結(jié)果的影響.

2.2.2 程序分析

程序分析,一般是根據(jù)程序的語法和語義,通過觀察與分析,找到程序的可近似區(qū)域代碼.相對(duì)于故障注入,程序分析雖然不具備一般性,但是效率更高,如Feng等人提出的Shoestring[33],Cong等人[34]和Sampson等人[35]提出的程序分析方法.文獻(xiàn)[34]中的程序分析方法無法分析所有的系統(tǒng)故障,文獻(xiàn)[35]中的方法只針對(duì)Java語言.

2.3 質(zhì)量控制與評(píng)估

近似存儲(chǔ)的方法通過降低質(zhì)量以換取更高的效率和更少的能耗,然而質(zhì)量不可能無限制地降低,因此必須控制與評(píng)估近似輸出結(jié)果的質(zhì)量,確定輸出質(zhì)量是否可接受.

輸出質(zhì)量的控制與評(píng)估很少有通用的設(shè)計(jì)方案,一般地說,評(píng)估工作與近似存儲(chǔ)技術(shù)緊密相關(guān),無論是近似計(jì)算還是近似存儲(chǔ),都根據(jù)需求設(shè)計(jì)相應(yīng)的評(píng)估方案.動(dòng)態(tài)的輸出質(zhì)量控制方案在程序執(zhí)行過程中監(jiān)視輸出質(zhì)量,并不斷回滾來調(diào)整輸出質(zhì)量,如SAGE[46]、動(dòng)態(tài)工作度量DES[48]等.

輸出質(zhì)量的評(píng)估標(biāo)準(zhǔn)有2種:1)由開發(fā)人員直接指定輸出質(zhì)量閾值,這比較簡便,本文列舉的近似存儲(chǔ)技術(shù)基本都是采用這種方案;2)被終端用戶可接受的輸出,AxGames[66]是一種通用的評(píng)估用戶可接受質(zhì)量損失閾值的方案.實(shí)現(xiàn)第2個(gè)評(píng)估標(biāo)準(zhǔn)具有挑戰(zhàn)性,因?yàn)椴煌挠脩魧?duì)輸出質(zhì)量的標(biāo)準(zhǔn)不同,因此難以確定統(tǒng)一的輸出質(zhì)量閾值.

3 近似存儲(chǔ)技術(shù)

近似存儲(chǔ)技術(shù)通過少量降低程序執(zhí)行的質(zhì)量,達(dá)到提高存儲(chǔ)訪問性能、減少空間開銷或降低能耗的目的.現(xiàn)有近似存儲(chǔ)技術(shù)分別適用于高速緩存、主存、外存3個(gè)存儲(chǔ)層次,它們分別用于優(yōu)化存儲(chǔ)訪問效率、降低空間開銷、提高可靠性、減少存儲(chǔ)單元的磨損或降低能耗.表3總結(jié)了近年來具有代表性的近似存儲(chǔ)技術(shù),從存儲(chǔ)層次上對(duì)這些技術(shù)進(jìn)行歸納,并總結(jié)這些技術(shù)的主要改進(jìn)目標(biāo).

Table 3 Summary of Approximate Storage Techniques表3 近似存儲(chǔ)技術(shù)總結(jié)

Note: “√” represents the main improvement goals for approximate storage technology.

如圖3所示,近似存儲(chǔ)技術(shù)按所屬的存儲(chǔ)層次可分為3類:1)面向高速緩存的近似存儲(chǔ)技術(shù),主要研究如何提高高速緩存的訪問效率和減少高速緩存的存儲(chǔ)開銷;2)面向內(nèi)存的近似存儲(chǔ)技術(shù),主要針對(duì)DRAM動(dòng)態(tài)刷新存儲(chǔ)單元的特點(diǎn)優(yōu)化訪存性能與存儲(chǔ)能耗;3)面向外存的近似存儲(chǔ)技術(shù),主要針對(duì)閃存特性優(yōu)化數(shù)據(jù)存儲(chǔ)開銷和存儲(chǔ)單元的磨損.

Fig.3 Approximate classification based on storage hierarchy圖3 基于存儲(chǔ)層級(jí)的近似技術(shù)分類

3.1 針對(duì)高速緩存的近似技術(shù)

緩存作為處理器與存儲(chǔ)器之間的交換緩沖區(qū),具有訪問速度快的特點(diǎn),但是緩存的高速訪問仍然無法跟上處理器的處理速度,同時(shí)還存在緩存容量小和能耗高的缺點(diǎn).利用近似存儲(chǔ)技術(shù)能克服緩存的這些缺點(diǎn),本節(jié)將針對(duì)如何提高訪問效率、減小能耗和緩存存儲(chǔ)開銷,介紹高速緩存的近似存儲(chǔ)技術(shù).

英特爾出產(chǎn)的芯片多處理器(chip multiprocessor, CPM)中,高速緩存已占芯片面積的30%[67],現(xiàn)代處理器利用多層緩存層次結(jié)構(gòu)提高訪問效率,大型服務(wù)器應(yīng)用程序工作集通過構(gòu)建更大的緩存來提高性能,但都未從根本上解決問題.因此,利用近似存儲(chǔ)技術(shù)降低高速緩存的能耗、提高性能勢(shì)在必行.

3.1.1 提高存儲(chǔ)訪問效率

由于處理器的并行處理,導(dǎo)致存儲(chǔ)帶寬無法跟上處理器帶寬.為了減少帶寬差距,需要提高存儲(chǔ)器的訪問效率.利用近似存儲(chǔ)技術(shù),在緩存缺失時(shí)近似估計(jì)需要從存儲(chǔ)器加載的數(shù)據(jù),隱藏緩存未命中導(dǎo)致的延遲,提高存儲(chǔ)訪問的效率.

Fig.4 Load value approximation overview[16]圖4 Load value近似器概述[16]

Load value近似器[16]作為一種高效存儲(chǔ)訪問技術(shù),主要針對(duì)圖形應(yīng)用程序中的load指令在訪問緩存缺失時(shí)執(zhí)行近似操作,執(zhí)行過程如圖4所示.在編譯階段,訪問高速緩存未命中時(shí),不需要從內(nèi)存讀取數(shù)據(jù),而是利用load value近似器近似地預(yù)測(cè)數(shù)據(jù),從而不間斷地在處理器中執(zhí)行程序,大大減少了內(nèi)存訪問延遲.與傳統(tǒng)預(yù)測(cè)器不同,訪問緩存未命中時(shí),近似器會(huì)同時(shí)訪問內(nèi)存,將讀取到的數(shù)據(jù)作為load value近似器的輸入進(jìn)行訓(xùn)練,以評(píng)估近似值預(yù)測(cè)的正確性.因?yàn)閳D形應(yīng)用程序的高容忍度,能夠接受不精確的輸出,因此可以消除回滾機(jī)制.如果近似器的精度足夠高,還可以放松置信區(qū)間對(duì)缺失值進(jìn)行估計(jì).load value近似器在輸出質(zhì)量忽略不計(jì)的情況下,能顯著節(jié)約能源和提高效率.

RFVP[11]也是一種預(yù)測(cè)缺失值來提高存儲(chǔ)器訪問效率的近似存儲(chǔ)技術(shù),其原理是在 L1 cache缺失時(shí)預(yù)測(cè)缺失值來避免檢測(cè)與重新執(zhí)行,且僅針對(duì)那些執(zhí)行次數(shù)較多卻能導(dǎo)致大量緩存缺失率的load指令進(jìn)行預(yù)測(cè).因?yàn)镚PU中的每個(gè)數(shù)據(jù)請(qǐng)求都是單指令多數(shù)據(jù)流(single instruction multiple data, SIMD),它為多個(gè)并發(fā)線程生成數(shù)據(jù),為每個(gè)線程執(zhí)行預(yù)測(cè)會(huì)產(chǎn)生大額開銷,因此RFVP利用相鄰線程訪問值的相似性來設(shè)計(jì)僅具有2個(gè)并行專用預(yù)測(cè)器的多值預(yù)測(cè)器.多值預(yù)測(cè)器合成了2個(gè)two-delta[36]預(yù)測(cè)器,一個(gè)用于線程0~15,另一個(gè)用于線程16~31.RFVP技術(shù)能提高存儲(chǔ)訪問效率,解決處理器與存儲(chǔ)器帶寬延遲的問題.

3.1.2 降低緩存存儲(chǔ)開銷

高速緩存雖然訪問速度快,但其容量較小,經(jīng)常出現(xiàn)緩存訪問缺失的情況,但由于緩存價(jià)格昂貴以及工藝的局限性,不可能無限制擴(kuò)大緩存,在有限容量的緩存中存儲(chǔ)更多的數(shù)據(jù)是解決這一問題的有效方案,在傳統(tǒng)的cache器件和新型的非易失性器件中都能設(shè)計(jì)近似存儲(chǔ)方案降低數(shù)據(jù)存儲(chǔ)的開銷.

1) 基于傳統(tǒng)緩存的相似值存儲(chǔ)

基于相似值的解決方案主要是利用緩存值的相似性,刪除重復(fù)值和冗余數(shù)據(jù),減少存儲(chǔ)數(shù)據(jù).

Sutherland等人提出的近似存儲(chǔ)技術(shù)[37]適用于各種數(shù)據(jù)密集型應(yīng)用,它利用load value近似器和texture硬件生成近似值.其中texture是位于線程和高速緩存之間的存儲(chǔ)單元,能夠在多個(gè)相鄰高速緩存條目之間插值.利用texture的內(nèi)插功能,使用浮點(diǎn)數(shù)據(jù)作為高速緩存的索引.基于空間局部性與時(shí)間局部性,可以選取2個(gè)從全局存儲(chǔ)器連續(xù)讀取的值之差進(jìn)行近似,其中差值用訓(xùn)練集生成.

在數(shù)兆字節(jié)的最后一級(jí)緩存(last level cache, LLC)中,許多相同或相似的值可能會(huì)跨多個(gè)塊緩存,極大地浪費(fèi)了緩存的容量.Miguel等人觀察到最后一級(jí)高速緩存中大多數(shù)的緩存值表現(xiàn)出相似性,具體來說,跨緩存塊的值不相同但是相似,若近似地將相似的數(shù)據(jù)看作冗余數(shù)據(jù),刪除重復(fù)和冗余數(shù)據(jù),可更好的利用緩存的存儲(chǔ)空間.由此,Miguel等人設(shè)計(jì)了一種新穎的LLC架構(gòu)——Doppelganger[38],一種專門適用于近似計(jì)算的緩存架構(gòu),將存在相似值的高速緩存塊(即使跨緩存塊也可以)作為單個(gè)數(shù)據(jù)塊存儲(chǔ)在緩存中,其整體架構(gòu)如圖5所示.通過識(shí)別相似的高速緩存塊,并把這些塊與數(shù)據(jù)數(shù)組中的單個(gè)條目關(guān)聯(lián)起來,使得多個(gè)塊共享一個(gè)數(shù)據(jù)條目,雖然這犧牲了數(shù)據(jù)的精確度,但卻能在更小的數(shù)據(jù)陣列中存儲(chǔ)更多非冗余的數(shù)據(jù).

Fig.5 Doppelganger: Tags of approximately similar blocks are associated with the same data entry[38]圖5 Doppelganger將相似塊近似到相同數(shù)據(jù)條目上[38]

2) 基于新型器件的近似值存儲(chǔ)

隨著工藝特征尺寸的逐漸減小,互補(bǔ)金屬氧化物半導(dǎo)體(complementary metal oxide semiconductor, CMOS)縮放面臨著諸多挑戰(zhàn),如高泄漏功耗、低可靠性、低密度等問題.研究人員正開發(fā)新的器件來取代它,新型器件為計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)帶來了新的機(jī)會(huì).基于新型器件緩存架構(gòu)的近似值存儲(chǔ)方案能有效解決上述問題.

Sjalander等人提出的新型器件緩存架構(gòu)[39],可以存儲(chǔ)近似數(shù)據(jù)和精確數(shù)據(jù),根據(jù)片上高速緩存的存儲(chǔ)資源對(duì)精度需求的不同,以可調(diào)精度的方式對(duì)資源進(jìn)行分配.當(dāng)應(yīng)用程序放松對(duì)數(shù)據(jù)的精度的要求時(shí),數(shù)據(jù)會(huì)以四進(jìn)制的形式近似存儲(chǔ)在四元存儲(chǔ)單元,精確的數(shù)據(jù)以二進(jìn)制的形式存儲(chǔ)在存儲(chǔ)單元中,精確的數(shù)據(jù)需要兩倍的存儲(chǔ)單元數(shù)量.高速緩存行只能存儲(chǔ)近似數(shù)據(jù)或精確數(shù)據(jù),不能混合存儲(chǔ)2種數(shù)據(jù).為了支持四進(jìn)制的近似存儲(chǔ)架構(gòu),他們?cè)O(shè)計(jì)了新的尋址方案.將近似計(jì)算與新興多值設(shè)備結(jié)合,使相同的近似存儲(chǔ)單元數(shù)存儲(chǔ)更多的數(shù)據(jù).

3.1.3 降低緩存能耗

SRAM單元主要用作高速緩存,它使用晶體管存儲(chǔ)數(shù)據(jù),存在高泄漏功耗的問題,降低電源電壓的近似存儲(chǔ)方案能節(jié)約能源.

Kumar對(duì)降低SRAM電源電壓進(jìn)行研究發(fā)現(xiàn),其錯(cuò)誤率主要由讀取翻轉(zhuǎn)和寫入失敗的概率決定[68].對(duì)90 nm和60 nm工藝下的SRAM采取電源電壓減低技術(shù)可以降低60%的泄漏功率.電源電壓縮放是降低能耗非常受歡迎的技術(shù),但為保證數(shù)據(jù)的正常執(zhí)行,SRAM的最小電源電壓Vmin應(yīng)高于電源電壓的閾值VDD,因此找到合適的電源電壓是關(guān)鍵.圖6展示了圖形應(yīng)用程序的誤碼率(bit error rate,BER)和信噪比(peak signal-to-noise ratio,RNSR)與VDD的關(guān)系.

Fig.6 Measured BER and resulting PSNR versus VDD[42]圖6 測(cè)量誤碼率和信噪比與VDD的關(guān)系[42]

Frustaci等人提出了具有動(dòng)態(tài)能源-質(zhì)量管理作用的SRAM[41],提出了利用DUAL-VDD最低對(duì)有效位(least significant bit,LSB)的降壓技術(shù).低位精度可以被接受時(shí),禁用對(duì)應(yīng)于給定數(shù)量的最低有效位線,以線性地降低質(zhì)量的能源.

Gilani等人提出的一種暫存器存儲(chǔ)器設(shè)計(jì)[42]能減少片上存儲(chǔ)器的面積,通過權(quán)衡必須的最小工作電壓(VDD min)和應(yīng)用輸出質(zhì)量設(shè)計(jì)存儲(chǔ)器.此外,對(duì)于數(shù)字信號(hào)處理應(yīng)用,允許將電壓調(diào)整到VDD min以下進(jìn)一步節(jié)能,與短字長存儲(chǔ)器相比,這種方法的平均誤差更低;而對(duì)于錯(cuò)誤敏感的應(yīng)用程序,可以通過重新配置存儲(chǔ)器的組織結(jié)構(gòu),以較低的VDD min實(shí)現(xiàn)更高的內(nèi)存容量.

3.1.4 提高存儲(chǔ)可靠性

由于SRAM單元容易受到粒子撞擊,造成位翻轉(zhuǎn),導(dǎo)致數(shù)據(jù)錯(cuò)誤,因此保護(hù)SRAM免受粒子撞擊的近似存儲(chǔ)技術(shù)能提高數(shù)據(jù)存儲(chǔ)的可靠性.

Palframan等人提出的方法[43]是一種為GPU的執(zhí)行邏輯和寄存器文件提出的精確感知保護(hù)方法,他們提出的架構(gòu)優(yōu)化了整數(shù)計(jì)算的錯(cuò)誤覆蓋率,并結(jié)合選擇性邏輯強(qiáng)化、目標(biāo)檢查器電路和智能寄存器文件編碼,他們的方法通過保護(hù)免受粒子撞擊,提高了存儲(chǔ)訪問的可靠性和性能.

3.1.5 基于新型存儲(chǔ)器的綜合近似方案

目前高速緩存使用的主流器件是SRAM單元,它使用晶體管存儲(chǔ)數(shù)據(jù),但是存在高泄漏功耗、低靠性與低密度等問題.而新型存儲(chǔ)器件,如STT-MRAM,具有接近零泄漏、高耐用性、高密度的性質(zhì),因此使用新興的新型存儲(chǔ)器件代替SRAM在緩存層進(jìn)行近似存儲(chǔ)是一種能有效解決多種問題的方案.新型非易失性存介質(zhì)將顛覆傳統(tǒng)的緩存結(jié)構(gòu)[69],然而目前研究這種方法的人不多,但是這種設(shè)計(jì)思路具有很好的應(yīng)用前景,將來可能成為主流的設(shè)計(jì)手段.

Monazzah等人提出了一種基于近似計(jì)算,使用可靠性-能量旋鈕細(xì)粒度地對(duì)近似STT-MRAM緩存實(shí)現(xiàn)質(zhì)量可調(diào)配的軟/硬件方法:QuARK[17].利用程序員對(duì)應(yīng)用程序源代碼中的可近似數(shù)據(jù)的聲明,將該信息傳遞給以硬件方式實(shí)現(xiàn)的2個(gè)主要的STT-MRAM可靠性-能量旋鈕:讀取電流和寫入電流.對(duì)于可近似數(shù)據(jù)的讀寫操作,2個(gè)旋鈕都將設(shè)置為滿足編譯器制定的近似的可接受水平的最低電流.若輸入質(zhì)量不被接受,可在運(yùn)行時(shí)改變對(duì)該數(shù)據(jù)精度的要求,從而提高可靠性水平.

Ranjan等人提出STAxCache[12],一種基于STT-MRAM的近似二級(jí)緩存架構(gòu).其保留了傳統(tǒng)緩存的靈活性,同時(shí)允許在程序內(nèi)存地址空間的不同區(qū)域進(jìn)行不同級(jí)別的近似.該架構(gòu)擴(kuò)展了指令集體系結(jié)構(gòu)(instruction set architecture, ISA),并提供接口,使程序員能快速的指定質(zhì)量要求.整個(gè)架構(gòu)采用低保留和高保留的高速緩存方式組合形成的異構(gòu)高速緩存加固,每個(gè)高速緩存組合都使用質(zhì)量可配置的數(shù)據(jù)陣列,以實(shí)現(xiàn)各種精度級(jí)別的讀寫操作.該架構(gòu)還提供一張質(zhì)量表和指令感知的高速緩存控制器.質(zhì)量表用于捕獲地址空間區(qū)域的質(zhì)量要求,跟蹤每個(gè)區(qū)域跳過刷新的次數(shù).控制器用于強(qiáng)制執(zhí)行特定的質(zhì)量約束.

3.2 針對(duì)內(nèi)存的近似技術(shù)

目前針對(duì)內(nèi)存的近似存儲(chǔ)技術(shù)大多是針對(duì)DRAM的動(dòng)態(tài)刷新等特性所作的優(yōu)化,不適用于基于新型非易失性存儲(chǔ)器(non-volatile storage, NVM)的內(nèi)存.1)NVM具有無需動(dòng)態(tài)刷新和可持久化保存數(shù)據(jù)等DRAM不具備的特性,使得針對(duì)DRAM的近似存儲(chǔ)技術(shù)所解決的問題不復(fù)存在.例如,NVM不需要?jiǎng)討B(tài)刷新存儲(chǔ)單元,所以無需降低存儲(chǔ)單元刷新頻率和保留時(shí)間的近似存儲(chǔ)技術(shù).2)NVM存在DRAM沒有的缺陷,例如讀寫不對(duì)稱和寫耐久度低.因此,針對(duì)NVM特性的近似存儲(chǔ)技術(shù)還有待探索.

DRAM單元將數(shù)據(jù)存儲(chǔ)為電容器上的電荷,三星對(duì)DRAM行業(yè)進(jìn)行研究確定了3個(gè)主要的威脅:延長恢復(fù)時(shí)間、頻繁刷新和可變保留時(shí)間(VRT,variable retention time)[70].本節(jié)針對(duì)這3個(gè)威脅對(duì)DRAM的相關(guān)近似技術(shù)進(jìn)行了介紹.

1) 減少恢復(fù)時(shí)間

由于晶體管-電容器之間觸點(diǎn)的電阻增加以及較小的晶體管的驅(qū)動(dòng)能力的降低導(dǎo)致需要更長的時(shí)間將電量充至目標(biāo)電壓,這種現(xiàn)象稱為延長恢復(fù)時(shí)間.

Zhang等人提出了一種新的細(xì)粒度精確感知的DRAM恢復(fù)調(diào)度技術(shù)DrMP[13],并介紹了DrMP的3種變體:DrMP-A,DrMP-P和DrMP-U.它們都能大幅減少恢復(fù)時(shí)間,DrMP-A通過將重要數(shù)據(jù)位映射到快速行段來支持近似計(jì)算,以減少恢復(fù)時(shí)間提高性能,并降低了應(yīng)用級(jí)錯(cuò)誤.DrMP-P將內(nèi)存行配對(duì)在一起(一行具有快速回復(fù)時(shí)間、一行具有較慢的回復(fù)時(shí)間),以減少精確計(jì)算的平均恢復(fù)時(shí)間.DrMP-U結(jié)合了DrMP-A和DrMP-P,可以更好地交換性能,能耗和計(jì)算精度.

2) 降低刷新頻率

DRAM單元必須進(jìn)行定期的刷新以防止數(shù)據(jù)丟失.這些刷新操作干擾了內(nèi)存訪問,隨著DRAM器件容量的增加,DRAM刷新的負(fù)面影響也隨之增加.DRAM的刷新操作所消耗的能源占DRAM總能量消耗的很大一部分,其刷新頻率通常由少量的弱單元決定.為了減少DRAM能源消耗,可以通過近似存儲(chǔ)技術(shù)降低其刷新頻率,降低刷新率可能會(huì)導(dǎo)致數(shù)據(jù)的錯(cuò)誤率的上升,但是卻能以較低的錯(cuò)誤率大幅度的降低功耗.

Liu等人提出近似感知的DRAM系統(tǒng)Flikker[15],如圖7所示.Flikker將數(shù)據(jù)劃分為關(guān)鍵和非關(guān)鍵組,運(yùn)行時(shí)系統(tǒng)將數(shù)據(jù)分配到不同的內(nèi)存部分,包含關(guān)鍵數(shù)據(jù)的內(nèi)存部分以常規(guī)的刷新頻率刷新,而包含近似(非關(guān)鍵組)數(shù)據(jù)的行刷新率被降低.

Fig.7 DRAM approximate technique[15]圖7 DRAM近似技術(shù)[15]

Liu等人提出了感知智能DRAM刷新機(jī)制RAIDR[18],根據(jù)其保留數(shù)據(jù)所需的刷新率將DRAM行分組為多個(gè)“容器”,每個(gè)容器中的行以不同的速率刷新.RAIDR還在內(nèi)存控制器中存儲(chǔ)了保留時(shí)間,避免了修改DRAM設(shè)備的需要.

3) 穩(wěn)定的保留時(shí)間

DRAM單元可以安全地保留數(shù)據(jù)而不被刷新的時(shí)間量稱為單元的保留時(shí)間.在當(dāng)前的系統(tǒng)中,所有DRAM單元都以保證電池完整性所需的頻率刷新.可變保留時(shí)間對(duì)利用保留時(shí)間的差異減少不必要刷新帶來了難度.

Liu等人從5家主要DRAM供應(yīng)商的248種商品DDR3 DRAM芯片中收集保留時(shí)間信息.他們發(fā)現(xiàn)了2種重要現(xiàn)象[71]:1)數(shù)據(jù)模式依賴,即每個(gè)DRAM單元的保留時(shí)間受存儲(chǔ)在其他DRAM單元中的數(shù)據(jù)的顯著影響;2)可變保留時(shí)間,DRAM單元的保留時(shí)間隨時(shí)間不可預(yù)知地變化.對(duì)未來DRAM擴(kuò)展和保留時(shí)間測(cè)量機(jī)制提供了方向.

Jung等人提出一個(gè)全面的模擬環(huán)境[44],用于對(duì)近似DRAM進(jìn)行研究.他們依靠SystemC事務(wù)級(jí)模型(transaction level model, TLM)進(jìn)行快速準(zhǔn)確的模擬,構(gòu)建基于模塊化的DRAMSys框架,主要由4個(gè)關(guān)鍵部分組成:DRAM和核心模型、DRAM功耗模型、散熱模型、DRAM保留錯(cuò)誤模型.

3.3 針對(duì)外存的近似技術(shù)

外存具有容量大和訪問速度慢的特點(diǎn),針對(duì)外存的近似存儲(chǔ)技術(shù)更關(guān)注如何存儲(chǔ)更多的存儲(chǔ)數(shù)據(jù)和減少存儲(chǔ)器的磨損.本節(jié)針對(duì)上述2個(gè)問題,闡述了基于外存的相關(guān)近似存儲(chǔ)技術(shù),如圖8所示.

Fig.8 Approximate storage technique for storage圖8 針對(duì)外存的近似存儲(chǔ)技術(shù)

3.3.1 近似固態(tài)存儲(chǔ)技術(shù)

固態(tài)存儲(chǔ)器既可以作為外存存儲(chǔ)永久數(shù)據(jù),又能夠作為主存存儲(chǔ)瞬時(shí)數(shù)據(jù).固態(tài)存儲(chǔ)器的缺點(diǎn)表現(xiàn)在2個(gè)方面:1)磨損不均衡導(dǎo)致壽命不長,廠商標(biāo)稱單級(jí)單元(single-level unit, SLC)類型的閃存壽命只有10萬次,多級(jí)單元(multi-level unit, MLC)類型的壽命更短,只有1萬次[72];2)為了向存儲(chǔ)單元存儲(chǔ)或檢索更多的狀態(tài)導(dǎo)致的長時(shí)間等待延遲.

Sampson等人針對(duì)上述問題,提出一種近似固態(tài)存儲(chǔ)技術(shù)[5],它能在質(zhì)量損失忽略不計(jì)的情況下,通過將近似數(shù)據(jù)映射到耗盡硬件糾錯(cuò)資源的塊上,以減輕磨損、延長固態(tài)存儲(chǔ)器的使用壽命;并通過近似配置多級(jí)單元,以降低存儲(chǔ)或檢索的延遲.

最近,Qing等人提出一種能擴(kuò)大存儲(chǔ)容量的高密度圖像近似存儲(chǔ)算法[19],主張不同的比特單元對(duì)應(yīng)不同的近似程度,這種算法以圖像編碼算法PTC[20]為基礎(chǔ),與近似存儲(chǔ)系統(tǒng)[5]協(xié)作,以增加存儲(chǔ)單元的密度,存儲(chǔ)更多的數(shù)據(jù).

3.3.2 降低存儲(chǔ)開銷的近似技術(shù)

諸如圖像與視頻這樣的視覺應(yīng)用程序在存儲(chǔ)時(shí)耗費(fèi)大量的存儲(chǔ)空間,尤其是監(jiān)控類視頻更要求碼率恒定與持續(xù)服務(wù)[73].為了節(jié)約資源,可以近似存儲(chǔ)數(shù)據(jù),以減少空間開銷.壓縮存儲(chǔ)能有效節(jié)約資源,例如著名的JPEG[56],然而這種商用壓縮技術(shù)僅用于壓縮紋理和顏色數(shù)據(jù).后來有研究人員在JPEG的基礎(chǔ)上提出了JPEG XR[21].

Dufaux等人提出的圖像近似存儲(chǔ)算法[22]利用GPGPU工作負(fù)載中浮點(diǎn)數(shù)的特性,在截?cái)嗥渥畹陀行缓髮?duì)浮點(diǎn)數(shù)無損壓縮.使用這種方法要先研究滿足需要的微體系結(jié)構(gòu),其必須支持GPU和片外存儲(chǔ)器之間傳輸數(shù)據(jù)的無損壓縮技術(shù).這種方法對(duì)圖像整體計(jì)算精度的影響很小.

3.4 近似存儲(chǔ)技術(shù)小結(jié)

從存儲(chǔ)的層次結(jié)構(gòu),緩存、主存、外存3個(gè)方面介紹近似存儲(chǔ)技術(shù).針對(duì)高速緩存,主要介紹了提高緩存訪問效率、減小緩存空間開銷、降低緩存能耗、提高緩存可靠性的近似存儲(chǔ)技術(shù);針對(duì)主存,主要對(duì)如何克服DRAM延長恢復(fù)時(shí)間、頻繁刷新和可變保留時(shí)間的3個(gè)缺點(diǎn)分別介紹了相應(yīng)的近似存儲(chǔ)技術(shù);針對(duì)外存,主要介紹了近似固態(tài)存儲(chǔ)技術(shù)與降低存儲(chǔ)開銷的算法.

近似存儲(chǔ)作為一項(xiàng)新興的技術(shù),是近年來存儲(chǔ)相關(guān)工作的研究重點(diǎn),本文介紹了部分近年來具有代表性的近似存儲(chǔ)技術(shù).一些其他與近似存儲(chǔ)相關(guān)的技術(shù),應(yīng)用于存儲(chǔ)的多個(gè)層次,如表3中Mixed Layer所示,Chisel[14]優(yōu)化運(yùn)行在近似硬件平臺(tái)的內(nèi)核以自動(dòng)選擇可能存儲(chǔ)在近似內(nèi)存中的近似指令和數(shù)據(jù),UncertainT[24]為近似數(shù)據(jù)在近似硬件平臺(tái)上設(shè)計(jì)一種近似編程語言以映射到近似器件運(yùn)行和存儲(chǔ),文獻(xiàn)[23]的技術(shù)基于SIMD體系結(jié)構(gòu)通過重用程序運(yùn)行中的局部結(jié)果以減小錯(cuò)誤恢復(fù)的成本,文獻(xiàn)[10]通過重新構(gòu)建新的指令集使程序能近似計(jì)算與存儲(chǔ).

4 總結(jié)與展望

近似存儲(chǔ)技術(shù)作為解決存儲(chǔ)資源緊張的必要手段,是近年來存儲(chǔ)相關(guān)工作的研究重點(diǎn).本文簡要介紹了近似存儲(chǔ)以及近似存儲(chǔ)的一般過程,并依據(jù)存儲(chǔ)架構(gòu)的主要層次,分別從基于高速緩存、內(nèi)存、外存3個(gè)方面,詳細(xì)介紹近似存儲(chǔ)技術(shù)的研究現(xiàn)狀.

近似存儲(chǔ)技術(shù)對(duì)應(yīng)用程序中可近似數(shù)據(jù)采取不精確的存儲(chǔ)方法,提高存儲(chǔ)空間的利用率、加速存儲(chǔ)訪問效率、節(jié)約能源消耗、減少器件磨損,從而提升存儲(chǔ)器性能,以解決目前存儲(chǔ)領(lǐng)域面臨的存儲(chǔ)資源緊張、能源消耗高、讀取速度低等問題.

但是,目前的近似存儲(chǔ)研究工作仍然存在不足與待改進(jìn)之處體現(xiàn)在4個(gè)方面:

1) 目前的近似存儲(chǔ)技術(shù)為了區(qū)分程序的近似與精確部分,需要對(duì)程序進(jìn)行預(yù)處理.然而,現(xiàn)有預(yù)處理方法復(fù)雜高且不具有一般性.因此,簡便高效、通用的近似區(qū)域查找方法是未來近似存儲(chǔ)領(lǐng)域的一項(xiàng)重要研究內(nèi)容.

2) 現(xiàn)有提高存儲(chǔ)訪問效率的近似存儲(chǔ)技術(shù)集中在緩存層面,用于縮小內(nèi)存與處理器之間的訪問速度差距.然而,如何利用近似存儲(chǔ)技術(shù)縮小內(nèi)外存之間的數(shù)據(jù)訪問速度差異是亟待解決的問題.

3) 近年來,新型非易失性存儲(chǔ)器件飛速發(fā)展,展現(xiàn)出DRAM級(jí)數(shù)據(jù)訪問速度、數(shù)據(jù)掉電不丟失和存儲(chǔ)密度大等優(yōu)點(diǎn),是可以用作高速緩存、內(nèi)存或外存的下一代存儲(chǔ)設(shè)備.然而,基于新型非易失性存儲(chǔ)器的近似技術(shù)研究進(jìn)展緩慢.面向各個(gè)存儲(chǔ)層次,研究優(yōu)化新型非易失性存儲(chǔ)器中的數(shù)據(jù)訪問性能、存儲(chǔ)開銷和存儲(chǔ)磨損度的近似存儲(chǔ)技術(shù)是一個(gè)極具前景的研究方向.

4) 由于每個(gè)用戶對(duì)輸出質(zhì)量損失的接受程度不同,在近似存儲(chǔ)技術(shù)權(quán)衡數(shù)據(jù)精確度與輸出質(zhì)量時(shí),如何找到一個(gè)令大部分用戶滿意的質(zhì)量下降閾值是一個(gè)難題.為此,保證近似存儲(chǔ)可靠性的質(zhì)量下降閾值設(shè)定方法是未來必須研究的近似存儲(chǔ)關(guān)鍵技術(shù).

猜你喜歡
存儲(chǔ)技術(shù)存儲(chǔ)器質(zhì)量
“質(zhì)量”知識(shí)鞏固
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
質(zhì)量守恒定律考什么
做夢(mèng)導(dǎo)致睡眠質(zhì)量差嗎
關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)存儲(chǔ)技術(shù)分析
電子制作(2018年16期)2018-09-26 03:27:08
基于FAT文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)技術(shù)的研究
數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用
基于FPGA的并行測(cè)試高速存儲(chǔ)技術(shù)
質(zhì)量投訴超六成
汽車觀察(2016年3期)2016-02-28 13:16:26
存儲(chǔ)器——安格爾(墨西哥)▲
班戈县| 河津市| 海宁市| 锦州市| 太白县| 新泰市| 龙泉市| 谢通门县| 唐河县| 图片| 黄浦区| 本溪市| 莱芜市| 阳新县| 弥勒县| 清远市| 东明县| 新兴县| 临武县| 遂平县| 来安县| 隆化县| 湾仔区| 龙山县| 兴化市| 泊头市| 灵山县| 容城县| 攀枝花市| 长沙县| 涿鹿县| 湘潭市| 太保市| 景德镇市| 柯坪县| 尉氏县| 岐山县| 合水县| 岫岩| 通辽市| 南开区|