999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于動態自適應冗余的現場可編程門陣列容錯方法

2022-07-12 02:40:16李澤宇楊鵬飛許志偉梁金鵬
計算機研究與發展 2022年7期
關鍵詞:故障資源水平

李澤宇 王 泉 楊鵬飛 許志偉 梁金鵬 高 歌

1(西安電子科技大學計算機科學與技術學院 西安 710071) 2(中國科學院計算技術研究所 北京 100190)

FPGA具有低功耗、高并行、深度靈活可定制的特性,非常適合執行空間應用中的計算任務.但是,由于其配置位易翻轉的特性,容易受到來自太空環境中高能粒子的沖擊而產生單粒子翻轉(single event upset, SEU)故障[1],從而影響片上任務的成功執行.近年來,隨著FPGA制程工藝尺寸的縮小,器件面臨加速老化問題的同時也增加了這種故障發生的概率[2],必須減輕或修復這些故障以獲得可靠的操作.

目前,針對SEU容錯的方法大致分為2類:基于制造工藝的容錯技術和基于設計的容錯技術.制造工藝容錯主要是從工藝設計方面來提高器件的容錯性能,一般多為對產品的封裝材料或單元結構進行抗輻射設計,增強器件對輻射的屏蔽功能.目前常用的方法是利用硅技術(silicon on insulator, SOI)工藝加固FPGA[3],或在部分工程實踐中直接采用抗輻射器件進行太空應用,例如使用XILINX公司針對航天應用特別研制的Virtex-4QV FPGA或反熔絲FPGA[4-5].盡管這種方法可以從工藝層面上提高器件抗輻射性能,但其工藝制造技術要求高、代價高昂,隨著集成電路尺寸越來越小,工藝加固一旦失效就會導致整個電路的邏輯功能失效,且無法自動修復,嚴重時導致整個FPGA失效,造成巨大損失.

基于設計的容錯技術主要是糾錯碼(error correcting code, ECC)和三模冗余.ECC算法大多采用奇偶校驗碼或漢明碼,可以檢錯并修正單個配置位翻轉,但無法屏蔽故障和修復其他軟故障[6].而三模冗余(triple modular redundance, TMR)針對故障具有廣泛的容錯能力,降低了單個功能模塊對SEU的敏感性,但代價是使資源用量增加了200%[7].同時,太空環境中SEU的異常率很少達到需要TMR的水平,從2010—2019年,要求進行TMR的粒子通量水平(例如太陽粒子事件)的出現時間僅為6.9%[8],這使得單一利用TMR進行容錯造成的資源開銷問題更加嚴重.有研究提出可以根據輻射水平的變化動態改變片上所有任務的冗余方式[9],盡管這在一定程度上緩解了高可靠性依賴資源開銷過度的問題,但卻沒有考慮到任務可靠性要求的差異.如果可以以單個任務為粒度進行動態自適應容錯,那么將進一步緩解為保障可靠性而帶來的高資源開銷問題.

為了解決高可靠性依賴資源開銷過度的問題,本文提出了一種基于動態自適應冗余的容錯方法(fault tolerance based on dynamic self-adaptive redundancy, FTDSR).基于動態可重構特性,FPGA片上可編程區域被設計為自適應資源,使其能夠實現N個動態調整可重構模塊,以構造單模、雙冗余,三模冗余等容錯執行方式.同時,利用片上塊存儲(block RAM, BRAM)對單粒子效應的高度敏感性,將片內BRAM內嵌塊作為輻射水平監測器,用于感知單粒子翻轉.設計的基于BRAM的輻射水平評估模塊,包括多個基于BRAM的輻射監測器(BRAM監測器)、故障統計單元和故障計算單元.BRAM監測器實時監測所有發生的SEU,利用計數器統計數值并寫入故障統計單元,同時采用自帶的ECC刷新器修正翻轉位,緩解BRAM中的SEU.故障計算單元周期性地讀取故障統計單元的內容,計算當前故障翻轉率并傳輸給控制單元.控制單元評估當前的輻射水平,并結合每個任務執行周期的松弛度時間來判斷各個任務需要采取的冗余方式.控制單元控制自適應系統的動態可重構控制器,通過可編程資源的內部配置訪問端口PCAP,將部分比特流文件配置到對應的可重構區域中,實施高可靠的執行方式,總體方案架構如圖1所示.

