欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于設備視圖冗余的眾核處理器容錯方法

文檔序號:6638983閱讀:433來源:國知局
基于設備視圖冗余的眾核處理器容錯方法
【專利摘要】本發(fā)明公開了一種基于設備視圖冗余的眾核處理器容錯方法,步驟包括:預先在眾核處理器的主核和冗余核中加入可靠設備單元并提供可供編程調用的設備視圖;主核執(zhí)行到配置指令時配置可靠設備單元,控制核為主核分配冗余核;在主核執(zhí)行到啟用指令后,主核將現(xiàn)場復制給冗余核,主核和冗余核分別啟用可靠設備單元;控制核分別發(fā)送冗余執(zhí)行命令,主核和冗余核開始容錯執(zhí)行,控制核定時執(zhí)行更新檢查點,在容錯執(zhí)行出錯時退回上一個檢查點;在主核執(zhí)行到停用指令后,分別停用可靠設備單元,主核繼續(xù)執(zhí)行應用程序。本發(fā)明可靠性高、軟件調用方便、容錯靈活、容錯成本低、錯誤發(fā)現(xiàn)實時、容錯執(zhí)行效率高,能夠充分利用空閑的核資源、對系統(tǒng)性能影響小。
【專利說明】基于設備視圖冗余的眾核處理器容錯方法

【技術領域】
[0001]本發(fā)明涉及微處理器體系結構領域眾核容錯技術,具體涉及一種基于設備視圖冗余的眾核處理器容錯方法。

【背景技術】
[0002]故障率的增加使得容錯成為所有處理器必需面對的問題。甚至桌面應用也開始考慮可靠性。目前廣泛應用容錯系統(tǒng)的都是金融、能源、航空航天等關鍵領域,這主要是因為這些關鍵應用對容錯開銷的承受能力強。而桌面應用,高性能計算等應用對容錯代價是很敏感的。同時處理器的發(fā)展也日益從多核向眾核發(fā)展。所以一種面向開銷敏感型應用的眾核容錯技術是極為有意義的。
[0003]目前主流的容錯技術分軟件實現(xiàn)和硬件實現(xiàn)兩種,軟件實現(xiàn)多基于多次執(zhí)行相同程序比較結果,而硬件容錯多基于多模冗余,實現(xiàn)多套硬件資源來同時執(zhí)行程序的多個副本。將軟硬件結合起來進行全系統(tǒng)的容錯是目前一個趨勢,如硬件負責錯誤檢測而軟件負責錯誤恢復,這可以極大降低容錯開銷。
[0004]公認的,目前眾核處理器存在利用率較低的問題,通常存在空閑資源。Pollack定律表明如果程序的并行性足夠,眾核能夠維持性能繼續(xù)按照摩爾定律增長。所以眾核對并行性的需求也是遵循摩爾定律的,但是程序的并行性及其開發(fā)受多種因素限制很難滿足需求,這就導致了眾核性能的下降和空閑核的存在。實際的眾核處理器如MIC的利用效率通常很低,利用空閑的核進行冗余執(zhí)行容錯就成了一個具有吸引力的選擇。
[0005]設備視圖是一種為物理設備提供編程調用的驅動接口技術,針對物理設備一般提供配置、啟用、停用等方法,來實現(xiàn)對物理設備的編程調用。


【發(fā)明內容】

