專利名稱:一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及處理器核陣列架構(gòu)領(lǐng)域,特別涉及一種主動(dòng)預(yù)防故障的處理器核的定期切換策略以及相應(yīng)的裝置。
背景技術(shù):
相比較單核處理器,多核處理器陣列具有并行處理能力強(qiáng)、計(jì)算性能好、可靠性高等特點(diǎn)。究其原因,多核處理器陣列中的各個(gè)處理器核可以獨(dú)立地配置、執(zhí)行功能。這就給多核處理器陣列帶來的可重構(gòu)、自修復(fù)和自適應(yīng)等關(guān)鍵特征。多核處理器陣列取代單核處理器將是可預(yù)見的。而多核處理器陣列可重構(gòu)、自修復(fù)和自適應(yīng)的特征決定了多核處理器陣列可以應(yīng)用多種不同的策略進(jìn)一步地提高系統(tǒng)的可靠性。目前,關(guān)于多核處理器陣列在可靠性方面會(huì)有如下兩個(gè)事實(shí):
I) 對于一個(gè)處于工作狀態(tài)的處理器核而言,在長時(shí)間的正常工作后,其出現(xiàn)錯(cuò)誤的概率會(huì)由于軟件內(nèi)存泄漏和硬件升溫等問題逐漸上升。因而在一定時(shí)間的正常工作后,特定時(shí)刻的出錯(cuò)概率增大到一定的程度,從而隨時(shí)可能產(chǎn)生錯(cuò)誤造成系統(tǒng)故障。2) 把一個(gè)正常工作的處理器核與空閑的備份核進(jìn)行切換所花費(fèi)的代價(jià)要遠(yuǎn)遠(yuǎn)小于系統(tǒng)故障后再將出錯(cuò)的處理器核與空閑的備份核進(jìn)行切換所花費(fèi)的代價(jià)。這其中包括了技術(shù)上狀態(tài)同步的原因與對實(shí)際任務(wù)造成的損失。一般而言,定時(shí) 進(jìn)行處理器核的更換和維修可以在較小的代價(jià)下較好地解決上述處理器核長時(shí)間持續(xù)工作的出錯(cuò)率上升問題?,F(xiàn)有的定時(shí)處理器核更換技術(shù)方案使用固定的冗余結(jié)構(gòu),這意味著特定處理器核的備用處理器核是固定的,在陣列不夠大、處理器核數(shù)量不足的情況下,不能夠保證所有處理器核都能得到備用或輪換。本發(fā)明針對上述問題,在國家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃)編號(hào)為2011AA120201的課題的資助下,提出了一套新的定時(shí)更換處理器核的策略。在本策略中,特定處理器核的備用處理器核不是固定的,而是按照一定的原則進(jìn)行遍歷輪換,而且使得系統(tǒng)能夠更大程度地減少更換、維修處理器核的代價(jià),能在處理器核數(shù)量有限的情況下讓所有處理器核都得到輪換。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)存在的上述不足,提供了一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略,其目的在于解決處理器核長時(shí)間工作出錯(cuò)率上升的問題,要求消耗的代價(jià)盡可能小并且所有處理器核都能得到輪換。本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略,包括:
51、確認(rèn)眾核陣列中空閑狀態(tài)處理器核的數(shù)量與位置;
52、依次按照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找一組同等數(shù)量的工作狀態(tài)處理器核;
53、將S2中的工作狀態(tài)處理器核與SI中的空閑狀態(tài)處理器核進(jìn)行狀態(tài)同步與狀態(tài)切
換;
54、對從工作狀態(tài)切換到空閑狀態(tài)的處理器核進(jìn)行斷電重配置與維護(hù);
55、工作一段固定的時(shí)間后,再次執(zhí)行本策略。較佳的,依次按 照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找一組同等數(shù)量的處于工作狀態(tài)的處理器核,包括步驟:
第一步,確定空閑狀態(tài)處理器核組成的拓?fù)浣Y(jié)構(gòu);
第二步,依次查找每一個(gè)空閑狀態(tài)處理器核相鄰的工作狀態(tài)處理器核;
第三步,在所有空閑狀態(tài)處理器核的相鄰工作狀態(tài)處理器核中查找能夠組成相同拓?fù)浣Y(jié)構(gòu)的若干組工作狀態(tài)處理器核;
第四步,在第三步的結(jié)果中,查找已經(jīng)持續(xù)工作時(shí)間最長的一組處理器核;如果能查找到不止一組持續(xù)時(shí)間最長的工作處理器核,則進(jìn)行第五步,否則進(jìn)行第七步;
第五步,在第四步的結(jié)果中,查找被維護(hù)次數(shù)最少的一組處理器核;如果能查找到不止一組維護(hù)次數(shù)最少的處理器核,則進(jìn)行第六步,否則進(jìn)行第七步;
第六步,在第五步的結(jié)果中,依次確認(rèn)各個(gè)處理器核的ID,查找包含具有最小ID的一組處理器核;
第七步,查找到的唯一的一組工作狀態(tài)處理器核即為查找結(jié)果。較佳的,定期地將工作狀態(tài)處理器核與空閑狀態(tài)處理器核進(jìn)行狀態(tài)同步與狀態(tài)切換,還包括:
進(jìn)行切換的工作狀態(tài)處理器核是依次按照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找得到的一組工作狀態(tài)處理器核。較佳的,定期地將工作狀態(tài)處理器核與空閑狀態(tài)處理器核進(jìn)行狀態(tài)同步與狀態(tài)切換,包括步驟:
第一步,對空閑狀態(tài)處理器核進(jìn)行功能配置;
第二步,將工作狀態(tài)處理器核的狀態(tài)、數(shù)據(jù)等內(nèi)容同步到相對應(yīng)的已完成配置的空閑狀態(tài)處理器核中;
第三步,將工作狀態(tài)處理器核的輸入同時(shí)輸入給已完成配置與同步的空閑狀態(tài)處理器
核;
第四步,空閑狀態(tài)處理器核開始工作但不將結(jié)果輸出給后續(xù)功能模塊;
第五步,比較原工作狀態(tài)處理器核與原空閑狀態(tài)處理器核的工作結(jié)果是否同步并一致;如果結(jié)果同步并一致,則進(jìn)行第六步,否則進(jìn)行第一步;
第六步,將原空閑狀態(tài)處理器核的結(jié)果輸出給后續(xù)功能模塊,開始記錄工作時(shí)間; 第七步,切斷原工作狀態(tài)處理器核的輸入與輸出,停止其功能。較佳的,對從工作狀態(tài)切換到空閑狀態(tài)的處理器核進(jìn)行斷電重配置與維護(hù),還包括:記錄完成重新配置與維護(hù)的處理器核的已維護(hù)次數(shù),為之后的切換過程提供依據(jù)。本發(fā)明還提供了一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其目的在于解決處理器核長時(shí)間工作出錯(cuò)率上升的問題,要求消耗的代價(jià)盡可能小并且所有處理器核都能得到輪換。一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,包括:
處理器眾核陣列模塊,包括若干空閑狀態(tài)處理器核和工作狀態(tài)處理器核,以及處理器核重構(gòu)控制模塊;
切換處理器核查找模塊,用于確認(rèn)空閑狀態(tài)處理器核與查找需要切換的工作狀態(tài)處理器核;
記錄模塊,用于記錄處理器眾核陣列模塊中各個(gè)處理器核的ID與已維護(hù)次數(shù)以及工作狀態(tài)處理器核的持續(xù)工作時(shí)間;
切換模塊,用于控制空閑狀態(tài)處理器核與工作狀態(tài)處理器核的切換過程,能夠調(diào)用處理器核重構(gòu)控制模塊;· 計(jì)時(shí)模塊,用于監(jiān)視處理器眾核陣列模塊所在系統(tǒng)的工作時(shí)間、處理器眾核陣列模塊中工作狀態(tài)處理器核的持續(xù)工作時(shí)間,并為切換模塊的工作提供使能信號(hào)。較佳的,的切換處理器核查找模塊,將確認(rèn)空閑狀態(tài)處理器核的數(shù)量、位置與組成的拓?fù)浣Y(jié)構(gòu);
依次按照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找用于切換的工作狀態(tài)處理器核。較佳的,的記錄模塊,記錄處理器眾核陣列模塊中各個(gè)處理器核的ID ;
在原空閑狀態(tài)處理器核切換至工作狀態(tài)后,開始記錄該處理器核的持續(xù)工作時(shí)間; 在原工作狀態(tài)處理器核切換至空閑狀態(tài)并完成維護(hù)后,修改和記錄該處理器核的維護(hù)次數(shù)。 較佳的,的切換模塊,在使能信號(hào)的控制下,將處理器眾核陣列模塊中的空閑狀態(tài)處理器核與切換處理器核查找模塊輸出的查找結(jié)果進(jìn)行狀態(tài)同步與狀態(tài)切換;
對切換至空閑狀態(tài)的處理器核進(jìn)行維護(hù);
將維護(hù)情況報(bào)告至記錄模塊進(jìn)行記錄。較佳的,的計(jì)時(shí)模塊,為切換模塊提供使能信號(hào)控制其進(jìn)行切換操作;
監(jiān)視處理器眾核陣列模塊所在系統(tǒng)的工作時(shí)間、處理器眾核陣列模塊中被切換至工作狀態(tài)的處理器核的持續(xù)工作時(shí)間;
將該監(jiān)視結(jié)果報(bào)告至記錄模塊進(jìn)行記錄。較佳的,的處理器眾核陣列模塊,是其所在系統(tǒng)的硬件基礎(chǔ),執(zhí)行系統(tǒng)功能,具有對處理器核進(jìn)行重構(gòu)配置的能力和修改處理器眾核陣列模塊中的路由設(shè)備配置信息的能力。與現(xiàn)有的固定冗余備用技術(shù)方案相比,應(yīng)用本發(fā)明提供的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略與裝置,因?yàn)榍袚Q工作處理器核的查找是按照空閑處理器核的拓?fù)浣Y(jié)構(gòu)的,所以對系統(tǒng)拓?fù)浣Y(jié)構(gòu)的影響是最小的;因?yàn)榍袚Q工作處理器核查找的是相鄰的處理器核,所以切換過程中同步步驟的耗時(shí)是最少的、對處理器陣列中路由器配置的修改是最小的;因?yàn)榍袚Q工作處理器核的查找是按照遍歷和長時(shí)優(yōu)先原則的,所以最大程度地解決了處理器核長時(shí)間持續(xù)工作的出錯(cuò)率上升問題,延長了處理器陣列整體的壽命;本策略還能夠遍歷所有處理器核,能在硬件資源不足的情況下讓所有處理器核都能得到輪換。
圖1所示的是一個(gè)4X4處理器陣列架構(gòu);
圖2所示的是本發(fā)明實(shí)施例一提供的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略的流程 圖3所示的是本發(fā)明實(shí)施例一提供的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略實(shí)施過程中查找合適的切換工作處理器核組的具體步驟流程 圖4所示的是本發(fā)明實(shí)施例一提供的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略實(shí)施過程中執(zhí)行切換的具體步驟流程 圖5所示的是本發(fā)明實(shí)施例一提供的在空閑處理器核數(shù)量為四的情況下執(zhí)行主動(dòng)預(yù)防錯(cuò)誤處理器核切換策略的具體步驟的示意 圖6所示的是本發(fā)明實(shí)施例一提供的在空閑處理器核數(shù)量為一的情況下執(zhí)行主動(dòng)預(yù)防錯(cuò)誤處理器核切換策略的具體步驟的示意 圖7所示的是本發(fā)明實(shí)施例二提供的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置的具體結(jié)構(gòu)圖。
具體實(shí)施例方式
`
以下將結(jié)合本發(fā)明的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述和討論,顯然,這里所描述的僅僅是本發(fā)明的一部分實(shí)例,并不是全部的實(shí)例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。為了便于對本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例作進(jìn)一步的解釋說明,且各個(gè)實(shí)施例不構(gòu)成對本發(fā)明實(shí)施例的限定。實(shí)施例一
該實(shí)施例提供的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略的執(zhí)行流程圖如圖2所示,包括以下步驟:
步驟201,對于一個(gè)處于工作狀態(tài)的處理器眾核陣列,其中會(huì)有部分處理器核不參與功能的實(shí)現(xiàn)而是作為備用處理器核,平時(shí)處于空閑狀態(tài);在進(jìn)行主動(dòng)預(yù)防錯(cuò)誤的處理器核切換過程的第一步就是確認(rèn)當(dāng)前的處理器陣列中的空閑處理器核的數(shù)量與位置,這些空閑的處理器核將在之后的步驟中依次替換當(dāng)前正在工作的一組處理器核,以完成定期維護(hù)預(yù)防錯(cuò)誤的目的;
步驟202,將根據(jù)步驟201得到的空閑處理器核數(shù)量與位置信息,依次按照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找一組同等數(shù)量的處于工作狀態(tài)的處理器核;
該實(shí)例提供了一種具體的查找合適的切換工作處理器核組的策略,其流程圖如圖3所示,主要包括:
步驟300,初始步驟;
步驟301,獲得步驟201中確認(rèn)的空閑處理器核的數(shù)量與位置信息;
步驟302,確定空閑處理器核組成的拓?fù)浣Y(jié)構(gòu);
步驟303,依次查找每一個(gè)空閑處理器核相鄰的工作處理器核;
步驟304,查找能夠組成相同拓?fù)浣Y(jié)構(gòu)的工作處理器核組;
步驟305,檢查步驟304中得到的結(jié)果是否唯一,如果唯一,執(zhí)行步驟306 ;否則執(zhí)行步驟 307 ;
步驟306,結(jié)果確定;然后執(zhí)行步驟310 ;
步驟307,查找已經(jīng)持續(xù)工作時(shí)間最長的處理器核組;
步驟308,檢查步驟307中得到的結(jié)果是否唯一,如果唯一,執(zhí)行步驟306 ;否則執(zhí)行步驟 309 ;
步驟309,確認(rèn)各個(gè)處理器核的ID,查找包含最小ID處理器核的工作處理器核組;然后執(zhí)行步驟306 ;
步驟310,查找完畢,得到最為合適的一組工作處理器核;
在以上的步驟中,我們得到了用于切換的工作處理器核組;· 步驟203,將處于空閑狀態(tài)的與處于工作狀態(tài)的處理器核進(jìn)行狀態(tài)同步;
步驟204,將處于空閑狀態(tài)的與處于工作狀態(tài)的處理器核進(jìn)行狀態(tài)切換;
該實(shí)例提供了一種具體的執(zhí)行狀態(tài)同步與狀態(tài)切換過程的策略,其流程圖如圖4所示,主要包括:
步驟400,初始步驟;
步驟401,對空閑處理器核按照即將替換的工作處理器核的功能進(jìn)行重新配置;
步驟402,將工作處理器核的狀態(tài)、數(shù)據(jù)等信息同步到相應(yīng)的已完成配置的空閑處理器核中;
步驟403,將工作處理器核組的輸入同時(shí)輸入給新完成配置與同步的空閑處理器核
組;
步驟404,空閑處理器核組開始工作但不將結(jié)果輸出至后續(xù)功能模塊;
步驟405,比較原工作處理器核組與原空閑處理器核組的工作結(jié)果;
步驟406,如果兩者結(jié)果同步且一致,則執(zhí)行步驟407 ;否則執(zhí)行步驟401 ;
步驟407,將原空閑處理器核組的輸出輸出給后續(xù)功能模塊,并開始記錄工作時(shí)間; 步驟408,切斷原工作處理器核組的輸入與輸出,停止其功能;
步驟409,完成切換過程;
在以上的步驟中,我們完成了合適的工作處理器核與空閑處理器核的切換過程;之后,原空閑處理器核將代替原工作處理器核完成功能,而原工作處理器核則轉(zhuǎn)為空閑處理器核,執(zhí)行后續(xù)步驟;
步驟204,新系統(tǒng)開始工作;對從工作狀態(tài)切換到空閑狀態(tài)的處理器核進(jìn)行斷電重配置處理與適當(dāng)?shù)木S護(hù)、維修,并記錄各個(gè)處理器被維護(hù)的次數(shù);這些新的空閑處理器將在之后的定期主動(dòng)預(yù)防錯(cuò)誤處理器核切換過程中被使用;在系統(tǒng)工作一段固定的時(shí)間后,再次執(zhí)行本策略。
例如圖5所示的在空閑處理器核數(shù)量為四的情況下執(zhí)行主動(dòng)預(yù)防錯(cuò)誤處理器核切換策略的具體步驟的示意圖,其中處理器陣列中各個(gè)處理器核上標(biāo)注的數(shù)字是各個(gè)處理器核的ID,并且在圖中,無填充的處理器核表示空閑狀態(tài)的處理器核,有斜線陰影填充的處理器核表示工作狀態(tài)的處理器核;
初始情況如左上圖所示,除了核3,7,11,15空閑以外,其余12個(gè)處理器核處于工作狀態(tài)且持續(xù)工作時(shí)間相同,另外全部16個(gè)處理器核之前的維護(hù)次數(shù)都為O ;
首先確定了四個(gè)處理器核:核3,7,11,15 ;它們的位置分別處于各行的最右端;
然后確認(rèn)這四個(gè)空閑處理器核的拓?fù)浣Y(jié)構(gòu):這四個(gè)處理器核組成了一個(gè)上下方向的直線型拓?fù)浣Y(jié)構(gòu);
然后查找每個(gè)空閑處理器核的相鄰工作處理器核:核3的相鄰核為核2、0,核7的相鄰核為核6、4,核11的相鄰核為核10、8,核15的相鄰核為核14、12 ;—共8個(gè);
在這8個(gè)處理器核中查找能夠組成相同拓?fù)浣Y(jié)構(gòu)的若干組處理器核:可以找到兩組,分別是核2,6,10,14與核O, 4,8,12 ;
顯然目前結(jié)果還不唯一;
這兩組處理器核持續(xù)工作的時(shí)間相同;
在這兩組處理器核中,最小的處理器核ID為0,所以選擇處理器核組0,4,8,12 ;在系統(tǒng)工作了一段固定的時(shí)間之后,將核3與核O,核7與核4,核11與核8,核15與核12進(jìn)行切換;
核3,7,11,15開始工作;核0,4,8,12空閑,開始維護(hù),并記錄這四個(gè)核的維護(hù)次數(shù)加
此時(shí)系統(tǒng)的情況如圖5的右上所示;
空閑處理器核組0,4,8,12,相鄰的同拓?fù)浣Y(jié)構(gòu)處理器核組1,5,9,13與核組3,7,11,15 ;
由于核組3,7,11,15是之前步驟剛剛切換進(jìn)入工作的,它們的持續(xù)工作時(shí)間少于核組1,5,9,13,所以選擇處理器核組1,5,9,13 ;
在規(guī)定時(shí)間進(jìn)行切換后,系統(tǒng)情況如圖5右下所示;
此時(shí),空閑處理器核組1,5,9,13,相鄰的同拓?fù)浣Y(jié)構(gòu)處理器核組0,4,8,12與核組2,6,10,14 ;
由于核組0,4,8,12是之前步驟剛剛切換進(jìn)入工作的,它們的持續(xù)工作時(shí)間少于核組2,6,10, 14,所以選擇處理器核組2,6,10, 14 ;
在規(guī)定時(shí)間進(jìn)行切換后,系統(tǒng)情況如圖5左下所示; 此時(shí),空閑處理器核組2,6,10,14,相鄰的同拓?fù)浣Y(jié)構(gòu)處理器核組1,5,9,13與核組3,7,11,15 ;
由于核組1,5,9,13是之前步驟剛剛切換進(jìn)入工作的,它們的持續(xù)工作時(shí)間少于核組3,7,11,15,所以選擇處理器核組3,7,11, 15 ;
在規(guī)定時(shí)間進(jìn)行切換后,系統(tǒng)情況如圖5左上所示;
至此,整個(gè)系統(tǒng)完成了一個(gè)周期的遍歷,在這個(gè)周期中,每一個(gè)處理器核都得到了依次空閑整修的機(jī)會(huì),而且由于是相鄰的同拓?fù)淝袚Q,切換過程的代價(jià)最小。例如圖6所示的在空閑處理器核數(shù)量為一的情況下執(zhí)行主動(dòng)預(yù)防錯(cuò)誤處理器核切換策略的具體步驟的示意圖,其中處理器陣列中各個(gè)處理器核上標(biāo)注的數(shù)字是各個(gè)處理器核的ID,并且在圖中,無填充的處理器核表示空閑狀態(tài)的處理器核,有斜線陰影填充的處理器核表示工作狀態(tài)的處理器核;
初始情況如左上圖所示,除了核3空閑以外,其余15個(gè)處理器核處于工作狀態(tài)且持續(xù)工作時(shí)間相同,另外全部16個(gè)處理器核之前的維護(hù)次數(shù)都為O ;
首先確定了一個(gè)處理器核:核3 ;位置處于第一行的最右端;
然后確認(rèn)這個(gè)空閑處理器核的拓?fù)浣Y(jié)構(gòu):單處理器核;
然后查找空閑處理器核的相鄰工作處理器核:核3的相鄰核為核O, 2, 7, 15, 一共4個(gè);在這4個(gè)處理器核中查找能夠組成相同拓?fù)浣Y(jié)構(gòu)的若干組處理器核:可以找到4組,分別是核O,核2,核7與核15;
顯然目前結(jié)果還不唯一;
這4組處理器核持續(xù)工作的時(shí)間相同;
在這4組處理器核中,最小的處理器核ID為O,所以選擇處理器核組O ;
在系統(tǒng)工作了一段固定的時(shí)間之后,將核3與核O進(jìn)行切換;
核3開始工作;核O空閑,開始維護(hù),并記錄核O的維護(hù)次數(shù)加一;
此時(shí)系統(tǒng)的情況如圖6第一行第二張圖所示;
依此類推,之后的各次切換情況與之相似,依次將核O與核I切換;核I與核2切換;核2與核6切換;核6與核5切換;核5與核4切換;核4與核7切換;核7與核11切換;核11與核8切換;核8與核9切換;核9與核10切換;核10與核14切換;核14與核13切換;核13與核12切換;核12與核15切換;核15與核3切換;
至此,整個(gè)系統(tǒng)完成了一個(gè)周期的遍歷,在這個(gè)周期中,每一個(gè)處理器核都得到了依次空閑整修的機(jī)會(huì), 而且由于是相鄰的同拓?fù)淝袚Q,切換過程的代價(jià)最小。實(shí)施例二
該實(shí)施例提供了一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其具體結(jié)構(gòu)如圖7所示,包括如下模塊:
切換處理器核查找模塊701,用于確認(rèn)空閑處理器核與查找需要切換的工作處理器
核;
記錄模塊702,用于記錄處理器陣列中各個(gè)處理器核的ID與已維護(hù)次數(shù)以及工作處理器核的持續(xù)工作時(shí)間;
切換模塊703,用于控制空閑處理器核與工作處理器核的狀態(tài)同步與狀態(tài)切換過程,能夠調(diào)用處理器陣列的處理器核重構(gòu)控制模塊;
計(jì)時(shí)模塊7 O 4,用于監(jiān)視系統(tǒng)的工作時(shí)間、處理器陣列中工作處理器核的持續(xù)工作時(shí)間,并為切換模塊的工作提供使能信號(hào);
處理器陣列模塊705,為實(shí)際完成功能的系統(tǒng)與本發(fā)明實(shí)施例的實(shí)施對象。具體地,切換處理器核查找模塊701,將確認(rèn)空閑處理器核的數(shù)量、位置與組成的拓?fù)浣Y(jié)構(gòu),并按照相鄰、同拓?fù)浣Y(jié)構(gòu)、長時(shí)優(yōu)先以及遍歷的原則查找用于切換的工作處理器核;
具體地,記錄模塊702,將記錄處理器陣列中各個(gè)處理器核的ID ;在原空閑處理器核切換至工作狀態(tài)后,開始記錄該處理器核的持續(xù)工作時(shí)間;在原工作處理器核切換至空閑狀態(tài)并完成維護(hù)后,修改記錄的該處理器核的維護(hù)次數(shù);
具體地,切換模塊703,將在周期性的使能信號(hào)的控制下,將處理器陣列中的空閑處理器核與701模塊輸出的查找結(jié)果進(jìn)行狀態(tài)同步與狀態(tài)切換,然后對切換至空閑狀態(tài)的處理器核進(jìn)行維護(hù),并將維護(hù)情況報(bào)告至702模塊進(jìn)行記錄;
具體地,計(jì)時(shí)模塊704,將為模塊703提供的使能信號(hào)控制其進(jìn)行切換操作;將監(jiān)視模塊705的工作時(shí)間、處理器陣列中被切換至工作狀態(tài)的處理器核的持續(xù)工作時(shí)間,并將該監(jiān)視結(jié) 果報(bào)告至模塊702進(jìn)行記錄。具體地,處理器陣列模塊705,是多核系統(tǒng)的硬件基礎(chǔ),執(zhí)行系統(tǒng)功能;除此之外,還具有對處理器核進(jìn)行重構(gòu)配置的能力和修改陣列中的路由設(shè)備配置信息的能力。利用本發(fā)明實(shí)施例中提供的上述裝置,能夠以最小的代價(jià)實(shí)現(xiàn)基于陣列結(jié)構(gòu)的主動(dòng)預(yù)防錯(cuò)誤的處理器核切換策略。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括上述各方法的實(shí)施例流程。其中,所述的存儲(chǔ)介質(zhì)可謂磁碟、光盤、只讀存儲(chǔ)記憶體或隨機(jī)存儲(chǔ)記憶體等。綜上所述,本發(fā)明實(shí)施例通過查找與處理器陣列中空閑處理器核相鄰的、相同拓?fù)浣Y(jié)構(gòu)的,按照長時(shí)優(yōu)先和遍歷的原則,對處理器陣列中的空閑處理器核與工作處理器核進(jìn)行切換,從而能夠以最小的代價(jià)與消耗,解決處理器核長時(shí)間持續(xù)工作的出錯(cuò)率上升問題,同時(shí)能夠使每個(gè)處理器核獲得輪換,延長了處理器陣列整體的壽命。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限與此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略,其特征在于,包括: 51、確認(rèn)眾核陣列中空閑狀態(tài)處理器核的數(shù)量與位置; 52、依次按照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找一組同等數(shù)量的工作狀態(tài)處理器核; 53、將S2中的工作狀態(tài)處理器核與SI中的空閑狀態(tài)處理器核進(jìn)行狀態(tài)同步與狀態(tài)切換; 54、對從工作狀態(tài)切換到空閑狀態(tài)的處理器核進(jìn)行斷電重配置與維護(hù); 55、工作一段固定的時(shí)間后,再次執(zhí)行本策略。
2.根據(jù)權(quán)利要求1所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略,其特征在于,所述依次按照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找一組同等數(shù)量的處于工作狀態(tài)的處理器核,包括步驟: 第一步,確定空閑狀態(tài)處理器核組成的拓?fù)浣Y(jié)構(gòu); 第二步,依次查找每一個(gè)空閑狀態(tài)處理器核相鄰的工作狀態(tài)處理器核; 第三步,在所有空閑狀態(tài)處理器核的相鄰工作狀態(tài)處理器核中查找能夠組成相同拓?fù)浣Y(jié)構(gòu)的若干組工作狀態(tài)處理器核; 第四步,在第三步的結(jié)果中,查找已經(jīng)持續(xù)工作時(shí)間最長的一組處理器核;如果能查找到不止一組持續(xù)時(shí)間最長的工作處理器核,則進(jìn)行第五步,否則進(jìn)行第七步; 第五步,在第四步的結(jié)果中,查找被維護(hù)次數(shù)最少的一組處理器核;如果能查找到不止一組維護(hù)次數(shù)最少的處理器核,則進(jìn)行第六步,否則進(jìn)行第七步; 第六步,在第五步的結(jié)果中,依次確認(rèn)各個(gè)處理器核的ID,查找包含具有最小ID的一組處理器核; 第七步,查找到的唯一的一組工作狀態(tài)處理器核即為查找結(jié)果。
3.根據(jù)權(quán)利要求1所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略,其特征在于,所述定期地將工作狀態(tài)處理器核與空閑狀態(tài)處理器核進(jìn)行狀態(tài)同步與狀態(tài)切換,還包括: 進(jìn)行切換的工作狀態(tài)處理器核是依次按照4個(gè)優(yōu)先級準(zhǔn)則:I)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找得到的一組工作狀態(tài)處理器核。
4.根據(jù)權(quán)利要求1所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略,其特征在于,所述定期地將工作狀態(tài)處理器核與空閑狀態(tài)處理器核進(jìn)行狀態(tài)同步與狀態(tài)切換,包括步驟: 第一步,對空閑狀態(tài)處理器核進(jìn)行功能配置; 第二步,將工作狀態(tài)處理器核的狀態(tài)、數(shù)據(jù)等內(nèi)容同步到相對應(yīng)的已完成配置的空閑狀態(tài)處理器核中; 第三步,將工作狀態(tài)處理器核的輸入同時(shí)輸入給已完成配置與同步的空閑狀態(tài)處理器核; 第四步,空閑狀態(tài)處理器核開始工作但不將結(jié)果輸出給后續(xù)功能模塊; 第五步,比較原工作狀態(tài)處理器核與原空閑狀態(tài)處理器核的工作結(jié)果是否同步并一致;如果結(jié)果同步并一致,則進(jìn)行第六步,否則進(jìn)行第一步; 第六步,將原空閑狀態(tài)處理器核的結(jié)果輸出給后續(xù)功能模塊,開始記錄工作時(shí)間; 第七步,切斷原工作狀態(tài)處理器核的輸入與輸出,停止其功能。
5.根據(jù)權(quán)利要求1所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略,其特征在于,所述對從工作狀態(tài)切換到空閑狀態(tài)的處理器核進(jìn)行斷電重配置與維護(hù),還包括: 記錄完成重新配置與維護(hù)的處理器核的已維護(hù)次數(shù),為之后的切換過程提供依據(jù)。
6.一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其特征在于,包括: 處理器眾核陣列模塊,包括若干空閑狀態(tài)處理器核和工作狀態(tài)處理器核,以及處理器核重構(gòu)控制模塊; 切換處理器核查找模塊,用于確認(rèn)空閑狀態(tài)處理器核與查找需要切換的工作狀態(tài)處理器核; 記錄模塊,用于記錄處理器眾核陣列模塊中各個(gè)處理器核的ID與已維護(hù)次數(shù)以及工作狀態(tài)處理器核的持續(xù)工作時(shí)間; 切換模塊,用于控制空閑狀態(tài)處理器核與工作狀態(tài)處理器核的切換過程,能夠調(diào)用所述處理器核重構(gòu)控制模塊; 計(jì)時(shí)模塊,用于監(jiān)視所述處理器眾核陣列模塊所在系統(tǒng)的工作時(shí)間、處理器眾核陣列模塊中工作狀態(tài)處理器核的持續(xù)工作時(shí)間,并為切換模塊的工作提供使能信號(hào)。
7.根據(jù)權(quán)利要求6所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其特征在于: 所述的切換處理器核查找模塊,將確認(rèn)空閑狀態(tài)處理器核的數(shù)量、位置與組成的拓?fù)浣Y(jié)構(gòu); 依次按照4個(gè)優(yōu)先級準(zhǔn)則:1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找用于切換的工作狀態(tài)處 理器核。
8.根據(jù)權(quán)利要求6所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其特征在于: 所述的記錄模塊,記錄所述處理器眾核陣列模塊中各個(gè)處理器核的ID ; 在原空閑狀態(tài)處理器核切換至工作狀態(tài)后,開始記錄該處理器核的持續(xù)工作時(shí)間;在原工作狀態(tài)處理器核切換至空閑狀態(tài)并完成維護(hù)后,修改和記錄該處理器核的維護(hù)次數(shù)。
9.根據(jù)權(quán)利要求6所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其特征在于: 所述的切換模塊,在所述使能信號(hào)的控制下,將處理器眾核陣列模塊中的空閑狀態(tài)處理器核與切換處理器核查找模塊輸出的查找結(jié)果進(jìn)行狀態(tài)同步與狀態(tài)切換; 對切換至空閑狀態(tài)的處理器核進(jìn)行維護(hù); 將維護(hù)情況報(bào)告至所述記錄模塊進(jìn)行記錄。
10.根據(jù)權(quán)利要求6所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其特征在于: 所述的計(jì)時(shí)模塊,為所述切換模塊提供所述使能信號(hào)控制其進(jìn)行切換操作; 監(jiān)視所述處理器眾核陣列模塊所在系統(tǒng)的工作時(shí)間、處理器眾核陣列模塊中被切換至工作狀態(tài)的處理器核的持續(xù)工作時(shí)間; 將該監(jiān)視結(jié)果報(bào)告至所述記錄模塊進(jìn)行記錄。
11.根據(jù)權(quán)利要求6所述的一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防裝置,其特征在于: 所述的處理器眾核陣列模塊,是其所在系統(tǒng)的硬件基礎(chǔ),執(zhí)行系統(tǒng)功能,具有對處理器核進(jìn)行重構(gòu)配置的能力和修改所述處理器眾核陣列模塊中的路由設(shè)備配置信息的能力。
全文摘要
本發(fā)明公開了一種基于眾核陣列架構(gòu)的故障主動(dòng)預(yù)防策略及裝置。該策略主要包括確認(rèn)系統(tǒng)中空閑的處理器核的數(shù)量與位置;依次按照4個(gè)優(yōu)先級準(zhǔn)則1)拓?fù)湎噜彙?)同拓?fù)浣Y(jié)構(gòu)、3)長時(shí)優(yōu)先、4)遍歷,查找一批同等數(shù)量的處于工作狀態(tài)的處理器核;定時(shí)地將處于空閑狀態(tài)的與工作狀態(tài)的處理器核進(jìn)行狀態(tài)同步并互換功能;對從工作狀態(tài)切換到空閑狀態(tài)的處理器核進(jìn)行集中維護(hù)。相比于現(xiàn)有的技術(shù)方案,本發(fā)明提出的處理器核切換方法對陣列架構(gòu)下的拓?fù)浣Y(jié)構(gòu)影響小,對陣列架構(gòu)中路由器的設(shè)置改動(dòng)小,切換時(shí)狀態(tài)同步步驟與輸入輸出接口變更步驟消耗的代價(jià)小,能在使用最少的冗余處理器核的情況下,對全部處理器核進(jìn)行定期維護(hù)。
文檔編號(hào)G06F9/48GK103246562SQ20131014235
公開日2013年8月14日 申請日期2013年4月23日 優(yōu)先權(quán)日2013年4月23日
發(fā)明者應(yīng)忍冬, 葉凝, 陳鷹翔 申請人:上海交通大學(xué)