本文主要貢獻包括3個方面:

1) 改進了一種基于片上BRAM的外部輻射水平監測器,使得片上BRAM資源在滿足用戶邏輯功能的同時具備輻射監測功能,從而可以最大化地構造輻射監測器,增加輻射監測密度進而提高輻射水平評估的準確性.

2) 提出了一種以單個任務為粒度的可靠性評估策略,以任務執行周期的松弛度時間進行可靠性等級判定,并進一步在滿足任務可靠性要求的前提下對資源用量進行優化,實現了針對單個任務在當前輻射水平下的可靠性評級,同時提高了片上資源利用率.

3) 基于自適應容錯思路,動態評估輻射水平變化時任務的可靠性等級,在滿足資源和可靠性條件下實現每個任務冗余架構的動態調整,以適應不同輻射水平下各個任務的容錯要求.

1 相關工作

FPGA片上容錯相關技術主要基于冗余、配置刷新和動態可重構等.冗余包括三模冗余、雙機冷/熱備份、時間冗余等,其中最有代表性的就是三模冗余及其改進技術,該架構具備故障檢測和故障屏蔽的功能,在故障發生后可以確保任務的不間斷執行,滿足任務的實時性要求,但代價是資源的嚴重浪費[8].配置刷新技術是可編程器件廣泛應用的容錯手段,因其具備可重新配置的特性,可以在軟故障發生后重寫比特流,從而恢復任務的正常功能[10].近年來,伴隨著FPGA部分動態可重構功能(dynamic partial reconfiguration, DPR)的發展和逐步實現,可以實現片上資源的動態復用,為FPGA片上容錯技術的發展提供了更為先進的方法.將DPR與冗余、配置刷新等傳統的容錯技術相結合,可以克服原有技術的不足,更好地實現細粒度的冗余和部分動態的配置刷新,在滿足容錯的同時節約資源并滿足任務實時性要求[11].

值得關注的是,FPGA基于部分動態可重構功能,可以根據運行環境的變化加載具有不同冗余結構的執行方式,這種方法稱為自適應故障緩解(adaptive error mitigation, AEM)[12].文獻[13-14]介紹了FPGA自適應故障緩解方法,但它們沒有分析系統在輻射環境中的可靠性,也沒有考慮評估輻射水平.文獻[15-16]提出利用片外監測器對輻射進行監測,代價是增加了體積和功耗,并且沒有提出對任務進行自適應容錯設計.文獻[9]提出根據外部環境變化自適應地調整可編程器件的冗余方式,但該方法采用了粗粒度的容錯方式,僅考慮將片上任務全部部署為一種冗余方式,如雙模備份和三模冗余.文獻[9,12-16]的研究沒有考慮任務對可靠性要求的差異,簡單采用統一的冗余方式會造成嚴重的資源浪費,甚至由于資源限制造成計算性能低下并降低系統可用性.針對該問題,從每個任務的可靠性要求出發,結合外部輻射水平進行容錯冗余設計,兼顧實現了任務的高可靠性、高時效性和片上資源的高利用率.

2 SEU輻射水平評估

2.1 基于BRAM的輻射水平監測器

輻射水平采用BRAM監測器進行監測評估.基于BRAM對SEU高度敏感的特性,將片內BRAM內嵌塊作為SEU監測器的核心部分,用于感知單粒子翻轉.同時,XILINX公司的BRAM可以開啟自帶的ECC校驗功能,糾正任意單位翻轉故障或監測任意雙位翻轉故障[17],這樣可以將所發生的翻轉故障進行記錄.

片上BRAM主要分為3種:鎖定BRAM、未使用BRAM和已使用BRAM.其中,鎖定BRAM一般存在于鎖定的IP核和嵌入式微處理器中,無法訪問修改不能作為輻射監測器使用.已有的方法僅采用未使用BRAM作為輻射監測器[18],這樣整個片上的輻射監測器數量就會受到極大的限制,而輻射監測器的密度直接影響對外部輻射水平評估的準確性.當選取少量BRAM配置為監測器時,無法保證輻射水平評估的準確性;而選取大量BRAM配置為監測器又會影響用戶邏輯功能的實現.