[0006]本發(fā)明要解決的技術問題是:針對現(xiàn)有技術的上述技術問題,提供一種可靠性高、軟件調用方便、容錯靈活、容錯成本低、錯誤發(fā)現(xiàn)實時、容錯執(zhí)行效率高,能夠充分利用空閑的核資源、對系統(tǒng)性能影響小的基于設備視圖冗余的眾核處理器容錯方法。
[0007]為了解決上述技術問題,本發(fā)明采用的技術方案為:
一種基于設備視圖冗余的眾核處理器容錯方法,步驟包括:
1)預先在眾核處理器指定的主核和冗余核中加入用于容錯檢測的可靠設備單元,且針對可靠設備單元提供可供編程調用的設備視圖,所述設備視圖可供編程調用的指令包括設備視圖的配置、啟用和停用;在主核執(zhí)行應用程序時,如果執(zhí)行到設備視圖的配置指令,則初始化配置可靠設備單元并向控制核發(fā)送中斷請求,控制核根據中斷請求為主核分配一個可用的冗余核,跳轉執(zhí)行步驟2);
2)主核繼續(xù)執(zhí)行應用程序;當主核執(zhí)行到設備視圖的啟用指令時掛起應用程序,啟用可靠設備單元并將上下文復制給冗余核,冗余核保存上下文并啟用可靠設備單元,控制核分別給主核和冗余核發(fā)送冗余執(zhí)行命令,跳轉執(zhí)行步驟3); 3)主核、冗余核同時執(zhí)行設備視圖的啟用指令后的關鍵代碼段,同時控制核根據指定的間隔時間更新主核執(zhí)行的檢查點,在執(zhí)行關鍵代碼段的過程中如果主核的可靠設備單元檢測到和冗余核的可靠設備單元執(zhí)行的結果不一致則向控制核發(fā)出中斷請求,則控制核控制主核和冗余核退回上一個檢查點;當主核執(zhí)行到設備視圖的停用指令時,跳轉執(zhí)行步驟4);
4)主核、冗余核分別停用可靠設備單元,主核繼續(xù)執(zhí)行應用程序。
[0008]優(yōu)選地,所述步驟1)中初始化配置可靠設備單元時包括配置控制核用于更新主核執(zhí)行的間隔時間。
[0009]優(yōu)選地,所述步驟1)中控制核根據中斷請求為主核分配一個可用的冗余核的步驟包括:控制核收到中斷請求后向各個冗余核發(fā)送空閑度查詢指令,各個冗余核基于自帶的性能計數(shù)器或者可靠設備單元內置的性能計數(shù)器統(tǒng)計指定的時間內該冗余核執(zhí)行的NULL指令數(shù)和總指令數(shù),并將NULL指令數(shù)除以總指令數(shù)得到該冗余核的空閑度并發(fā)送給控制核,控制核根據各個冗余核返回的空閑度為主核分配一個可用的冗余核。
[0010]優(yōu)選地,所述步驟1)中初始化配置可靠設備單元時還包括配置主核的冗余優(yōu)先級;所述控制核根據各個冗余核返回的空閑度為主核分配一個可用的冗余核時,如果同時只有一個主核向控制核發(fā)送中斷請求,則查找一個空閑度最高的有效的冗余核分配給該主核,如果同時存在兩個以上主核同時向控制核發(fā)送中斷請求,則控制核根據各個主核的冗余優(yōu)先級來分配冗余核,冗余優(yōu)先級最高的主核獲得空閑度最高的有效的冗余核,冗余優(yōu)先級最低的主核獲得空閑度最低的有效的冗余核,如果沒有足夠的冗余核,則將冗余核優(yōu)先分配冗余優(yōu)先級較高的主核,如果控制核沒有足夠的冗余核分配給主核,則向主核返回分配冗余核失敗的消息,主核向控制核發(fā)送中斷請求后如果收到發(fā)出分配冗余核失敗的消息則退出并繼續(xù)正常執(zhí)行應用程序。
[0011]優(yōu)選地,所述步驟3)的詳細步驟包括:主核、冗余核同時執(zhí)行設備視圖的啟用指令后的關鍵代碼段,同時控制核根據指定的間隔時間更新主核執(zhí)行的檢查點;在執(zhí)行關鍵代碼段的過程中,主核判斷當前的指令是否為設備視圖停用指令,如果是則跳轉執(zhí)行步驟4);否則,主核產生主核執(zhí)行的跡,所述跡為對寄存器組及存儲器的訪問信息;同時,冗余核產生冗余核執(zhí)行的跡,冗余核的可靠設備單元提取跡的特征并發(fā)送給主核,主核的可靠設備單元提取跡的特征并與冗余核發(fā)送的跡的特征進行比較,如果兩者不一致,則主核向控制核發(fā)送中斷請求進行錯誤恢復,控制核收到中斷請求后分別控制主核、冗余核退回至上一個檢查點,主核和冗余核繼續(xù)從上一個檢查點開始重新執(zhí)行關鍵代碼段;如果兩者一致,則主核和冗余核繼續(xù)執(zhí)行剩余的關鍵代碼段。
[0012]優(yōu)選地,所述主核產生主核執(zhí)行的跡時,如果主核同時存在寄存器操作和存儲器操作,則只記錄存儲器操作的訪問信息;所述冗余核產生冗余核執(zhí)行的跡時,如果冗余核同時存在寄存器操作和存儲器操作,則只記錄存儲器操作的訪問信息。
[0013]優(yōu)選地,所述步驟1)中初始化配置可靠設備單元時包括配置用于可靠設備單元提取跡的特征的壓縮算法類型;所述可靠設備單元提取跡的特征具體是指采用預設的壓縮算法類型提取指定數(shù)量的跡的特征,且在每一次提取跡時,將上一次提取得到的特征、當前采集得到的指定數(shù)量的跡共同作為壓縮算法的輸入來提取得到本次指定數(shù)量的跡的特征。
[0014]優(yōu)選地,所述可靠設備單元包括跡特征提取器、本地FIFO存儲器、遠程FIFO存儲器、比較器、性能計數(shù)器以及控制器,在主核產生主核執(zhí)行的跡后,所述主核的跡特征提取器采用預設的壓縮算法類型提取指定數(shù)量的跡的特征并存儲在本地FIFO存儲器中;在冗余核產生冗余核執(zhí)行的跡后,所述冗余核的跡特征提取器采用預設的壓縮算法類型提取指定數(shù)量的跡的特征并存儲在本地FIFO存儲器中,同時冗余核的控制器將本地FIFO存儲器中存儲的冗余核的跡的特征發(fā)送并存儲到主核的遠程FIFO存儲器中;主核的比較器針對本地FIFO存儲器、遠程FIFO存儲器中存儲的跡的特征進行比較,如果不一致則向控制器發(fā)出報錯信息,主核的控制器如果收到報錯信息則向控制核發(fā)送中斷請求進行錯誤恢復。
[0015]本發(fā)明基于設備視圖冗余的眾核處理器容錯方法具有下述優(yōu)點:
1、與現(xiàn)有技術的硬件多模冗余相比,本發(fā)明不是對應用提供一個必要使用的軟硬系統(tǒng),而是只提供一個容錯設備一可靠設備單元,通過編程調用可靠設備單元的設備視圖即可實現(xiàn)對可靠設備單元的靈活調用,應用可以只在有容錯需求時啟用這個可靠設備單元,相對現(xiàn)有技術的容錯方式而言,使用更加靈活、容錯成本更低,本發(fā)明尤其適合于開銷敏感型的應用程序容錯,其目的不是提高整個系統(tǒng)所有應用的可靠性,而是利用眾核處理器中的“空閑”資源增強系統(tǒng)中特定的關鍵代碼段的可靠性,其設計的出發(fā)點不是盡可能的優(yōu)化容錯而是盡可能的在不降低整個系統(tǒng)的性能的前提下進行容錯,能夠實現(xiàn)針對關鍵代碼段的按需容錯,具有可靠性高、軟件調用方便、容錯靈活、容錯成本低的優(yōu)點。
[0016]2、本發(fā)明的控制核根據中斷請求為主核分配一個可用的冗余核,因此能夠通過動態(tài)監(jiān)控眾核處理器中的“空閑”資源,開發(fā)“空閑”資源并利用這些“空閑”資源進行主核執(zhí)行關鍵代碼段的容錯,在不影響系統(tǒng)性能的情況下,增加系統(tǒng)的可靠性,具有能夠充分利用空閑的核資源、對系統(tǒng)性能影響小的優(yōu)點。
[0017]3、本發(fā)明在容錯時,主核、冗余核同時執(zhí)行設備視圖的啟用指令后的關鍵代碼段,同時控制核根據指定的間隔時間更新主核執(zhí)行的檢查點,在執(zhí)行關鍵代碼段的過程中如果主核的可靠設備單元檢測到和冗余核的可靠設備單元執(zhí)行的結果不一致則向控制核發(fā)出中斷請求,則控制核控制主核和冗余核退回上一個檢查點,不需要執(zhí)行完整個代碼段,錯誤發(fā)現(xiàn)更加實時,容錯執(zhí)行效率更高。
[0018]4、本發(fā)明基于配置指令來實現(xiàn)冗余核的分配,可靠設備單元的配置和啟用的時間分離,因此能夠減少控制核查詢各個冗余核空閑度的時間開銷對主核執(zhí)行應用程序的影響,確保應用程序的正常執(zhí)行不受控制核分配冗余核的影響。

