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

        ?

        基于雙核鎖步的多核處理器SEU加固方法

        2024-04-01 02:38:30伍攀峰許振龍
        計算機測量與控制 2024年3期
        關鍵詞:設置系統(tǒng)

        郭 強,伍攀峰,2,許振龍

        (1.山東航天電子科學技術研究所,山東 煙臺 264006;2.哈爾濱工業(yè)大學 航天學院,哈爾濱 150001)

        0 引言

        近年來,隨著國內(nèi)外航天產(chǎn)業(yè)和新興技術的蓬勃發(fā)展,衛(wèi)星功能密度和星上實時性要求日益增長,基于傳統(tǒng)單核處理器設計的星載計算機系統(tǒng)已無法滿足航天器任務需求,多核處理器應用于航天任務已成為了發(fā)展的必然[1]。

        航天應用的電子產(chǎn)品要考慮空間輻射效應的影響??臻g輻射環(huán)境中的高能質(zhì)子、粒子等都有可能使高集成衛(wèi)星電子系統(tǒng)中的半導體器件在敏感區(qū)域產(chǎn)生瞬態(tài)脈沖,進一步觸發(fā)單粒子翻轉(SEU,single event upsets)事件,導致系統(tǒng)得到錯誤的運行結果以及系統(tǒng)中的其他故障,如掛起和崩潰等[2]。當輻射足夠高時,可能致使存儲器單元、寄存器、鎖存器和觸發(fā)器的數(shù)據(jù)位發(fā)生翻轉,從而引起系統(tǒng)錯誤[3]。單粒子效應引發(fā)的錯誤類型包括硬錯誤和軟錯誤兩種不同類型的錯誤。隨著集成電路工藝尺寸的持續(xù)優(yōu)化,軟錯誤出現(xiàn)的幾率大幅度提高,已成為航天器設計中的重點研究對象[4]。

        就目前的技術而言,傳統(tǒng)的星載計算機一般采用由專門定制的宇航級器件設計而成,宇航級的器件考慮了真空、輻射、原子氧等空間環(huán)境適應性和長期工作可靠性,但在性能上普遍落后于同期商用貨架產(chǎn)品(COTS,commercial off-the-shelf),而且價格成本遠遠高于后者。相比于高等級抗輻射加固宇航器件,COTS器件因性能優(yōu)異、成熟度高、采購成本低廉的特性在國際上已得到充分認可[5]。但COTS器件在芯片設計時沒有進行抗輻射加固設計,應用于空間任務易發(fā)生單粒子翻轉,進而對星上電子系統(tǒng)產(chǎn)生影響,需要進行相應的抗SEU容錯[6]。

        星上電子系統(tǒng)常用的抗單粒子加固措施有雙機切換、多模冗余、錯誤檢測與糾正(EDAC,error detection and correction)檢驗等方式。文獻[7]針對PowerPC460處理器核原有存儲機制以及糾檢錯加固算法展開研究,實現(xiàn)了對PowerPC460兩種不同糾錯能力的EDAC加固設計;文獻[8]中采用軟硬件結合的方式,設計了一種低成本容錯方法。針對星載計算機硬件采用雙機冷備方案,同時通過現(xiàn)場可編程門陣列(FPGA,field programmable gate array)仲裁處理器狀態(tài),在檢測到異常時進行切機;文獻[9]提出了一種三模冗余設計,采用部組件級冗余,3個CPU進行熱冗余備份,通過FPGA完成仲裁,信息通過高速串行外設接口(SPI,serial peripheral interface)實現(xiàn)信息交互;文獻[10]中在可重構FPGA內(nèi)部設置獨立工作的三核處理器,通過反熔絲FPGA可對任一處理器進行重構,構成了可修復的三模冗余系統(tǒng)。

        盡管硬件層面的加固方式可以有效提高電子系統(tǒng)的可靠性,但也帶來了額外的硬件開銷和資源占用問題。從軟件層面通過犧牲處理器部分性能來提高系統(tǒng)可靠性是另一種行之有效的方法。車輛、航空電子系統(tǒng)中常用鎖步技術來實現(xiàn)雙核處理器抗軟錯誤軟件加固[11-14]。文獻[15]提出了一種擴展的雙核鎖步方法,將執(zhí)行周期和鎖步周期分離,并引入了"寫歷史表"的概念,降低了系統(tǒng)性能開銷,但需要額外引入監(jiān)測模塊對兩核計算結果作判斷;文獻[16]發(fā)明了一種基于Zynq-7000的雙核ARM處理器抗軟錯誤防護方法,結合基于復算域的雙核互檢方法和基于檢查點的回卷恢復方法,可在雙核處理器核間實現(xiàn)軟錯誤的檢測和恢復,但檢查點設置在每段程序末尾,回卷帶來的系統(tǒng)性能開銷過大。

        本文基于雙核鎖步機制,提出了一種多核處理器核間互檢機制,在不引入額外硬件的前提下,將寫命令作為CPU間的同步點,檢查點在寫同步點中選取,僅對系統(tǒng)關鍵數(shù)據(jù)的改動做記錄,以較小的性能開銷實現(xiàn)了軟錯誤檢測和系統(tǒng)恢復。最后采用軟件故障注入方式對加固前后的處理器抗單粒子翻轉能力進行評估,驗證了該機制抗軟錯誤能力滿足應用的需要。

        1 雙核鎖步機制

        鎖步技術是一種錯誤檢測機制,常應用于車輛、航空電子系統(tǒng)中,是雙核處理器抗軟錯誤加固設計的重要技術手段。

        雙核鎖步系統(tǒng)通常被稱為主從鎖步處理器。冗余處理器稱為從屬,在開機復位(POR,power on reset)時以與主處理器相同的狀態(tài)開始,運行相同的指令,接收相同的輸入,并在沒有發(fā)生錯誤時在每個時鐘周期中生成相同的輸出。如果主核和從核輸出結果不同,系統(tǒng)會自動丟棄錯誤并重新執(zhí)行指令。如果嘗試糾正錯誤的次數(shù)超過了允許的閾值,則會觸發(fā)系統(tǒng)重置。雙核鎖步技術的原理如圖1所示。

        圖1 雙核鎖步原理

        檢查點(CP,check point)技術是在應用程序的執(zhí)行過程中,每間隔一段時間將處理器當前正確的狀態(tài)以檢查點文件的形式存儲到存儲器中;回卷恢復(RR,rollback recovery)技術是在檢測到系統(tǒng)發(fā)生故障后,由處理器從存儲器中讀取最近一次保存的檢查點文件,使處理器恢復至上一個正確狀態(tài)并重新執(zhí)行故障程序,避免在發(fā)生故障后,處理器重新開始執(zhí)行應用程序,從而減少了因故障帶來的計算損失,有效地提高系統(tǒng)的可用性和容錯能力,檢查點和回卷恢復技術的原理如圖2所示[17]。

        圖2 檢查點和回卷恢復技術

        2 雙核互鎖加固設計

        2.1 硬件架構

        本文提出的雙核互鎖加固設計是在PowerPC架構中Qorlq系列的一款雙核處理器P2020上設計和實現(xiàn)的,該方法僅需要一些調(diào)整就可適用于其他系列處理器,是面向通用型多核處理器的抗軟錯誤加固設計。硬件架構如圖3所示。

        圖3 雙核互鎖硬件架構

        兩核有各自的cache存儲互鎖機制產(chǎn)生的過程信息,通過共享的L2 cache及ddr3存儲器存儲程序及運行過程中的寄存器、內(nèi)存數(shù)據(jù)。本文雙核互鎖機制基于寫操作進行同步,每次寫同步都會進行兩核交互,若彼此計算結果一致則繼續(xù)執(zhí)行程序,否則將系統(tǒng)狀態(tài)恢復到最近的檢查點,重新執(zhí)行部分指令。

        DDR3中設置兩級歷史表(WHT,write history table)文件,分別存儲第N個和第N-1個鎖步周期內(nèi)產(chǎn)生的寫命令,寫同步處更新歷史表0,檢查點處更新歷史表1。當系統(tǒng)檢測到錯誤時,調(diào)用回卷中斷,從歷史表中獲取自上一個檢查點起被更改的數(shù)據(jù),并進行恢復。

        表1 CPU0寫同步應用簽名計算過程

        2.2 軟件平臺

        本文雙核互鎖設計基于Vxworks操作系統(tǒng)實現(xiàn)。Vxworks操作系統(tǒng)是美國風河(WindRiver)公司于1983年開發(fā)的一種高性能、可裁剪的嵌入式實時操作系統(tǒng),具有較強的時性和可靠性,廣泛應用在航空、航天、軍事等實時性要求極高的高精尖技術領域中[18-19]。

        本文使用Vxworks操作系統(tǒng)搭建非對稱多處理(AMP,asymmetric multiprocessing)工作環(huán)境,在兩核中運行相同的程序,通過消息隊列進行兩核交互,使用PowerPC處理器自帶的核間中斷進行檢查點和回卷恢復操作。

        3 雙核互鎖加固實現(xiàn)

        在雙核互鎖機制中,兩處理器運行相同的應用程序,基于寫指令進行同步,每N個寫同步設置一個驗證點(VP,verification point)。根據(jù)應用程序功能和可靠性要求等因素,合理設置VP的數(shù)量和間隔。圖4詳細介紹了CPU0、CPU1的執(zhí)行概況及互鎖加固流程。

        圖4 雙核互鎖加固流程

        1)寫同步:CPU0、CPU1執(zhí)行相同的應用程序,在寫命令處進行同步,交換數(shù)據(jù);

        2)一致性判斷:CPU寫同步后,將自身數(shù)據(jù)與來自另一處理器的數(shù)據(jù)進行比較,比較結果有一致和不一致兩種;

        3)WHT0:CPU0的一級寫歷史表,負責存儲第N個檢查點(最近的一次檢查點)后CPU0對關鍵數(shù)據(jù)的寫命令;

        4)WHT0*:CPU1的一級寫歷史表,負責存儲第N個檢查點(最近的一次檢查點)后CPU1對關鍵數(shù)據(jù)的寫命令;

        5)VP:檢查點;

        6)WHT1:二級寫歷史表,負責存儲第N-1個檢查點到第N個檢查點(最近的一次檢查點)間處理器對關鍵數(shù)據(jù)的寫命令,在檢查點處更新。

        數(shù)據(jù)初始化后,兩核并行執(zhí)行相同應用程序,在執(zhí)行到寫命令時進行同步。在寫同步處,兩核通過消息隊列進行寫指令交互,然后比較二者的差異,如果對比結果一致,則認為系統(tǒng)中沒有發(fā)生故障,更新WHT0、WHT0*;若對比結果不一致,則認為當前系統(tǒng)中發(fā)生故障,生成回卷恢復中斷信號,CPU0、CPU1分別響應中斷信號,使系統(tǒng)恢復到上一個驗證點狀態(tài)。

        執(zhí)行到驗證點時,若CPU寫同步均判斷一致,則代表連續(xù)通過了N個同步點,此時應用程序暫停執(zhí)行,對比WHT0和WHT0*,若表決一致,兩核生成檢查點中斷信號,調(diào)用中斷服務例程獲取WHT0內(nèi)容,覆蓋WHT1,并清空WHT0、WHT0*,然后繼續(xù)執(zhí)行應用程序。同一時刻,DDR3存儲器中保留有恢復至系統(tǒng)第N個檢查點的WHT0和恢復至第N-1個檢查點的WHT1文件。

        處理器調(diào)用回卷中斷程序,即寫同步判斷不一致時,CPU0、CPU1從WHT0中獲取第N個檢查點后的所有寫命令,執(zhí)行回卷恢復操作,從第N個檢查點重新執(zhí)行該段程序,直到應用程序執(zhí)行結束。

        在本文中,寫操作范圍被定義為:

        1)通用寄存器:GPR0-GPR31;

        2)特殊寄存器:條件寄存器(CR,condition register)、鏈接寄存器(LR,link register)和計數(shù)寄存器(CTR,count register)等;

        3)DDR3存儲器。

        同時,在設計時要考慮以下問題:

        1)CPU0、CPU1連接到外部DDR3存儲器,并將應用程序和檢查點文件存儲在不同地址中;

        2)CPU0、CPU1共享DDR3內(nèi)存,對于不可同時訪問的資源需要設置互斥信號量等進行保護;

        3)驗證點在所有寫同步中選取,但二者并不等同,大部分寫同步不對WHT1作改動。

        3.1 互鎖判斷

        在雙核互鎖機制中,由CPU本身擔任監(jiān)測模塊,任一CPU判斷兩核寫命令不一致,則認為系統(tǒng)中出現(xiàn)了軟錯誤,需要采取相應措施。監(jiān)測機制基于Vxworks操作系統(tǒng)編寫,采用C語言進行設計,它負責驗證CPU0和CPU1的一致性并通過輸出的中斷信號控制鎖步。監(jiān)測模塊通過比較CPU0、CPU1的寫命令來判斷二者是否一致,比較方式有以下兩種。

        1)第一種方法:將CPU0、CPU1同步時的寫地址和寫數(shù)據(jù)分別發(fā)送給對方,然后二者對各自數(shù)據(jù)的每一位進行比較;

        2)第二種方法:在CPU0、CPU1寫同步的數(shù)據(jù)中應用簽名,兩CPU僅對比簽名來判斷是否一致,簽名方式有數(shù)據(jù)總和、異或掩碼等。

        在第一種方法中,不需要對應用程序做額外修改,優(yōu)點是監(jiān)測覆蓋率較大,但會增大系統(tǒng)開銷。在第二種方法中,需要在同步前計算簽名,即在應用程序上附加代碼,但降低了監(jiān)測模塊對比數(shù)據(jù)量,有效降低了系統(tǒng)消耗時間。

        綜合考慮上述兩種方法的優(yōu)缺點,采用第二種方法在CPU0、CPU1的寫同步數(shù)據(jù)中應用簽名,而后再由CPU0、CPU1進行對比,簽名的實現(xiàn)方式是:將寫地址和寫數(shù)據(jù)相與,然后計算總和中二進制數(shù)據(jù)“1”的個數(shù),如表1所示。

        以CPU0為例,寫同步流程如圖5所示。首先CPU0計算自身寫地址和寫數(shù)據(jù)的簽名,然后通過消息隊列將簽名發(fā)送至CPU1,等待來自CPU1的簽名,超時則觸發(fā)回卷。

        圖5 雙核互鎖CPU0寫同步過程

        接收到來自CPU1的簽名后,CPU0進行二者對比,不一致觸發(fā)回卷。若一致性判斷通過,則記錄寫命令,繼續(xù)執(zhí)行程序。

        3.2 檢查點與回卷恢復技術

        3.2.1 檢查點技術

        檢查點的設置基于CPU0、CPU1的寫同步,設置檢查點間隔為N,每連續(xù)N個寫同步檢驗通過,就向CPU0、CPU1發(fā)送一個檢查點中斷請求,CPU0、CPU1響應中斷信號后執(zhí)行檢查點中斷操作。處理器響應中斷流程如圖6所示。

        圖6 處理器響應中斷流程

        在檢查點執(zhí)行過程中,發(fā)送中斷請求,調(diào)用中斷服務函數(shù),初始化相關信號量和共享變量,獲取WHT0中數(shù)據(jù)形成檢查點文件,覆蓋歷史表1,并清空歷史表0。

        3.2.2 回卷恢復技術

        當任何一次寫同步檢測到兩核寫命令不同時,系統(tǒng)進入回卷恢復操作。為了盡可能降低系統(tǒng)回卷引入的性能資源消耗,本文設置了四級回卷,如圖7所示。

        圖7 回卷恢復流程

        一級回卷中斷:一次表決不一致時,回卷計數(shù)值加1,重新執(zhí)行該指令;

        二級回卷中斷:連續(xù)兩次表決不一致,按照WHT0內(nèi)容修改DDR3中內(nèi)存數(shù)據(jù)段與CPU寄存器的值,使它們恢復到第N個檢查點狀態(tài),回卷計數(shù)值加1,其余信號清零,退出中斷;

        三級回卷中斷:按照WHT0、WHT1內(nèi)容修改DDR3中內(nèi)存數(shù)據(jù)段與堆棧數(shù)據(jù)段的值,使它們恢復到第N-1個檢查點狀態(tài),回卷計數(shù)值加1,其余信號清零,退出中斷;

        四級回卷中斷:中斷服務程序用DDR3中的備份數(shù)據(jù)覆蓋內(nèi)存數(shù)據(jù)段、CPU寄存器值,清空WHT0和WHT1,清零所有信號,重新執(zhí)行該程序。

        當連續(xù)回卷計數(shù)為5時,代表四級回卷恢復機制仍未解決當前系統(tǒng)中出現(xiàn)的錯誤,控制系統(tǒng)復位。此外,對雙核鎖步過程中的數(shù)據(jù)傳輸進行信息冗余加固,提高系統(tǒng)可靠性。

        3.3 核間交互

        雙核互鎖設計以較小的性能和資源代價來換取系統(tǒng)可靠性的提升,兩核互為檢查模塊,任一核認為數(shù)據(jù)異常則默認系統(tǒng)受到軟錯誤影響,可見兩核的交互是雙核互鎖設計的關鍵,包括兩核交互、交互方式、交互頻率等,兩核交互設計的好壞決定了系統(tǒng)性能開銷大小。

        3.3.1 交互內(nèi)容

        交互內(nèi)容是指系統(tǒng)在檢查點操作時具體保存的某些狀態(tài)。交互內(nèi)容設置詳細,那么通過回卷技術可以有效地使系統(tǒng)回到上一個檢查點時的正確狀態(tài),重新執(zhí)行程序段,得到正確的結果。相應的,也會帶來系統(tǒng)檢查點操作和回卷操作時間的增加;上下文內(nèi)容缺失,會導致無法通過回卷技術得到正確的系統(tǒng)狀態(tài),進而不能夠產(chǎn)生正確的計算結果,使整個鎖步機制失效。

        在本文中,交互內(nèi)容包括寫命令對內(nèi)存數(shù)據(jù)段的改變以及CPU各寄存器值,考慮到DDR3存儲器受錯誤檢查和糾正(ECC,error checking and correcting)技術加固,認為內(nèi)存數(shù)據(jù)可靠性較高,并在每個程序開始執(zhí)行時進行一次內(nèi)存數(shù)據(jù)段備份,程序運行到檢查點時僅更新交互內(nèi)容不對內(nèi)存數(shù)據(jù)段進行額外操作。

        3.3.2 交互方式

        通常情況下,鎖步系統(tǒng)通過一致性檢驗進行兩處理器的同步。目前主要的設置方式有寫操作同步和劃分程序塊同步兩種。前者是在處理器運行到寫操作時,通過等待的方式進行同步,當完成一致性檢驗后,兩個處理器同時開始后續(xù)指令執(zhí)行;劃分程序塊是指將應用程序劃分為多個塊,在兩塊之間設置驗證點,當?shù)竭_驗證點時,通過等待的方式實現(xiàn)同步。

        在本文中,考慮到劃分程序塊可能使錯誤數(shù)據(jù)污染內(nèi)存,甚至對其他系統(tǒng)造成嚴重影響的情況,選擇基于寫操作同步的設置方式。但由于寫操作頻率在不同程序間的不確定性,本文選擇將檢查點設置與一致性檢驗設置進行區(qū)分,每次寫操作都進行一致性檢驗,多次寫操作后進行一次檢查點操作。同時設置四級回卷,針對潛在單粒子影響有一定的抵抗能力。

        3.3.3 交互頻率

        檢查點間隔的選取對系統(tǒng)性能影響很大。檢查點設置密集,意味著需要頻繁進行檢查點操作,且易產(chǎn)生潛在單粒子影響無法消除的現(xiàn)象;檢查點設置稀疏,兩個處理器計算結果不一致,觸發(fā)回卷后需要重新執(zhí)行很長一段程序。致使系統(tǒng)產(chǎn)生不必要的性能開銷。

        在本文中,將檢查點設置與一致性檢驗設置進行區(qū)分,每次寫同步都進行一致性檢驗,多次寫同步后進行一次檢查點操作。通過寫請求先到等后到的方式進行CPU0、CPU1的同步。檢查點數(shù)量和回卷數(shù)量設置不一致,當寫同步一致性表決不通過時,根據(jù)連續(xù)回卷次數(shù),產(chǎn)生相應的回卷中斷信號。

        4 故障注入基本原理與方案設計

        4.1 軟件故障注入技術

        軟件故障注入技術(SWIFI,software implemented fault injection)是在軟件層次來實現(xiàn)處理器的故障注入方法,該技術不需要任何硬件設備就可以實現(xiàn)故障的模擬注入,而是在處理器程序編譯或者運行時動態(tài)的修改執(zhí)行程序,或者人為設置寄存器值來改變處理器的運行狀態(tài),這種注入方法不需要任何額外的開銷,屬于一種低成本的故障注入技術,且故障注入位置靈活可控,具有相當高的自由性。另一方面,通過腳本或者程序可以實現(xiàn)批量的故障注入操作,完成故障注入的全自動化設置。

        故障注入會因?qū)崿F(xiàn)方式的不同或者注入對象的不同而略有差異,但是基本設計思想是一致的[20],其原理如圖8所示。

        圖8 故障注入原理圖

        主要通過定時器超時、代碼插入和異常/陷阱等技術手段[21],對雙核鎖步機制及個容錯技術進行故障注入實驗,模擬系統(tǒng)中上至雙核處理器、下至處理器的寄存器、存儲單元等多個層次可能發(fā)生的故障,驗證雙核互鎖機制是否能夠有效工作,提高系統(tǒng)可靠性。

        4.2 故障注入設計方案

        為驗證本文提出的雙核互鎖機制的抗軟錯誤的有效性,在兩核寫同步、檢查點兩處注入故障來模擬系統(tǒng)中出現(xiàn)的單粒子翻轉現(xiàn)象,觀察CPU0、CPU1是否能正確識別軟錯誤,并通過回卷恢復技術得出正確的結果。

        4.2.1 同步點故障注入

        在雙核互鎖機制中,CPU0和CPU1執(zhí)行相同的程序,在寫同步處進行數(shù)據(jù)交互,從而進行一致性判斷,產(chǎn)生相應的檢查點中斷信號或回卷中斷信號。因此,為了模擬處理器在執(zhí)行任務過程中數(shù)據(jù)位翻轉的情況,可以通過故障注入的方法直接對處理器寫命令的計算簽名進行修改,故障注入位置如圖9所示。

        圖9 同步點故障注入

        故障注入步驟如下:

        1)設置信號量sig0,核1每次寫命令時sig0信號自增;

        2)核1寫同步計算簽名后讀取sig0信號,若大于預設值,則進入故障注入函數(shù);

        3)同步點故障注入函數(shù)獲取核1計算后的簽名,與0x55555555做與運算,將運算結果重新賦值給簽名;

        4)核1得到故障注入后的簽名,通過消息隊列與核0交換數(shù)據(jù),兩核進行一致性判斷。

        連續(xù)修改一次到五次寫同步后形成的核0的計算簽名,每次翻轉簽名中的一個bit位,模擬執(zhí)行應用過程中數(shù)據(jù)位發(fā)生翻轉的情況,致使系統(tǒng)產(chǎn)生回卷恢復中斷信號,并觀察系統(tǒng)回卷級數(shù),后續(xù)是否能恢復到正確的系統(tǒng)狀態(tài),產(chǎn)生正確輸出。

        4.2.2 檢查點文件故障注入

        檢查點文件是雙核鎖步機制的核心,是系統(tǒng)能恢復到上一個正確狀態(tài)的依據(jù)。CPU執(zhí)行到檢查點處時,分別從WHT0、WHT0*獲取數(shù)據(jù),生成檢查點文件。因此,為了模擬處理器在檢查點處數(shù)據(jù)位翻轉情況,可以在檢查點文件生成時進行故障注入,故障注入位置如圖10所示。

        圖10 檢查點文件故障注入

        故障注入步驟如下:

        1)設置信號量sig1,核1每次進入檢查點時sig1信號自增;

        2)核1在計算檢查點文件簽名前讀取sig1信號,若大于預設值,則進入檢查點故障注入函數(shù);

        3)在檢查點故障注入函數(shù)中,手動設置不同的故障注入位置,分別將檢查點文件中各寄存器的值與0x55555555做與運算,運算結果保存到檢查點文件中;

        4)核1計算檢查點文件簽名,通過消息隊列與核0交換數(shù)據(jù),進行一致性判斷。

        通過修改CPU1生成檢查點文件中各寄存器值,翻轉其中的1 bit位,模擬從堆棧地址中讀取各寄存器值時發(fā)生數(shù)據(jù)位翻轉的情況,致使CPU0、CPU1在對比檢查點文件的簽名時產(chǎn)生回卷恢復中斷信號,從而達到故障注入的目的。同樣通過連續(xù)注入一次到四次錯誤,觀察系統(tǒng)回卷級數(shù),是否能恢復到正確的系統(tǒng)狀態(tài)。

        5 故障注入試驗結果分析

        根據(jù)4.2所述的軟件故障注入方案,分別進行相應的故障注入設計,其實驗結果如表2所示。

        表2 雙核互鎖故障注入實驗結果

        其中,W1點是該應用程序的非首個寫同步點,W2點是程序的非首個檢查點,r1是通用寄存器,CR是條件寄存器,LR是鏈接寄存器。

        在寫同步計算簽名過程中,選取了W1、W2兩個程序運行位置進行了故障注入,每個注入點進行了1次注入到連續(xù)5次注入實驗,雙核互檢機制可以穩(wěn)定檢查到兩核運行過程中出現(xiàn)不一致,以及連續(xù)注入錯誤的數(shù)量,準確率為100%。根據(jù)連續(xù)出錯次數(shù),雙核互檢機制選取不同的恢復策略:1次錯誤時調(diào)用一級回卷中斷函數(shù),重新執(zhí)行指令;連續(xù)2次到3次錯誤時,系統(tǒng)調(diào)用二級、三級回卷中斷函數(shù),分別回卷至第N次、第N-1次檢查點的系統(tǒng)狀態(tài);連續(xù)4次出現(xiàn)錯誤,系統(tǒng)調(diào)用四級回卷中斷,將應用程序初始化時備份的程序段傳入內(nèi)存,重新執(zhí)行該程序;當連續(xù)超過4次錯誤時,處理器復位。

        在檢查點文件中,選取通用寄存器r1、特殊寄存器CR、LR三個故障注入點,同樣各個注入點分別進行1至5次手動造錯。多次實驗下,CPU0、CPU1進行一致性表決時,均可得到“fail”的表決結果,并且根據(jù)連續(xù)回卷計數(shù)觸發(fā)正確的回卷中斷信號。連續(xù)注入故障不超過4次時,CPU0、CPU1能通過回卷恢復能到正確的輸出結果,避免了類似的單粒子翻轉對系統(tǒng)可靠性的影響。當連續(xù)回卷計數(shù)值達到5時,認為該系統(tǒng)已無法通過回卷恢復技術糾正錯誤,進行復位操作。

        綜上,本文雙核互鎖機制可以在不額外增加硬件的前提下,犧牲小部分處理器性能,使系統(tǒng)具備較好的軟錯誤檢測和系統(tǒng)恢復能力。

        6 結束語

        本文提出了一種面向通用處理器的雙核互檢抗軟錯誤加固方法,該方法基于寫命令進行CPU0、CPU1同步,結合檢查點、回卷恢復技術實現(xiàn)正確狀態(tài)的保存和恢復。通過簡化檢查點存儲數(shù)據(jù)和四級回卷恢復機制,降低處理器資源開銷的同時有效保障了系統(tǒng)可靠性。

        軟件層面改進的雙核互檢算法面向通用型多核處理器,具有良好的可移植性。根據(jù)軟件故障注入仿真結果可知,雙核互檢方法可以100%檢測到程序運行關鍵數(shù)據(jù)發(fā)生的翻轉,并通過多級回卷技術得到正確的結果,具備較強的工程實用價值。雙核互檢加固方法對處理器性能影響的評估將是未來工作的重心。

        猜你喜歡
        設置系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        中隊崗位該如何設置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        7招教你手動設置參數(shù)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        本刊欄目設置說明
        中俄臨床醫(yī)學專業(yè)課程設置的比較與思考
        亚洲 成人 无码 在线观看| 成人丝袜激情一区二区| 最新国产福利在线观看精品| 99久久免费精品高清特色大片| 国产大学生粉嫩无套流白浆| 国产国拍亚洲精品午夜不卡17| av在线男人的免费天堂| av在线不卡免费中文网| 中国少妇×xxxx性裸交| 99精品人妻少妇一区二区| 久久精品片| 青青草一级视频在线观看| 亚洲国产中文字幕无线乱码| 无码av一区二区大桥久未| 日韩在线精品国产成人| 国产传媒剧情久久久av| 九九久久精品一区二区三区av | av天堂最新在线播放| 国产无遮挡又黄又爽免费网站| 98bb国产精品视频| 天堂视频一区二区免费在线观看| 国产视频一区2区三区| 亚洲日韩中文字幕在线播放| 精品国产18久久久久久| 无夜精品久久久久久| 综合中文字幕亚洲一区二区三区 | 色婷婷激情在线一区二区三区| 亚洲一区二区三区99| 十八18禁国产精品www| 国产成人精品免费久久久久| 日产乱码一区二区国产内射| 嫩呦国产一区二区三区av| 久久久国产精品va麻豆| 国产精品无码一本二本三本色| 免费人成在线观看播放国产| 日本久久黄色高清视频| 永久免费a∨片在线观看 | 粗了大了 整进去好爽视频| 色www亚洲| av资源在线免费观看| 性高朝久久久久久久3小时|