為了既保證輻射水平評估的準確性,又使得更多的BRAM資源用于配置用戶邏輯功能,本文改進了現有的BRAM監測器.配置開啟BRAM真雙端口結構,一個端口用于配置用戶邏輯功能,它與不帶ECC的非擦除BRAM資源有相同的功能,可在1個周期內執行讀取和寫入操作;另一個端口用于連接故障統計單元,這樣可以并行執行故障統計和常規BRAM訪問.同時,在BRAM內部配置了清理、糾錯和計數器單元,用于輻射監測并校正翻轉故障.其中的ECC是實時執行的,可以將所有翻轉次數累加到計數器,并將統計的數值單獨輸出到故障統計單元.通過這種設計,一個完整的BRAM監測器可以在實現用戶邏輯功能的同時對翻轉故障進行監測和計數,這樣可以最大化地生成整個FPGA片上的輻射監測器數量,保證輻射水平評估的準確性.

2.2 輻射水平評估方案

BRAM監測器是輻射水平評估中的核心器件,同時還包括故障統計單元和故障計算單元,整體SEU輻射評估功能模塊如圖2所示:

Fig. 2 Radiation evaluation function module diagram圖2 輻射評估功能模塊圖

BRAM監測器分布在片上動態可重構區域,故障統計單元位于靜態區域,故障計算單元部署在上位機,BRAM監測器需要被BRAM控制器進行管理調用,故障統計單元和故障計算單元通過PCIE總線進行通信,整體連接示例如圖3所示.

監測周期為1次單事件效應(single event effect, SEE)周期,BRAM監測器在設定周期內實時監測SEU并在計數器中累計發生的粒子翻轉次數(1次單位或雙位翻轉只計數1次,1個周期內如發生多次翻轉進行累加),完成1個統計周期后,BRAM監測器將這些計數器的值寫入故障統計單元.每個輻射監測器帶有ECC BRAM刷新器,如果是單位SEU,在向計數器累加計數的同時會自動校正翻轉,緩解BRAM中的故障.故障統計單元在1個統計周期完成后將所有BRAM監測器中監測的故障數量傳輸到故障計算單元.故障計算單元放置在上位機端進行故障翻轉率計算并以最壞情況評估片上可重構分區可能發生故障的數量,并將結果輸送到總控制單元,為自適應調整任務的冗余方式提供依據.

輻射水平強度用位翻轉數Pbu表征,其指一次SEE周期內發生單/多位翻轉的總數BSEE與所有BRAM監測構成總的位數Ball的比值,再乘以106量化為每Mb下發生翻轉的數量,單位是FIT/Mb,表示可編程器件工作1個SEE事件周期中每Mb存儲位發生位翻轉的數量[19],具體公式為:

Pbu=BSEE/Ball×106.

(1)

3 任務可靠性等級評估策略

3.1 預評估策略

任務的可靠性評估策略是對每個片上任務的可靠性等級進行分級,這是實現以單個任務為粒度自適應匹配冗余方式的前提.假設一次SEE中,各個任務對應的執行區塊內發生故障的次數不大于一次,假定所有任務實現一次故障后容錯,滿足可靠性要求體現為任務在截止時間前成功執行,因此可以以任務執行周期的松弛度時間作為可靠性等級的判別條件.據此將任務的可靠性級別設定為3個等級,分別是實時可靠性級別(A類,松弛度時間為0)、低延時可靠性級別(B類,松弛度時間小)和高延時可靠性級別(C類,松弛度時間大).實時容錯級別的任務滿足故障屏蔽、一次故障后任務不間斷的要求;低延時容錯級別的任務不具備故障屏蔽的能力,在故障后的較短時間內恢復并繼續執行任務;高延時容錯級別的任務則是在故障后允許一定時間間隔再繼續執行任務.為滿足設定的可靠性要求,它們對應的冗余方式分別是三模冗余、雙模冗余和單模執行.

此外,任務類型明確規定是實時容錯級別的任務,其必須滿足故障屏蔽和一次故障后任務不間斷的要求,對應的冗余方式直接采用三模冗余.沒有明確給定任務類型,就需要采用可靠性評估策略對任務進行分級.為了進一步推導可靠性評估策略,引入任務失效時間和松弛度時間的概念,如圖4所示:

正常情況下,任務的最長可執行周期時間等于任務執行時間加松弛度時間,即

Texec_cycle=Texec+Tslack,

(2)

其中,Texec_cycle為任務的最長可執行周期,Texec為任務的正常執行時間,Tslack為松弛度時間.當有故障出現時,松弛度時間可用于處理故障,但是當松弛度時間小于故障處理時間就會使得任務的實際完成時間超過任務的截止時間,會破壞用戶體驗甚至造成嚴重的事故風險.此處任務故障后的處理時間定義為任務失效時間:

Tfailure=TF+Twait,

(3)

其中,TF表示故障后必要的容錯時間,Twait表示監測到故障后可重構管理模塊對其進行處理前的等待時間.判斷Tslack與Tfailure的大小關系是對任務進行可靠性分級的關鍵,目的是使得任務失效時間小于任務松弛度時間,旨在保障任務的成功執行.其中Tslack對于每個任務來說是個定量,而Tfailure則與該任務采取的冗余方式和系統整體運行情況相關.冗余方式直接關系到容錯時間開銷,系統運行所處的輻射環境及處理器執行時間都會影響到故障處理所需的等待時間,本文不考慮可重構模塊本身的通信延時和開銷,則Twait由當前故障模塊的數量和全體任務的冗余執行方式決定.任務未分級時對應的匹配方式無法確定,此時Twait只與故障模塊的數量有關,其中故障模塊的數量直接受到外部輻射強度的影響.

對于三模冗余方式來說,一次故障后任務不間斷,即TF=0,可以不立即對故障進行修復,此處Twait=0;對于雙模熱備份,考慮故障模塊定位的時間,TF等于故障定位時間TL,需要通過可重構管理模塊進行比特流回讀故障定位,此處Twait為等待可重構管理模塊處理的時間;當采用單模執行時,TF包括任務恢復時間Trec和執行狀態復位時間Trs,由于需要通過可重構管理模塊對功能進行重配置,此處Twait為等待可重構管理模塊處理的時間.

Twait與當前的故障模塊數量相關,按最壞情況考慮,如果有大量的故障模塊需要處理,則假設某個故障模塊會等待之前故障模塊全部處理完成后才得到處理,故障模塊的數量與所處工作環境輻射強度直接相關.工作環境中影響任務執行可靠性的因素主要是輻射,不同輻射強度基于片上BRAM塊單粒子翻轉率進行統計,由于BRAM對單粒子效應的高敏感性,將BRAM內嵌塊作為監測器,用于感知單粒子翻轉.

若采用的FPGA配置存儲位容量為a(單位為Mb),位翻轉數Pbu為λ(單位為FIT/Mb),可編程器件的敏感單元所占比例為μ,那么該配置區塊內出現軟故障(soft error rate, SER)的數量為

CSER=aλμ.

(4)

在得到CSER后,按照最壞情況估計一次SEE造成的故障分散發生在不同分區,則Twait進一步量化為

(5)

其中,CSER向上取整表示最大可能發生的故障數量,Tconf為模塊平均重配置時間.如果任務執行周期內的時間滿足關系:

Twait+Trec+Tls≤Tslack,

(6)

那么該任務可靠性級別為高延時可靠性級別.如果不滿足式(6),檢查其截止時間是否滿足:

TL+Twait≤Tslack.

(7)

如果該任務滿足式(7)時序,那么該任務屬于低延時可靠性級別;如果該任務時序要求不滿足式(7)或任務類型設定為實時可靠性級別,那么該任務分類為實時可靠性級別.

3.2 評估策略優化

3.1節中所述的方法策略初步實現了任務的可靠性分級,但當前任務分級后對應匹配的冗余方式可能會影響實際的等待時間,Twait可能會隨著匹配三模冗余方式執行任務的數量增加而降低,部分任務的可靠性等級也可能發生改變.基于此,本文提出優化匹配算法(optimize matching strategy, OMS)對預評估策略進行優化,在滿足任務可靠性的前提下進一步優化任務的可靠性等級,從而改變部分任務匹配的冗余執行方式以降低總體資源開銷,優化匹配算法的偽代碼如算法1所示:

算法1.優化匹配算法OMS.