【專利附圖】

【附圖說明】
[0019]圖1為本發(fā)明實施例的基本流程示意圖。
[0020]圖2為本發(fā)明實施例中主核、控制核、冗余核之間的交互流程示意圖。
[0021]圖3為應用本發(fā)明實施例方法的眾核處理器及可靠設備單元的框架結構示意圖。

【具體實施方式】
[0022]如圖1和圖2所示,本實施例基于設備視圖冗余的眾核處理器容錯方法的步驟包括:
1)預先在眾核處理器指定的主核和冗余核中加入用于容錯檢測的可靠設備單元(Reliability device單元,下文簡稱RD單元),且針對RD單元提供可供編程調用的設備視圖,設備視圖可供編程調用的指令包括設備視圖的配置、啟用和停用RD-configO、啟用RD-enable()和停用RD_disable ();在主核執(zhí)行應用程序時,如果執(zhí)行到設備視圖的配置指令RD-configO,則初始化配置RD單元并向控制核發(fā)送中斷請求,控制核根據中斷請求為主核分配一個可用的冗余核,跳轉執(zhí)行步驟2);
2)主核繼續(xù)執(zhí)行應用程序;當主核執(zhí)行到設備視圖的啟用指令RD-enableO時掛起應用程序,啟用RD單元并將上下文復制給冗余核,冗余核保存上下文并啟用RD單元,控制核分別給主核和冗余核發(fā)送冗余執(zhí)行命令,跳轉執(zhí)行步驟3);
3)主核、冗余核同時執(zhí)行設備視圖的啟用指令后的關鍵代碼段,同時控制核根據指定的間隔時間更新主核執(zhí)行的檢查點,在執(zhí)行關鍵代碼段的過程中如果主核的RD單元檢測到和冗余核的RD單元執(zhí)行的結果不一致則向控制核發(fā)出中斷請求,則控制核控制主核和冗余核退回上一個檢查點;當主核執(zhí)行到設備視圖的停用指令RD-disable ()時,跳轉執(zhí)行步驟4);
4)主核、冗余核分別停用RD單元,主核繼續(xù)執(zhí)行應用程序。
[0023]應用本實施例方法的眾核處理器和現(xiàn)有技術的眾核處理器結構的不同點為在眾核處理器指定的主核和冗余核中額外加入用于容錯檢測的RD單元(Reliability device單元,下文簡稱RD單元),通過編程調用RD單元的設備視圖即可實現(xiàn)對指定的關鍵代碼段進行容錯執(zhí)行,相對現(xiàn)有技術的純軟件以及純硬件的容錯方式而言,使用更加靈活;與現(xiàn)有技術的硬件多模冗余相比,本發(fā)明不是對應用提供一個必要使用的軟硬系統(tǒng)而是只提供一個容錯設備——RD單元,因此通過編程調用RD單元的設備視圖即可實現(xiàn)對RD單元的靈活調用,應用可以只在有容錯需求時啟用這個RD單元,從而實現(xiàn)對指定的關鍵代碼段進行容錯執(zhí)行,相對現(xiàn)有技術的純軟件以及純硬件的容錯方式而言,使用更加靈活,因此相對現(xiàn)有技術的硬件多模冗余而言,本發(fā)明的容錯成本更低,具有可靠性高、軟件調用方便、容錯靈活、容錯成本低的優(yōu)點。
[0024]本實施例中,控制核只需要針對主核和冗余核之間做少量的協(xié)調工作即可,整個容錯成本相對較低,而且由于利用的是眾核處理器中的空閑度較高的冗余核,因此能夠實現(xiàn)盡可能的在不降低整個系統(tǒng)的性能的前提下進行容錯,能夠實現(xiàn)按需容錯同時能夠開發(fā)盡可能多的空閑,再不影響系統(tǒng)性能的情況下,增加系統(tǒng)的可靠性,具有能夠充分利用空閑的核實現(xiàn)應用程序容錯、可靠性高、對系統(tǒng)性能影響小的優(yōu)點。需要說明的是,控制核既可以使用眾核處理器的控制核,此外,也可指定某個核為控制核。應用本實施例方法的眾核處理器的基本結構、主核和冗余核的基本結構相對傳統(tǒng)的眾核處理器均沒有變化,眾核處理器中每一個核心都必須處于對稱的地位,可以同時執(zhí)行不同的程序,都有自己的可以顯式管理的本地存儲,此外還包括用于實現(xiàn)核間通信的路由模塊。
[0025]本實施例中,步驟1)中初始化配置RD單元時包括配置控制核用于更新主核執(zhí)行的間隔時間;當主核將上下文通過控制核復制給冗余核后,一并將配置的間隔時間傳遞給控制核,因此步驟3)時控制核根據該配置的間隔時間更新主核執(zhí)行的檢查點;同時控制核也配置有默認的間隔時間,如果沒有收到配置的間隔時間,則使用默認的間隔時間更新主核執(zhí)行的檢查點。需要說明的是,本實施例中主核將上下文通過控制核復制給冗余核,此外當主核和冗余核具有DMA權限的時候,主核也可以直接將上下文復制給冗余核。
[0026]本實施例中,步驟1)中控制核根據中斷請求為主核分配一個可用的冗余核的步驟包括:控制核收到中斷請求后向各個冗余核發(fā)送空閑度查詢指令,各個冗余核基于自帶的性能計數(shù)器或者RD單元內置的性能計數(shù)器統(tǒng)計指定的時間內該冗余核執(zhí)行的NULL指令數(shù)和總指令數(shù),并將NULL指令數(shù)除以總指令數(shù)得到該冗余核的空閑度并發(fā)送給控制核,控制核根據各個冗余核返回的空閑度為主核分配一個可用的冗余核。
[0027]本實施例中,步驟1)中初始化配置RD單元時還包括配置主核的冗余優(yōu)先級;控制核根據各個冗余核返回的空閑度為主核分配一個可用的冗余核時,如果同時只有一個主核向控制核發(fā)送中斷請求,則查找一個空閑度最高的有效的冗余核分配給該主核,如果同時存在兩個以上主核同時向控制核發(fā)送中斷請求,則控制核根據各個主核的冗余優(yōu)先級來分配冗余核,冗余優(yōu)先級最高的主核獲得空閑度最高的有效的冗余核,冗余優(yōu)先級最低的主核獲得空閑度最低的有效的冗余核,如果沒有足夠的冗余核,則將冗余核優(yōu)先分配冗余優(yōu)先級較高的主核,如果控制核沒有足夠的冗余核分配給主核,則向主核返回分配冗余核失敗的消息,主核向控制核發(fā)送中斷請求后如果收到發(fā)出分配冗余核失敗的消息則退出并繼續(xù)正常執(zhí)行應用程序。
[0028]本實施例中,步驟3)的詳細步驟包括:主核、冗余核同時執(zhí)行設備視圖的啟用指令后的關鍵代碼段,同時控制核根據指定的間隔時間更新主核執(zhí)行的檢查點;在執(zhí)行關鍵代碼段的過程中,主核判斷當前的指令是否為設備視圖停用指令,如果是則跳轉執(zhí)行步驟
4);否則,主核產生主核執(zhí)行的跡,跡為對寄存器組及存儲器的訪問信息;同時,冗余核產生冗余核執(zhí)行的跡,冗余核的RD單元提取跡的特征并發(fā)送給主核,主核的RD單元提取跡的特征并與冗余核發(fā)送的跡的特征進行比較,如果兩者不一致,則主核向控制核發(fā)送中斷請求進行錯誤恢復,控制核收到中斷請求后分別控制主核、冗余核退回至上一個檢查點,主核和冗余核繼續(xù)從上一個檢查點開始重新執(zhí)行關鍵代碼段;如果兩者一致,則主核和冗余核繼續(xù)執(zhí)行剩余的關鍵代碼段。
[0029]本實施例中,主核產生主核執(zhí)行的跡時,如果主核同時存在寄存器操作和存儲器操作,則只記錄存儲器操作的訪問信息;冗余核產生冗余核執(zhí)行的跡時,如果冗余核同時存在寄存器操作和存儲器操作,則只記錄存儲器操作的訪問信息。
[0030]本實施例中,步驟1)中初始化配置RD單元時包括配置用于RD單元提取跡的特征的壓縮算法類型(本實施例中,壓縮算法類型為CRC16、CRC8算法中的一種);RD單元提取跡的特征具體是指采用預設的壓縮算法類型提取指定數(shù)量的跡的特征,且在每一次提取跡時,將上一次提取得到的特征、當前采集得到的指定數(shù)量的跡共同作為壓縮算法的輸入來提取得到本次指定數(shù)量的跡的特征。本實施例中,跡的格式為〈類型,地址,數(shù)據〉,其中類型為寄存器讀,寄存器寫,存儲器讀,存儲器寫;類型,地址,數(shù)據三個字段的信息字段連接后作為壓縮算法的輸入,和上一次提取得到的特征為壓縮算法的輸入來提取得到本次指定數(shù)量的跡的特征。
[0031]如圖3所示,RD單元包括跡特征提取器、本地FIFO存儲器、遠程FIFO存儲器、t匕較器、性能計數(shù)器以及控制器,在主核產生主核執(zhí)行的跡后,主核的跡特征提取器采用預設的壓縮算法類型提取指定數(shù)量的跡的特征并存儲在本地FIFO存儲器中;在冗余核產生冗余核執(zhí)行的跡后,冗余核的跡特征提取器采用預設的壓縮算法類型提取指定數(shù)量的跡的特征并存儲在本地FIFO存儲器中,同時冗余核的控制器將本地FIFO存儲器中存儲的冗余核的跡的特征發(fā)送并存儲到主核的遠程FIFO存儲器中;主核的比較器針對本地FIFO存儲器、遠程FIFO存儲器中存儲的跡的特征進行比較,如果不一致則向控制器發(fā)出報錯信息,主核的控制器如果收到報錯信息則向控制核發(fā)送中斷請求進行錯誤恢復。本實施例中,性能計數(shù)器的功能為通過檢測CPU的執(zhí)行時間與閑置時間,輸出CPU的空閑度。此模塊統(tǒng)計CPU執(zhí)行NULL指令數(shù)和執(zhí)行總指令數(shù),NULL指令占總指令數(shù)的比例idle_rate為判斷此核是否為空閑核的指標。跡特征提取器的功能為將處理器產生的跡進行壓縮后輸出。這里跡指CPU所有訪問寄存器組以及存儲器的操作,格式為〈類型,地址,數(shù)據〉,其中類型為寄存器讀,寄存器寫,存儲器讀,存儲器寫。有事會同時產生寄存器操作和存儲器操作,這時只產生存儲器操作的跡。本文采用的壓縮算法為通用的CRC16,CRC8算法,可以選擇設定。本地FIFO存儲器為標準隊列模塊,用來存儲壓縮后的跡。遠程FIFO存儲器為標準隊列模塊,用來存儲冗余核的跡。比較器為標準比較器模塊,用來比較主核和冗余核的跡??刂破鞒饲笆龅奶幚硪馔猓€用于檢查FIFO的空滿并控制比較器的比較。對于主核和冗余核而言,核每產生一個讀寫操作,產生一個跡送至跡特征提取器,跡特征提取器將多個跡進行壓縮后將其送至本地FIFO存儲器,對于每一個從核到來的跡,控制器檢查本地FIFO存儲器的空滿,如果本地FIFO存儲器滿則向對應的核發(fā)送stall信號阻止程序運行產生新的跡;若本地FIFO存儲器有跡,則冗余核的控制器將其取出通過路由器發(fā)送到主核的遠程FIFO存儲器,而主核的控制器將本地FIFO存儲器的跡取出送至比較器和遠程FIFO存儲器中的跡進行比較,若比較結果不同,則產生一個Error報錯,從而向控制器發(fā)送中斷請求容錯恢復。
[0032]以上所述僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術方案均屬于本發(fā)明的保護范圍。應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
【權利要求】
1.一種基于設備視圖冗余的眾核處理器容錯方法,其特征在于步驟包括: 1)預先在眾核處理器指定的主核和冗余核中加入用于容錯檢測的可靠設備單元,且針對可靠設備單元提供可供編程調用的設備視圖,所述設備視圖可供編程調用的指令包括設備視圖的配置、啟用和停用;在主核執(zhí)行應用程序時,如果執(zhí)行到設備視圖的配置指令,則初始化配置可靠設備單元并向控制核發(fā)送中斷請求,控制核根據中斷請求為主核分配一個可用的冗余核,跳轉執(zhí)行步驟2); 2)主核繼續(xù)執(zhí)行應用程序;當主核執(zhí)行到設備視圖的啟用指令時掛起應用程序,啟用可靠設備單元并將上下文復制給冗余核,冗余核保存上下文并啟用可靠設備單元,控制核分別給主核和冗余核發(fā)送冗余執(zhí)行命令,跳轉執(zhí)行步驟3); 3)主核、冗余核同時執(zhí)行設備視圖的啟用指令后的關鍵代碼段,同時控制核根據指定的間隔時間更新主核執(zhí)行的檢查點,在執(zhí)行關鍵代碼段的過程中如果主核的可靠設備單元檢測到和冗余核的可靠設備單元執(zhí)行的結果不一致則向控制核發(fā)出中斷請求,則控制核控制主核和冗余核退回上一個檢查點;當主核執(zhí)行到設備視圖的停用指令時,跳轉執(zhí)行步驟4); 4)主核、冗余核分別停用可靠設備單元,主核繼續(xù)執(zhí)行應用程序。
2.根據權利要求1所述的基于設備視圖冗余的眾核處理器容錯方法,其特征在于:所述步驟I)中初始化配置可靠設備單元時包括配置控制核用于更新主核執(zhí)行的間隔時間。
3.根據權利要求2所述的基于設備視圖冗余的眾核處理器容錯方法,其特征在于:所述步驟I)中控制核根據中斷請求為主核分配一個可用的冗余核的步驟包括:控制核收到中斷請求后向各個冗余核發(fā)送空閑度查詢指令,各個冗余核基于自帶的性能計數(shù)器或者可靠設備單元內置的性能計數(shù)器統(tǒng)計指定的時間內該冗余核執(zhí)行的NULL指令數(shù)和總指令數(shù),并將NULL指令數(shù)除以總指令數(shù)得到該冗余核的空閑度并發(fā)送給控制核,控制核根據各個冗余核返回的空閑度為主核分配一個可用的冗余核。
4.根據權利要求3所述的基于設備視圖冗余的眾核處理器容錯方法,其特征在于:所述步驟I)中初始化配置可靠設備單元時還包括配置主核的冗余優(yōu)先級;所述控制核根據各個冗余核返回的空閑度為主核分配一個可用的冗余核時,如果同時只有一個主核向控制核發(fā)送中斷請求,則查找一個空閑度最高的有效的冗余核分配給該主核,如果同時存在兩個以上主核同時向控制核發(fā)送中斷請求,則控制核根據各個主核的冗余優(yōu)先級來分配冗余核,冗余優(yōu)先級最高的主核獲得空閑度最高的有效的冗余核,冗余優(yōu)先級最低的主核獲得空閑度最低的有效的冗余核,如果沒有足夠的冗余核,則將冗余核優(yōu)先分配冗余優(yōu)先級較高的主核,如果控制核沒有足夠的冗余核分配給主核,則向主核返回分配冗余核失敗的消息,主核向控制核發(fā)送中斷請求后如果收到發(fā)出分配冗余核失敗的消息則退出并繼續(xù)正常執(zhí)行應用程序。
5.根據權利要求1?4中任意一項所述的基于設備視圖冗余的眾核處理器容錯方法,其特征在于,所述步驟3)的詳細步驟包括:主核、冗余核同時執(zhí)行設備視圖的啟用指令后的關鍵代碼段,同時控制核根據指定的間隔時間更新主核執(zhí)行的檢查點;在執(zhí)行關鍵代碼段的過程中,主核判斷當前的指令是否為設備視圖停用指令,如果是則跳轉執(zhí)行步驟4);否貝U,主核產生主核執(zhí)行的跡,所述跡為對寄存器組及存儲器的訪問信息;同時,冗余核產生冗余核執(zhí)行的跡,冗余核的可靠設備單元提取跡的特征并發(fā)送給主核,主核的可靠設備單元提取跡的特征并與冗余核發(fā)送的跡的特征進行比較,如果兩者不一致,則主核向控制核發(fā)送中斷請求進行錯誤恢復,控制核收到中斷請求后分別控制主核、冗余核退回至上一個檢查點,主核和冗余核繼續(xù)從上一個檢查點開始重新執(zhí)行關鍵代碼段;如果兩者一致,則主核和冗余核繼續(xù)執(zhí)行剩余的關鍵代碼段。
6.根據權利要求5所述的基于設備視圖冗余的眾核處理器容錯方法,其特征在于:所述主核產生主核執(zhí)行的跡時,如果主核同時存在寄存器操作和存儲器操作,則只記錄存儲器操作的訪問信息;所述冗余核產生冗余核執(zhí)行的跡時,如果冗余核同時存在寄存器操作和存儲器操作,則只記錄存儲器操作的訪問信息。
7.根據權利要求6所述的基于設備視圖冗余的眾核處理器容錯方法,其特征在于:所述步驟I)中初始化配置可靠設備單元時包括配置用于可靠設備單元提取跡的特征的壓縮算法類型;所述可靠設備單元提取跡的特征具體是指采用預設的壓縮算法類型提取指定數(shù)量的跡的特征,且在每一次提取跡時,將上一次提取得到的特征、當前采集得到的指定數(shù)量的跡共同作為壓縮算法的輸入來提取得到本次指定數(shù)量的跡的特征。
8.根據權利要求7所述的基于設備視圖冗余的眾核處理器容錯方法,其特征在于:所述可靠設備單元包括跡特征提取器、本地FIFO存儲器、遠程FIFO存儲器、比較器、性能計數(shù)器以及控制器,在主核產生主核執(zhí)行的跡后,所述主核的跡特征提取器采用預設的壓縮算法類型提取指定數(shù)量的跡的特征并存儲在本地FIFO存儲器中;在冗余核產生冗余核執(zhí)行的跡后,所述冗余核的跡特征提取器采用預設的壓縮算法類型提取指定數(shù)量的跡的特征并存儲在本地FIFO存儲器中,同時冗余核的控制器將本地FIFO存儲器中存儲的冗余核的跡的特征發(fā)送并存儲到主核的遠程FIFO存儲器中;主核的比較器針對本地FIFO存儲器、遠程FIFO存儲器中存儲的跡的特征進行比較,如果不一致則向控制器發(fā)出報錯信息,主核的控制器如果收到報錯信息則向控制核發(fā)送中斷請求進行錯誤恢復。
【文檔編號】G06F11/16GK104391763SQ201410780705
【公開日】2015年3月4日 申請日期:2014年12月17日 優(yōu)先權日:2014年12月17日
【發(fā)明者】喬寓然, 文梅, 任巨, 荀長慶, 范方園, 蘇華友, 張春元, 黃達飛 申請人:中國人民解放軍國防科學技術大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
隆安县| 舟曲县| 竹溪县| 山丹县| 偏关县| 青田县| 建宁县| 互助| 清涧县| 浙江省| 友谊县| 徐州市| 阿尔山市| 金秀| 上林县| 峡江县| 兖州市| 林甸县| 黄石市| 图木舒克市| 德化县| 儋州市| 赤水市| 隆尧县| 秦安县| 潮州市| 岳阳市| 宁都县| 曲麻莱县| 武强县| 桂平市| 东阿县| 雷波县| 永泰县| 芦山县| 咸丰县| 洪泽县| 雅江县| 浏阳市| 美姑县| 湄潭县|