亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        結(jié)合指令預(yù)取和緩存劃分的多核緩存WCEC優(yōu)化

        2020-01-06 02:10:20安立奎韓麗艷
        關(guān)鍵詞:能量消耗處理器能耗

        安立奎,韓麗艷

        1.渤海大學(xué) 數(shù)理學(xué)院,遼寧 錦州121013

        2.渤海大學(xué) 信息科學(xué)與技術(shù)學(xué)院,遼寧 錦州121013

        1 引言

        在硬實(shí)時(shí)多核系統(tǒng)中,任務(wù)執(zhí)行時(shí)間必須滿足時(shí)間截止期,這對(duì)于硬實(shí)時(shí)系統(tǒng)的可靠性和可調(diào)度性來說非常重要。同時(shí)對(duì)于能量供應(yīng)受限的硬實(shí)時(shí)系統(tǒng),例如衛(wèi)星的傳感監(jiān)視系統(tǒng)、普適系統(tǒng)等,最差情況下的能量消耗WCEC(Worst-case Energy Consumption)也是一個(gè)必須要考慮的因素[1-3]。

        圖1 支持指令預(yù)取器的嵌入式多核架構(gòu)

        由于片上緩存占據(jù)了多核處理器的較大面積和擁有較高的訪問頻率,緩存消耗的能量超過了系統(tǒng)片上能量消耗的50%[4],因此減少緩存能量消耗對(duì)延長系統(tǒng)的使用期來說非常關(guān)鍵.隨著芯片技術(shù)的不斷進(jìn)步,順序指令預(yù)取技術(shù)可以減少緩存能量能耗[5-6]。順序指令預(yù)取的緩存能量效率與指令預(yù)取度密切相關(guān),對(duì)于硬實(shí)時(shí)多核系統(tǒng)中的多個(gè)子任務(wù)來說,采用相同預(yù)取度不利于減少整個(gè)系統(tǒng)的緩存WCEC,這就非常有必要對(duì)指令預(yù)取度進(jìn)行優(yōu)化來提高指令預(yù)取的能量效率。Gu 等人[7]提出了一個(gè)能量有效的支持指令預(yù)取的單核嵌入式模型,用循環(huán)譯碼的指令緩存減少能量消耗。對(duì)于單核中的多個(gè)搶占式任務(wù),Gran等人[8]用單層指令預(yù)取緩沖區(qū)和鎖緩存來優(yōu)化任務(wù)的WCET 和WCEC。在文獻(xiàn)[7]和[8]中,也僅考慮的是單核下的單層指令緩存的能量消耗,并沒有考慮有多個(gè)并發(fā)任務(wù)的硬實(shí)時(shí)多核系統(tǒng)的緩存能量消耗。

        最近的研究表明多個(gè)并發(fā)任務(wù)在多核共享緩存上的干擾,降低了系統(tǒng)的性能,增加能量消耗。緩存劃分技術(shù)通過把共享緩存的一部分分配給每個(gè)處理核來消除干擾,降低能量消耗,關(guān)于這方面的研究已經(jīng)做了大量的工作[9-14]。Reddy等人[9]用緩存劃分技術(shù)消除多個(gè)任務(wù)在共享緩存上的干擾,減少緩存能量消耗。Wang 等人[12]結(jié)合DCR(Dynamic Cache Reconfiguration)和緩存劃分減少多個(gè)硬實(shí)時(shí)任務(wù)的緩存能量消耗。其研究的任務(wù)集彼此獨(dú)立,并且沒有分析指令預(yù)取對(duì)于硬實(shí)時(shí)多核系統(tǒng)的緩存能量消耗的影響。

        本文通過查閱文獻(xiàn)發(fā)現(xiàn)至今還沒有結(jié)合指令預(yù)取和緩存劃分的緩存能量消耗優(yōu)化方面的研究工作。為了減少硬實(shí)時(shí)系統(tǒng)的緩存WCEC,延長系統(tǒng)的使用期,本文提出硬實(shí)時(shí)多核系統(tǒng)結(jié)合指令預(yù)取和緩存劃分的最差情況下緩存能量消耗優(yōu)化方法。首先建立了結(jié)合指令預(yù)取和緩存劃分緩存WCEC 能量優(yōu)化模型,然后設(shè)計(jì)了結(jié)合指令預(yù)取和緩存劃分的ILP線性規(guī)劃方程,在保證硬實(shí)時(shí)系統(tǒng)滿足時(shí)間截止期的情況下,優(yōu)化其WCEC;最后,對(duì)硬實(shí)時(shí)系統(tǒng)DEBIE進(jìn)行實(shí)例分析,驗(yàn)證優(yōu)化方法的有效性。

        2 嵌入式多核模型和研究動(dòng)機(jī)

        2.1 嵌入式多核結(jié)構(gòu)和任務(wù)模型

        如圖1 是一種支持指令預(yù)取的嵌入式多核模型。有NC個(gè)同構(gòu)的處理器核。每個(gè)核有私有的L1指令/數(shù)據(jù)緩存,所有的核共享L2 聯(lián)合緩存,共享L2 緩存有W路(way),通過路緩存劃分技術(shù)[13],它被分成了NC部分,即,L2緩存劃分因子路被分給了運(yùn)行硬實(shí)時(shí)任務(wù)的核Ci(i=1,2,…,NC) 。緩存的替換策略是LRU(Least Recently Used)。L1 和L2 緩存通過硬實(shí)時(shí)總線連接。如圖2 是一個(gè)基于路劃分的例子(4核,1組,8路組關(guān)聯(lián)),L2緩存通過路的粒度進(jìn)行劃分,每個(gè)處理器核被分配了一些路,并且此處理器只允許訪問分給它的那些路。

        圖2 一個(gè)基于路的緩存劃分的例子(4核,1組,8路組關(guān)聯(lián))

        順序指令預(yù)取器采用支持Prefetch-on-Miss 預(yù)取策略的Next- N -Line 指令預(yù)取。如果處理器需要處理的當(dāng)前指令i 被映射到L1指令緩存行p 在L1指令緩存上沒有命中,那么L1 指令緩存預(yù)取器I-prefetcher 就會(huì)發(fā)出預(yù)取L1 指令緩存行p+1,p+2,…,p+N 的操作請(qǐng)求。如果需要預(yù)取的指令行已經(jīng)在L1 指令緩存,預(yù)取請(qǐng)求被丟棄,否則預(yù)取請(qǐng)求進(jìn)入一個(gè)FIFO(First In First Out)隊(duì)列,隨后請(qǐng)求會(huì)被發(fā)送到L2緩存。為了支持指令預(yù)取優(yōu)化機(jī)制,采用文獻(xiàn)[15]的方法,利用編譯器在任務(wù)之間留下程序預(yù)取度信息指示,在程序運(yùn)行的時(shí)候,預(yù)取硬件檢測到這些指示的預(yù)取度,然后用檢測到的預(yù)取度來預(yù)取指令。

        本文研究的硬實(shí)時(shí)系統(tǒng)有NT個(gè)相互依賴的硬實(shí)時(shí)子任務(wù),并發(fā)多任務(wù)的執(zhí)行環(huán)境是一個(gè)基于靜態(tài)優(yōu)先級(jí)的非搶占系統(tǒng),每一個(gè)任務(wù)被分配給唯一的一個(gè)靜態(tài)優(yōu)先級(jí),如果多個(gè)任務(wù)被映射到同一核上執(zhí)行,優(yōu)先級(jí)高的任務(wù)先執(zhí)行。如果任務(wù)開始執(zhí)行,在它完成前,不允許被別的任務(wù)搶占。任務(wù)之間的小的通信和同步時(shí)是通過郵箱(mailbox),并且郵箱足夠大,消息不會(huì)溢出。消息在系統(tǒng)內(nèi)部的通信狀況通過消息跟蹤語言MSC(Message Sequence Chart)描述。

        2.2 能量模型

        首先假設(shè)NT個(gè)硬硬實(shí)時(shí)任務(wù)已經(jīng)被映射到相應(yīng)的處理核上,并且獨(dú)占L2共享緩存的相應(yīng)分區(qū)。

        硬件預(yù)取器通過一些硬件表來實(shí)現(xiàn),所以它的能量消耗可以被準(zhǔn)確的模擬[5],這里參照文獻(xiàn)[5],硬件預(yù)取器由一個(gè)512 bit的FIFO預(yù)取緩沖器構(gòu)成。

        這里假設(shè)處理器的頻率是1.0 Hz,用的是32 nm 工藝,本文參照文獻(xiàn)[16]中的緩存能量消耗計(jì)算模型計(jì)算單個(gè)硬實(shí)時(shí)任務(wù)T 支持指令預(yù)取的最差情況下的緩存能量消耗,如公式(1),對(duì)于不同的預(yù)取度n(n ≥0),當(dāng)n為0時(shí),表示沒有采用預(yù)取操作,這時(shí)候關(guān)閉預(yù)取器:在指令預(yù)取度是n 情況下任務(wù)T 最差情況下的緩存能耗E(T,n),是由最差情況下的靜態(tài)能耗Estatic(n)和動(dòng)態(tài)能耗Edynamc(n)組成的。其中Cstatic(n),Pstatic(n)分別是緩存和硬件預(yù)取器的單位時(shí)間內(nèi)的靜態(tài)能耗,tn是當(dāng)預(yù)取度是n 時(shí)的任務(wù)最差情況執(zhí)行時(shí)間WCET。動(dòng)態(tài)能耗Edynamc(n)由緩存的動(dòng)態(tài)能耗Ec_dynamc(n)和預(yù)取器的動(dòng)態(tài)能耗Ep_dynamc(n)組成,Eaccess表示一次訪問緩存所消耗的能量,caccess(n)是當(dāng)預(yù)取度為n 時(shí)的最差情況下訪問緩存次數(shù)。Emiss表示一次緩存缺失所消耗的能量,cmiss(n)是當(dāng)預(yù)取度為n 時(shí)的最差情況下訪存缺失次數(shù)。Eprefetch表示一次預(yù)取時(shí)額外訪問緩存的能量消耗,cprefetch(n)表示最差情況下當(dāng)預(yù)取度是n 時(shí)由于預(yù)取額外需要訪問緩存的次數(shù),這里cprefetch(0)=0。Enext_access表示一次訪問下一級(jí)緩存所消耗的能量,Eup_stall表示由于緩存缺失,處理器停頓所消耗的能量,Eblock_fill表示把取回的指令填充到緩存所消耗的能量,Ep_access表示一次訪問預(yù)取器所消耗的能量,paccess(n)是最差情況下訪問預(yù)取器次數(shù)。

        這里Cstatic、Pstatic、Eaccess、Eblock_fill、Ep_access通過CACTI5[17]測得,在32 nm工藝下,預(yù)取器消耗0.359 mW的靜態(tài)能耗,每次訪問的能耗是0.002 nJ。

        對(duì)于每一個(gè)硬實(shí)時(shí)任務(wù)T 、tn、caccess(n)、cmiss(n)、paccess(n)通過支持指令預(yù)取的緩存WCET 分析工具[18]測得。

        2.3 研究動(dòng)機(jī)

        對(duì)文獻(xiàn)[19]中的硬實(shí)時(shí)M?lardalen wcet benchmarks,如圖3 是不同預(yù)取度下支持指令預(yù)取的緩存WCEC,結(jié)果被不支持指令預(yù)?。A(yù)取度N 是0)的結(jié)果歸一化了。這里假設(shè)有4 個(gè)同構(gòu)的處理器核,32 nm 工藝,芯片的頻率是1.0 GHz,5階段流水,順序執(zhí)行,分支預(yù)測是完美的(perfect),L1 指令/數(shù)據(jù)緩存大小是256 Byte,緩存行大小是16 Byte,直接映射。L2 緩存大小是1 KB,緩存行大小是32 Byte,2路組關(guān)聯(lián)。

        圖3 指令預(yù)取度對(duì)于緩存WCEC的影響

        從圖可以看出順序指令預(yù)取在不同的預(yù)取度下獲得的能量效率不同,cnt最大,預(yù)取度是4時(shí),最差情況下的能量減少43.7%,bsort100最差,在預(yù)取度是4時(shí),能量反而增加了43.9%。這是因?yàn)橛晒剑?)可知,指令預(yù)取的能量獲益是減少的緩存靜態(tài)能耗和增加的預(yù)取器與緩存動(dòng)態(tài)能耗中和的結(jié)果,每個(gè)程序的特性不同,預(yù)取效率不同,所以WCEC呈現(xiàn)的結(jié)果是非線性的。

        運(yùn)行在多核上的硬實(shí)時(shí)系統(tǒng)具有多個(gè)相互依賴的硬實(shí)時(shí)子任務(wù),由于每個(gè)硬實(shí)時(shí)子任務(wù)的特性不同,所有任務(wù)采用相同的預(yù)取度,所有處理器核分配相同的L2 緩存因子,不利于提高硬實(shí)時(shí)系統(tǒng)的最差情況下能量效率。因此,就非常有必要對(duì)分配給硬實(shí)時(shí)系統(tǒng)中子任務(wù)的指令預(yù)取度和每個(gè)處理器的L2劃分因子進(jìn)行進(jìn)行調(diào)整,來優(yōu)化系統(tǒng)的緩存WCEC。

        3 支持指令預(yù)取和L2緩存劃分的WCEC優(yōu)化

        3.1 WCEC優(yōu)化模型描述

        本文為需要優(yōu)化的硬實(shí)時(shí)多核系統(tǒng)建立下面的模型:

        (1)多核處理器有NC個(gè)處理器核C={c1,c2,…,cNC}。

        (2)T 是硬實(shí)時(shí)系統(tǒng)所有具有依賴關(guān)系的子任務(wù)的集合T={T1,T2,…,TNT},子任務(wù)到NC個(gè)處理器核上的映射不固定。每個(gè)子任務(wù)都有一個(gè)時(shí)間截止期F={f1,f2,…,fNT},整個(gè)系統(tǒng)有一個(gè)時(shí)間截止期SD。

        (3)L2 共享緩存共有W 路,通過基于路的緩存劃分,分配給了NC個(gè)處理器核,每個(gè)核可以分配的L2緩存劃分因子可以是P={p1,p2,…,pW} ,其中pi=i ,(i=1,2,…,W)。

        (4)D 是順序指令預(yù)取度集合D={d0,d1,…,dND},其中di=i ,(i=0,1,…,ND),由于太大的預(yù)取度會(huì)給多核系統(tǒng)的負(fù)載帶來沉重負(fù)擔(dān),影響系統(tǒng)性能,這里本文設(shè)定預(yù)取度最大閾值為4,預(yù)取度為0 表示不支持指令預(yù)取,關(guān)閉指令預(yù)取器。

        本文假設(shè):

        (1)L 是任務(wù)T 到處理器C 的映射,L:T →C,每個(gè)硬實(shí)時(shí)子任務(wù)被映射到一個(gè)處理器核。

        (2)M 是任務(wù)T 到預(yù)取度D 的映射,M:T →D,每個(gè)硬實(shí)時(shí)子任務(wù)被設(shè)定一個(gè)指令預(yù)取度。

        (3)R 是處理器C 到L2劃分P 的映射,R:C →P,每個(gè)處理器核指定一個(gè)L2緩存劃分因子。

        通過硬實(shí)時(shí)系統(tǒng)的MSC,本文得到了硬實(shí)時(shí)系統(tǒng)任務(wù)之間的依賴關(guān)系,用Pred(Ti)來表示任務(wù)Ti的前驅(qū)的集合,只有Pred(Ti)中的任務(wù)都執(zhí)行結(jié)束,任務(wù)Ti才可以執(zhí)行。用Starti(L,M,R)表示任務(wù)Ti的在映射L、M 和R 下的開始時(shí)間,用Finishi(L,M,R)表示任務(wù)Ti在映射L、M 和R 下結(jié)束時(shí)間。那么任務(wù)Ti的開始時(shí)間是Ti所有前驅(qū)任務(wù)結(jié)束時(shí)間的最大值,如公式(8):

        任務(wù)Ti的結(jié)束時(shí)間是Ti開始時(shí)間與任務(wù)Ti本身在映射L、M 和R 最差執(zhí)行時(shí)間WCETi(L,M,R)的和,如公式(9):

        硬實(shí)時(shí)系統(tǒng)的在映射L、M和R下的WCRT(L,M,R)是運(yùn)行在所有核上任務(wù)的結(jié)束時(shí)間的最大值,如公式(10)所示:

        用WCECi(L,M,R)表示硬實(shí)時(shí)系統(tǒng)的子任務(wù)Ti在映射L、M 和R 下最差情況下的緩存能量消耗,硬實(shí)時(shí)系統(tǒng)的在映射L、M 和R 下的最差情況下的緩存能量消耗WCEC(L,M,R)是所有子任務(wù)在映射L、M 和R 下的最差緩存能量消耗的和,如公式(11):

        本文的緩存能量優(yōu)化目標(biāo)是尋找映射L、M 和R,使得當(dāng)在硬實(shí)時(shí)系統(tǒng)和它的所有子任務(wù)在滿足時(shí)間截止期的情況下,最小化其WCEC,即公式(12)~(14):

        3.2 優(yōu)化WCEC的ILP方程

        對(duì)于3.1 節(jié)中建立的結(jié)合指令預(yù)取和緩存劃分的WCEC優(yōu)化模型,本文設(shè)計(jì)了的相應(yīng)的ILP線性規(guī)劃方程,建立過程如圖4所示。

        圖4 ILP線性規(guī)劃方程建立流程圖

        從圖4 可以看到,對(duì)于一個(gè)硬實(shí)時(shí)系統(tǒng),建立規(guī)劃方程首先初始化變量來確定處理器的核數(shù)、實(shí)時(shí)系統(tǒng)子任務(wù)數(shù)量、L2 緩存大小和預(yù)取度取值范圍。然后建立子任務(wù)到處理器核的約束,保證每個(gè)子任務(wù)被分配到唯一的一個(gè)處理器核上,建立核到L2緩存劃分的約束,確保每個(gè)處理器核擁有唯一的L2 緩存劃分因子,建立子任務(wù)到預(yù)取度的約束,保證每個(gè)子任務(wù)采用唯一的預(yù)取度。上面3個(gè)約束建立后,就可以通過建立子任務(wù)選取WCET和WCEC的約束來確定每個(gè)實(shí)時(shí)子任務(wù)的WCET和WCEC,再建立硬實(shí)時(shí)系統(tǒng)的WCRT和WCEC的約束,最后建立優(yōu)化目標(biāo)約束,使得整個(gè)硬實(shí)時(shí)系統(tǒng)的WCRT滿足時(shí)間截止期的情況下,最小化系統(tǒng)的WCEC。

        3.2.1 任務(wù)到核的映射約束

        C1 首先定義0-1變量Cij,表示任務(wù)Ti是否被映射到核Cj上,0 ≤Cij≤1,where 1 ≤i ≤NTand 1 ≤j ≤NC。

        3.2.2 核到L2緩存劃分的約束

        C3 如果L2緩存共有W 路,P={p1,p2,…,pW},(pi=i)(i=1,2,…,W)是L2 緩存劃分因子,定義0-1 變量Lij,表示核Ci是否被分配了L2緩存劃分因子pj,0 ≤Lij≤1,where 1 ≤i ≤NCand 1 ≤j ≤W 。

        3.2.3 任務(wù)選擇WCET和WCEC的約束

        C6 如果任務(wù)可以選擇的預(yù)取度的集合D={d0,d1,…,dND},di=i (i=0,1,…,ND),定義0-1 變量Tijk,表示任務(wù)Ti是采用預(yù)取度dj,此時(shí)的L2緩存劃分因子是pk,因此有

        C7 用數(shù)組W[i][j][k]存儲(chǔ)任務(wù)Ti采用預(yù)取度dj,L2緩存劃分因子是pk下的WCET,用整型變量Wi表示任務(wù)Ti應(yīng)該選擇的WCET,因此有0 ,where 1 ≤ i ≤NT。

        C8 用數(shù)組E[i][j][k]存儲(chǔ)任務(wù)Ti采用預(yù)取度dj,L2緩存劃分是pk下的WCEC,用整型變量Ei表示任務(wù)Ti應(yīng)該選擇的WCEC,因此有0 ,where 1≤i≤NT

        C9 定義0-1變量Aijkm,表示每一任務(wù)Ti被分配了唯一的處理器核Cj,預(yù)取度dk,L2 緩存劃分因子是pm,對(duì)1≤i≤NT,1≤j≤NC,0≤k≤ND,1≤m≤W 有:

        3.2.4 硬實(shí)時(shí)系統(tǒng)WCRT和WCEC計(jì)算約束

        C10 為了計(jì)算硬實(shí)時(shí)系統(tǒng)的WCRT,本文需要計(jì)算所有核上的任務(wù)的最晚結(jié)束時(shí)間。定義0-1 變量Mijk表示任務(wù)Ti與任務(wù)Tj是否映射到核Ck上,有:

        把上面的方程線性化,有:

        C11 定義另外一個(gè)0-1 變量Mij表示任務(wù)Ti與任務(wù)Tj是否映射到同一個(gè)處理器核上,有:

        把上面的方程線性化:

        C12 如果兩個(gè)任務(wù)Ti與Tj映射到同一個(gè)處理器核上,定義0-1 變量Bij,表示任務(wù)Ti在任務(wù)Tj之前執(zhí)行,定義0-1變量Bji表示任務(wù)Tj在任務(wù)Ti之前執(zhí)行,對(duì)于1≤i≤NT-1,i≤j≤NT有:

        C13 對(duì)于任務(wù)Ti,用整型變量Si表示任務(wù)Ti的開始時(shí)間,用整型變量Fi表示任務(wù)Ti的結(jié)束時(shí)間,用0-1變量Dij表示任務(wù)Tj是否是任務(wù)Ti的直接后繼,有:

        對(duì)于直接依賴的兩個(gè)任務(wù),后繼任務(wù)的開始時(shí)間要小于前驅(qū)任務(wù)的結(jié)束時(shí)間,for ?Ti,Tj,有:

        C14 對(duì)被映射到同一核上的任務(wù),先執(zhí)行的任務(wù)的結(jié)束時(shí)間要小于后執(zhí)行任務(wù)的開始時(shí)間,有:

        這里MC是比所有任務(wù)的WCET的和都大的一個(gè)常量。

        C15 對(duì)于所有的任務(wù)根據(jù)公式(9),F(xiàn)i-Si-Wi=0,1 ≤i ≤NT。

        C16 對(duì)硬實(shí)時(shí)系統(tǒng)的WCRT,有WCRT-Fi≥0,1≤i≤NT。

        3.2.5 優(yōu)化目標(biāo)

        C18 本文優(yōu)化的目標(biāo)是硬實(shí)時(shí)系統(tǒng)和所有子任務(wù)滿足時(shí)間截止期SD 的情況下,最小化WCEC,即Minimize WCEC,當(dāng)WCETi≤fi,1≤i≤NT,WCRT ≤SD。

        4 實(shí)驗(yàn)評(píng)估

        本章評(píng)估提出的支持指令預(yù)取和L2緩存劃分的硬實(shí)時(shí)多核系統(tǒng)緩存WCEC優(yōu)化方法。

        4.1 評(píng)估環(huán)境

        這里假設(shè)有4個(gè)同構(gòu)的處理器核,32 nm工藝,芯片的頻率是1.0 GHz ,5階段流水,順序執(zhí)行,分支預(yù)測是完美的(perfect),L1 指令/數(shù)據(jù)緩存大小是256 Byte,緩存行大小是16 Byte,直接映射。這里L(fēng)2 行大小是32 Byte,16 組,L2 緩存是10 KB,通過CACTI5[17]收集能量計(jì)算參數(shù),利用IBM CPLEX12.2 ILP 求解器[20]來求解WCEC優(yōu)化方程。本文使用的benchmark是DEBIE,它是由Patria Finavitec和UniSpace Kent聯(lián)合開發(fā)的空間碎片探測器系統(tǒng)[21],根據(jù)DEBIE 的系統(tǒng)狀態(tài)和功能,在文獻(xiàn)[22]中對(duì)子任務(wù)進(jìn)行了并行化處理。

        所有的實(shí)驗(yàn)運(yùn)行在Intel?Core?I5-3230 機(jī)器上,有4 GB內(nèi)存,運(yùn)行Ubuntu Linux 8.04操作系統(tǒng)。

        4.2 實(shí)驗(yàn)結(jié)果

        本節(jié)中,任務(wù)映射由ILP方程確定,用下面的符號(hào)表示硬實(shí)時(shí)系統(tǒng)DEBIE在不同優(yōu)化方法下的緩存WCEC。

        (1)E_base:此時(shí)系統(tǒng)不支持指令預(yù)取優(yōu)化,也不支持緩存劃分優(yōu)化,通過路劃分技術(shù)[13],L2 緩存被平均分配給了所有的處理器,它用作歸一化時(shí)的基底。

        (2)E_ip(n):文獻(xiàn)[8]中的緩存WCEC 優(yōu)化方法,此時(shí)系統(tǒng)采用固定的指令預(yù)取度n,但不支持L2 緩存劃分優(yōu)化。

        (3)E_ocp:文獻(xiàn)[9]中的緩存WCEC優(yōu)化方法,此時(shí)系統(tǒng)通過L2 緩存劃分來優(yōu)化WCEC,但是系統(tǒng)不支持指令預(yù)取。

        (4)E_oip+E_ocp:本文中的系統(tǒng)既支持L2 緩存劃分優(yōu)化,也支持指令預(yù)取優(yōu)化的緩存WCEC。

        4.2.1 比較不同優(yōu)化方法下的緩存WCEC

        為了驗(yàn)證本文優(yōu)化方法的有效性,如圖5把本文中的結(jié)合指令預(yù)取及L2緩存劃分的緩存WCEC優(yōu)化方法(E_oip+E_ocp)和已有的支持L2 緩存劃分(E_ocp)[9]和支持固定預(yù)取度(E_ip(n))[8]緩存WCEC優(yōu)化方法進(jìn)行比較,指令預(yù)取度 n 從1、2、3 到4。所有結(jié)果都被E_base歸一化了。

        圖5 不同優(yōu)化方法下的緩存WCEC

        從圖5 可以看到,在不同的預(yù)取度 n 下,E_ip(n)都比E_base小,說明指令預(yù)取可以減少最差情況下的緩存能量消耗,這是因?yàn)橹噶铑A(yù)取的能量優(yōu)化效率和訪存次數(shù)以及靜態(tài)能量在總能量中的比重有關(guān)系。在32 nm的處理器中,靜態(tài)能量消耗在總能量消耗中的比重增大,指令預(yù)取大大減少了系統(tǒng)的最差情況執(zhí)行時(shí)間,因此盡管它增加了一部分動(dòng)態(tài)能耗,它最終也能夠減少總的能量消耗。當(dāng)預(yù)取度是2時(shí),指令預(yù)取的能量獲益是最大的,達(dá)到了21.9%。L2 緩存劃分能耗E_ocp 比E_base 減少了6.3%,這說明L2 緩存劃分對(duì)于減少WCEC 也是有效的。E_ocp 是經(jīng)過L2 緩存劃分優(yōu)化后的WCEC,因此它比不優(yōu)化的E_base要小。

        這里還可以看到E_oip+E_ocp比E_ip(n)平均減少了22.5% ,比E_ocp 平均減少了36.6%,這說明本文中的緩存WCEC方法是有效的。當(dāng)預(yù)取度是1,3和4時(shí),本文的WCEC優(yōu)化效率好于當(dāng)預(yù)取度是2的情況,這是因?yàn)楫?dāng)預(yù)取度是2的時(shí)候,指令預(yù)取可以獲得最好的能量效益,此時(shí)本文方法能量優(yōu)化效率比預(yù)取度是1,3和4時(shí)會(huì)降低。

        4.2.2 L2 緩存大小對(duì)于優(yōu)化方法的影響

        為了分析L2緩存大小對(duì)于本文提出的優(yōu)化方法的影響,圖6比較了不同L2緩存大小下的E_oip+E_ocp和E_base,L2緩存大小分別為4 KB、6 KB、8 KB和10 KB,所有結(jié)果都被E_base歸一化了。

        圖6 不同L2大小的歸一化的緩存WCEC

        從圖6中可以看到當(dāng)L2緩存是10 KB的時(shí)候,本文的優(yōu)化方法的能量效率最高。這說明本文的WCEC 優(yōu)化方法的效率與L2 緩存大小有關(guān)系。當(dāng)L2 緩存大于4 KB 的時(shí)候,緩存WCEC 已經(jīng)被本文的方法優(yōu)化到了最小,L2 緩存越大,計(jì)算E_base 時(shí),分配給每個(gè)處理器的L2 緩存劃分因子越大,整個(gè)系統(tǒng)的執(zhí)行時(shí)間并沒有顯著減少,因此靜態(tài)能耗變大,總的能耗也變大。當(dāng)L2緩存是10 KB 時(shí)的E_base,比L2 緩存是4 KB、6 KB 和8 KB時(shí)的E_base要大,因此歸一化的結(jié)果越小,本文能耗優(yōu)化效率越高。

        4.2.3 處理器核的數(shù)目對(duì)于優(yōu)化方法的影響

        為了分析處理器核的數(shù)目對(duì)于本文提出的優(yōu)化方法的影響,如圖7 比較了不同處理器核下的E_oip+E_ocp 和E_base,處理器的核數(shù)分別為2、3 和4,所有結(jié)果都被E_base歸一化了。

        圖7 不同處理器核數(shù)下的歸一化的緩存WCEC

        從圖7中看到,當(dāng)處理器是2核的時(shí)候,通過本文方法優(yōu)化后的最差緩存能量比不優(yōu)化時(shí)的最差緩存能量減少了54.4%,這比處理器是3 核與4 核的時(shí)候要好。這是因?yàn)椴煌幚砥骱讼碌哪芎膬?yōu)化效率與硬實(shí)時(shí)系統(tǒng)中子任務(wù)的并行度有很大的關(guān)系。從文獻(xiàn)[22]中可以看到,DEBIE 系統(tǒng)在某一時(shí)間點(diǎn),至多有3 個(gè)子任務(wù)并行運(yùn)行,當(dāng)處理器的核數(shù)多于3時(shí),E_base很少改變,而本文中的方法已經(jīng)把WCEC優(yōu)化到最小,所以對(duì)于3核與4核,優(yōu)化效率也未改變。當(dāng)處理器是2核時(shí),本應(yīng)該并行的子任務(wù)也需要串行執(zhí)行,同3 核相比,利用本文方法,緩存WCEC優(yōu)化的空間更大,效率提高的也越明顯。

        5 結(jié)論

        對(duì)于能耗有很高要求的并發(fā)多任務(wù)硬實(shí)時(shí)多核系統(tǒng),本文提出支持指令預(yù)取和緩存劃分的緩存WCEC優(yōu)化方法,該方法通過建立ILP 方程,調(diào)整子任務(wù)的預(yù)取度和L2緩存劃分因子對(duì)硬實(shí)時(shí)系統(tǒng)的最差情況下的緩存能耗進(jìn)行優(yōu)化。通過對(duì)粒子探測系統(tǒng)DEBIE 的分析,表明本文提出的支持指令預(yù)取和緩存劃分的緩存WCEC優(yōu)化方法大大減少了系統(tǒng)的緩存WCEC,其優(yōu)化的效率與硬實(shí)時(shí)系統(tǒng)任務(wù)的并行度與處理器數(shù)目,L2緩存大小有密切關(guān)系。

        下一步,計(jì)劃改進(jìn)本文的方法,對(duì)支持?jǐn)?shù)據(jù)預(yù)取的并發(fā)多任務(wù)硬實(shí)時(shí)系統(tǒng)進(jìn)行分析,并把指令預(yù)取和數(shù)據(jù)預(yù)取結(jié)合起來對(duì)硬實(shí)時(shí)系統(tǒng)地最差情況下的能耗進(jìn)行優(yōu)化。

        猜你喜歡
        能量消耗處理器能耗
        太極拳連續(xù)“云手”運(yùn)動(dòng)強(qiáng)度及其能量消耗探究
        120t轉(zhuǎn)爐降低工序能耗生產(chǎn)實(shí)踐
        昆鋼科技(2022年2期)2022-07-08 06:36:14
        中年女性間歇習(xí)練太極拳的強(qiáng)度、能量消耗與間歇恢復(fù)探究分析
        能耗雙控下,漲價(jià)潮再度來襲!
        探討如何設(shè)計(jì)零能耗住宅
        沒別的可吃
        日本先進(jìn)的“零能耗住宅”
        Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
        ADI推出新一代SigmaDSP處理器
        汽車零部件(2014年1期)2014-09-21 11:41:11
        呼嚕處理器
        国产一区二区av免费在线观看| 亚洲人成18禁网站| 亚洲美女主播一区二区| 毛片在线播放亚洲免费中文网| 亚洲日韩精品一区二区三区| 人妻无码人妻有码中文字幕| 国产亚洲女人久久久久久| 亚洲午夜经典一区二区日韩| 亚洲国产精品无码久久久| 夜夜揉揉日日人人| 国产毛片A啊久久久久| 久久精品国产亚洲av麻豆床戏| 欧美丰满熟妇bbb久久久 | 亚洲无码专区无码| 国产白浆精品一区二区三区| 亚洲精品午夜久久久九九| 伊人久久久精品区aaa片| 国产人成无码视频在线| 日韩精品久久伊人中文字幕| 日韩大片高清播放器大全| 日韩人妻无码一区二区三区久久99| 999久久久免费精品国产牛牛 | 久久精品女人天堂AV一个| 亚洲一区第二区三区四区| 欧美中日韩免费观看网站| 91久久久久无码精品露脸| 亚洲大胆美女人体一二三区| 国产精品麻豆va在线播放| 国产剧情av麻豆香蕉精品| 谁有在线观看av中文| 久久狼精品一区二区三区| 粗壮挺进人妻水蜜桃成熟漫画| 欧美综合区| 日韩一二三四区在线观看| 国产亚洲精品美女久久久| 国产高清无码在线| 中文字幕一区二区在线看| 中文字幕人乱码中文字幕 | 人妻无码在线免费| 高清国产国产精品三级国产av| 亚洲精品无码久久久久去q|