輸入:初始任務集Φ(Φ=ΦA∪ΦB∪ΦC,其中ΦA,ΦB,ΦC分別表示A類、B類、C類任務集合,ΦA={taskA(i)},ΦB={taskB(j)},ΦC={taskC(k)},i,j,k=1,2,…)、初始資源量R(R=3×ΦA.size()+2×ΦB.size()+ΦC.size())、位翻轉數λ;

輸出:優化后的任務集Φ′、優化后的資源量R′.

①max=aλμ;/*計算當前輻射條件下可能

發生的最大故障數量*/

②N=ΦB.size()+ΦC.size();/*計算當前執

行雙模和單模冗余的任務數*/

③ ifN

數和最大故障數量的關系*/

④Twait=Tconf×(max-N-1);/*重新計

算等待時間*/

⑤ListB[]=Sort(ΦB.Tslack);/*B類任務按

照松弛度時間大小降序排列*/

⑥ListC[]=Sort(ΦC.Tslack);/*C類任務按

照松弛度時間大小降序排列*/

⑦ loop do/*遍歷B類任務中是否存在可以

降級的任務*/

⑧ if (ListB[i].Tslack>Twait+Trec+Trs) do

⑨taskB(i)→taskC;

⑩ ifi==last-1 do/*判斷是否B類任

務的最后一個*/

可以降級的任務*/

有任務的可靠性是否滿足要求*/

到輻射造成故障的初始塊數*/

ΦC′;/*更新A類、B類、C類任

務集合并輸出*/

2×ΦB′.size()+ΦC′.size();

/*更新總的資源量并輸出*/

C類任務集合并輸出*/

ΦB′.size()+ΦC′.size();

/*更新總的資源量并輸出*/

預設定任務的可靠性級別后,將重新計算目前分級匹配策略下的故障處理等待時間Twait,該時間不只與輻射水平相關,也與采用三模冗余的任務數量相關,因為以三模冗余執行的任務不需要故障后立即處理,間接影響了Twait.當Twait減小后,其中某些任務的可靠性等級可以考慮降級,從而減少總體資源,達到優化資源的目的.算法1的行①計算當前輻射水平下可能發生的最大故障數max;行②將預評估策略的雙模和單模執行任務數相加得到N,N和max共同決定了Twait是否發生變化;行③~是Twait發生變化后的優化過程,其中行④重新計算了Twait,行⑤⑥分別對B類、A類任務按照各任務的slack進行排序,保證擁有較大slack的任務先考慮降級;從行⑦開始,對所有B類任務重新進行級別判斷,由于先執行A類任務降級會再次改變Twait值,因此從B類任務優先開始.如果B類任務滿足式(6)的時序關系,則將B類任務降級為C類任務,然后依次對B類任務判別,其中只要有一個B類任務不滿足式(6)的時序,則跳出循環,同時將B類、C類任務集更新并輸出更新后的資源總量,算法結束.如果全部B類任務滿足式(6)的時序,則從行開始對A類任務進行判別,依次看A類任務是否滿足式(7)的時序關系,注意每當一個A類任務滿足式(7)的時序時,并不先將其轉換成B類任務,因為每一個A類任務的減少也可能會影響到Twait值,此時需要重新計算Twait值.觀察當前Twait值是否滿足其他任務的可靠性要求,如果滿足則對當前A類任務降級,如果不滿足則跳出循環,同時更新A類、B類、C類任務集并輸出更新后的資源總量,算法結束.如果A類任務依次滿足式(7)的時序關系并順利降級,則當A類任務遍歷到第j個時(j值等于輻射造成故障的初始塊數),跳出循環,更新A類、B類、C類任務集并輸出更新后的資源總量,算法結束;行是Twait未發生變化的情況,當前不需要對預分級結果進行優化.

3.3 示例分析

設定FPGA片上動態可重構分區數量為25個,Tconf=5 s,Trec=Trs=TL=3 s.共有10個任務,其中任務類型屬于實時容錯級別的任務有2個,直接選擇三模冗余的方式執行,其余任務的松弛度時間分別是10 s,15 s,15 s,20 s,20 s,30 s,30 s,30 s.設定當前輻射強度最大可影響分區數量是3個,根據本文的式(5)可以計算出Twait=10 s.將Trec,Tls,TL,Twait分別代入式(6)(7),經過計算和匯總得到A類任務數為3,B類任務數為2,C類任務數為5.將A類、B類、C類輸入算法1,當前資源需求是18個動態可重構分區,判斷得到當前任務執行方式不影響實際等待時間,A類、B類、C類任務的數量不變.當輻射強度增強,設定當前輻射強度最大可影響分區數量是5個,根據本文的式(5),可以計算出Twait=20 s.將Trec,Tls,TL,Twait分別代入式(6)(7),經過計算和匯總得到A類任務數為7,B類任務數為0,C類任務數為3.將A類、B類、C類輸入算法1,當前資源需求是24個動態可重構分區,判斷得到當前任務執行方式會影響實際等待時間,此時最多影響3個任務的等待時間,經過算法優化得到A類任務數為6,B類任務數為1,C類任務數為3,此時資源需求是23個動態可重構分區,在保證相同可靠性的前提下節約了資源.

4 實驗驗證與分析

4.1 實驗方案設計

實驗首先驗證了BRAM監測器數量與輻射水平評估準確性的關系,旨在證明利用改進BRAM監測器的方式可以在片上最大化地構造監測器,以提高對外部輻射水平評估的準確性;其次驗證了所提出的FTDSR針對FPGA在輻射水平變化條件下的可靠性,可保證任務完成的情況,并與目前常用的4種片上容錯方法[14,16,20]進行對比:

1) 全任務的自適應方法(F-Strategy).片上所有任務隨輻射條件的變化而改變運行方式,在輻射水平正常情況下采用單模方式運行,在輻射水平較壞情況下采用雙模方式運行,在輻射水平最壞情況下采用三模方式運行.

2) 全三模冗余方法(S-TMR).無論何種輻射水平,片上任務均采用三模冗余方式運行.

3) 全雙模熱備份方法(S-DWC).無論何種輻射水平,片上任務均采用雙模熱備份方式運行.

4) 全無冗余方法(S-NOR).無論何種輻射水平,片上任務均采用單模方式運行.

為了確保實驗的可重復性,使用仿真實驗來評估上述4種片上容錯方法.仿真實驗代碼采用Python語言編寫,運行環境采用x86-64位Windows 10操作系統,硬件配置為i7-9750H CPU @2.6 GHz,16 GB內存容量.值得注意的是,本文改進的BRAM輻射監測器和任務冗余結構的動態變換均已經在Z-7010-XC7Z010片上實現.為了進一步量化實驗結果,選取2個指標進行對比:

1) 可靠性.輻射水平動態變化情況下,容錯方法保證片上任務成功完成的概率.

Reliability=1-γμ,

(8)

其中,γ是輻射故障率,μ是容錯冗余策略不滿足任務可靠性級別的任務數量與全部任務數量的比值.

2) 任務完成量(amount of tasks completion, ATC).片上資源量給定時,容錯方法在理論條件下確保最多可以完成的任務數量.

為了證明實驗的有效性并符合現實情況,選取Benchmark常用基準中的任務B1到B20作為基準任務[21],并在此基礎上對任務的類型、執行時間和截止時間等參數進行不同的設置,共生成100個實驗任務,將其分為10個集合(組),每個集合有10個任務.實驗設計了3個不同等級的輻射強度,分別是正常輻射強度、較壞輻射強度和最壞輻射強度.每個集合的實驗僅更改一個變量,同時保持其他參數不變,采用不同的任務集運行10次取平均結果.

4.2 實驗結果與分析

基于未使用BRAM和已使用(未鎖定)BRAM構造片上監測器,一個BRAM監測器可以覆蓋36 Kb的塊,Z-7010-XC7Z010器件PL端共包含2.1 Mb(60個BRAM)容量的BRAM資源,最多可以配置60個BRAM監測器.表1表明了SEU檢測率與片上監測器的數量呈正相關關系,監測器數量越多,檢測率就越高.基于改進方法,PL端配置位在未大量使用鎖定IP核的情況下可以最大化實現片上監測器,意味著可以通過評估監測器信息較為準確地評估當前輻射水平,從而為自適應容錯提供必要的參考.同時,由于監測器工作基本不影響用戶功能的實現,因此幾乎不會額外造成片上資源的浪費.

Table 1 SEU Detection Rate of BRAM-Based Radiation Monitors in Different Radiation Modes表1 不同輻射強度下基于BRAM輻射監測器的SEU檢測率

表2反映了不同容錯方法具備的功能,分別從容錯能力(fault tolerance capability, FTC)、輻射水平評估功能(radiation level evaluation function, REF)和動態自適應容錯功能(dynamic adaptive fault tolerance function, DAF)等方面進行比較.可以看出FTDSR方法相比S-NOR,S-DWC,S-TMR具備更多容錯相關功能.盡管F-Strategy也具備相同的功能,但其無法滿足單個任務對可靠性的要求并通常造成額外的資源浪費.

Table 2 Functional Characteristics of Different FaultTolerance Methods表2 不同容錯方法的功能特性

不考慮片上資源限制,不同容錯方法可提供的可靠性隨著輻射水平加劇的變化情況,如圖5所示.其中,FTDSR和S-TMR在所有輻射條件下均可以100%地保證任務成功執行,但其根本原因不同,圖5中2個線條重疊且位于縱軸最大值.S-TMR對所有任務采用三模冗余執行,可以保證在不同輻射水平下所有任務的可靠性要求;FTDSR則是根據每個任務對可靠性的要求在不同輻射水平下動態調整冗余方法,從而保證所有任務的成功執行.F-Strategy由于在正常輻射水平和較壞輻射水平下分別采用單模和雙模冗余執行任務,有一定的概率會導致任務的失敗;而在最壞輻射水平下,對全部任務均采用了三模冗余執行,所以可靠性達到了100%.S-DWC和S-NOR的可靠性會隨著輻射水平的加劇而進一步下降,尤其是S-NOR在最壞輻射水平時只能保證不高于80%的任務成功執行,這是由于隨著輻射水平的加劇會引發更多的故障并在短期內無法對所有故障任務進行容錯,進而導致任務執行失敗.

Fig. 5 Reliability provided by various strategies under different radiation levels圖5 不同輻射水平下不同策略的可靠性

不同容錯方法在不同輻射水平條件下執行任務需要的資源開銷,如圖6所示.可以明顯看出S-TMR方法所需的資源量是最大的,這是為保證任務的高可靠性付出的資源代價,相比較來看,FTDSR在提供相同可靠性的前提下只需要S-TMR策略平均60%的資源開銷,足以證明自適應冗余方式的優勢.輻射強度在正常和較壞水平時,FTDSR的平均資源開銷略高于S-NOR和F-Strategy,但可以提供更高的可靠性;相對于S-DWC,FTDSR則擁有更低的資源開銷和更高的可靠性.尤其是在輻射強度達到最壞情況下,FTDSR與S-DWC和S-NOR相比更具優勢,在資源開銷增加10%的情況下,提高了20%以上的可靠性.

Fig. 6 Resources required by various strategies under different radiation levels圖6 不同輻射水平下不同策略所需的資源量

Fig. 7 ATC under different radiation levels圖7 不同輻射水平下的任務完成量

資源受限條件下,圖7反映了5種容錯方法在不同輻射水平下可以完成的最大任務數量.由于S-TMR可以在任何輻射水平下滿足任務對可靠性的要求,因此其可完成任務的數量只與片上資源呈正相關,所以在資源一定時其完成任務的數量保持不變,但是在輻射水平較低條件下,該方法的短板非常明顯.相對而言,S-DWC和S-NOR在輻射水平較低時還具備一定優勢,一旦隨著輻射水平的加劇,它們可以完成的任務數量會明顯下降.F-Strategy在一定程度上彌補了S-DWC和S-NOR方法的不足,但全體任務隨著輻射水平的變化而同時改變冗余方式,也會造成不必要的資源開銷,從而限制可以完成的任務數量.FTDSR方法不同于F-Strategy方法對全體任務冗余方式的改變,而是針對單個任務在不同輻射水平下的可靠性要求進行細粒度的冗余匹配,兼顧了可靠性和資源效率,從圖7中可以看出FTDSR在任務完成量方面占有絕對優勢,平均比其他4種方法高出57.2%.

以上實驗結果可以看出,FTDSR與目前常用的4種FPGA容錯方法相比具有非常明顯的優勢,可以隨著輻射水平的變化動態自適應地為單個任務匹配相應的冗余策略,兼顧了系統高資源利用率和高可靠性等方面的要求.

5 結束語

目前常用的FPGA容錯方法很少考慮輻射水平變化對任務可靠性的影響,直接為片上任務加載三模冗余方式執行,盡管滿足較高的可靠性要求,但往往造成極大的資源開銷.本文提出的FTDSR方法隨著輻射水平的變化評估每個任務的可靠性等級,以單個任務為粒度動態自適應地匹配相應的冗余方式,兼顧了系統資源利用率和高可靠性要求,同時改進了基于BRAM的輻射監測器,最大化地構造片上BRAM監測器來提高輻射水平評估的準確性.

未來的工作可以分析輻射對片上故障分布的影響,從而更加準確地評估該環境下任務所在執行模塊發生故障的概率,或者在給定資源條件下對任務匹配策略進一步優化,實現更有針對性的容錯設計.

作者貢獻聲明:李澤宇負責提出研究方案和論文撰寫;王泉負責方案設計和論文修訂;楊鵬飛負責實驗設計和論文撰寫;許志偉負責論文修訂;梁金鵬和高歌負責實驗執行和論文修訂.

猜你喜歡
故障資源水平
張水平作品
基礎教育資源展示
一樣的資源,不一樣的收獲
故障一點通
加強上下聯動 提升人大履職水平
人大建設(2019年12期)2019-05-21 02:55:32
資源回收
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
奔馳R320車ABS、ESP故障燈異常點亮
故障一點通
江淮車故障3例
主站蜘蛛池模板: 亚洲三级电影在线播放| 免费无码又爽又黄又刺激网站| 久久福利片| 精品国产免费人成在线观看| 九九热视频精品在线| 日韩精品一区二区三区免费在线观看| 日韩精品专区免费无码aⅴ| 国产成人高清精品免费软件| 国产精品永久在线| 国产又色又刺激高潮免费看| 亚洲日韩国产精品无码专区| 久久semm亚洲国产| 色AV色 综合网站| 亚洲综合中文字幕国产精品欧美 | 曰AV在线无码| 亚洲天堂福利视频| 婷五月综合| 国产人免费人成免费视频| 在线免费a视频| 播五月综合| 98超碰在线观看| 欧美激情网址| 精品一区二区无码av| 色偷偷综合网| 久久不卡精品| 久久精品国产精品青草app| 九色视频最新网址| 国产无码制服丝袜| 国产麻豆91网在线看| 国产精品夜夜嗨视频免费视频| 中文无码日韩精品| 无码日韩人妻精品久久蜜桃| 中文字幕乱码中文乱码51精品| 國產尤物AV尤物在線觀看| 成年人福利视频| 亚洲电影天堂在线国语对白| 国产精品va| 香蕉伊思人视频| 国产日韩欧美成人| 亚洲人成网站色7777| 久久精品66| 国产欧美专区在线观看| 91福利一区二区三区| 欧美高清国产| 国产成人无码综合亚洲日韩不卡| 三区在线视频| 久久夜色精品国产嚕嚕亚洲av| 国产99视频免费精品是看6| 日韩亚洲综合在线| 国产人成在线视频| 99999久久久久久亚洲| 国产精品成人久久| 婷婷色丁香综合激情| 五月婷婷导航| 国产区91| 99久视频| 国产精品大尺度尺度视频| 在线观看91精品国产剧情免费| 伊人91视频| 欧美日韩激情在线| 亚洲无码高清一区| 欧美三级不卡在线观看视频| 中文字幕亚洲电影| 免费无遮挡AV| 丝袜美女被出水视频一区| 欧美无遮挡国产欧美另类| 国产一区在线视频观看| 亚洲视频免费在线| 免费无码一区二区| 欧美日韩在线亚洲国产人| 色网在线视频| 日韩A级毛片一区二区三区| 欧美v在线| 经典三级久久| 国产91色| 国产自在线播放| 久久久久亚洲av成人网人人软件 | 日韩毛片免费视频| 国产精品自拍合集| 日韩毛片免费视频| 老司国产精品视频91| 蜜臀av性久久久久蜜臀aⅴ麻豆|