[其他]計算系統(tǒng)中用于故障恢復(fù)的方法和設(shè)備無效
| 申請?zhí)枺?/td> | 86103695 | 申請日: | 1986-06-02 |
| 公開(公告)號: | CN86103695A | 公開(公告)日: | 1987-02-11 |
| 發(fā)明(設(shè)計)人: | 邁克爾·杰伊·弗里蒙特 | 申請(專利權(quán))人: | 惠普公司 |
| 主分類號: | G06F11/26 | 分類號: | G06F11/26 |
| 代理公司: | 中國專利代理有限公司 | 代理人: | 匡少波,黃向陽 |
| 地址: | 美國加利福尼亞*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 計算 系統(tǒng) 用于 故障 恢復(fù) 方法 設(shè)備 | ||
本發(fā)明與容錯計算系統(tǒng)有關(guān),特別涉及到對一個計算系統(tǒng)中被檢測的故障出現(xiàn)進(jìn)行恢復(fù)。一個故障出現(xiàn)是指在機(jī)器指令執(zhí)行過程中給出了無效數(shù)據(jù)或后繼的機(jī)器指令的執(zhí)行失效。期望的解決方法是以最少數(shù)量的破壞來恢復(fù)并繼續(xù)執(zhí)行機(jī)器指令,確保數(shù)據(jù)和后繼機(jī)器指令執(zhí)行的有效,而不是全部停止并重新引導(dǎo)此計算系統(tǒng)。
此計算系統(tǒng)是由稱作系統(tǒng)狀態(tài)的一組標(biāo)志來描述的。系統(tǒng)狀態(tài)包括:由進(jìn)程控制塊和進(jìn)程存取的局部數(shù)據(jù)組成的進(jìn)程數(shù)據(jù),以及象數(shù)據(jù)庫文件這類永久數(shù)據(jù)組成的文件數(shù)據(jù)。
預(yù)先恢復(fù)方案僅部分恢復(fù)故障出現(xiàn)。對文件數(shù)據(jù)的修改要在故障出現(xiàn)全部完成或完全未出現(xiàn)之前。預(yù)先恢復(fù)方案在各校驗點周期地記錄足夠的數(shù)據(jù)用以完全恢復(fù)校驗點系統(tǒng)狀態(tài),此狀態(tài)是存在于校驗點的系統(tǒng)狀態(tài)。
當(dāng)故障被檢測出,通過前面已登記的描述文件修改的信息來回溯,取消先前對文件的修改。計算系統(tǒng)被復(fù)原到最近記錄的一個校驗點系統(tǒng)狀態(tài)。此狀態(tài)定義為最后校驗點系統(tǒng)狀態(tài)。
預(yù)先恢復(fù)方案通常沒有把文件數(shù)據(jù)復(fù)原到恰好故障出現(xiàn)之前的相同狀態(tài)。在故障出現(xiàn)前沒有完成修改文件數(shù)據(jù)的進(jìn)程被異常終止,而不是啟動。故障恢復(fù)后達(dá)到的系統(tǒng)狀態(tài)定義為最終系統(tǒng)狀態(tài),此狀態(tài)通常不是故障前系統(tǒng)狀態(tài)。故障前系統(tǒng)狀態(tài)是故障剛出現(xiàn)之前的系統(tǒng)狀態(tài)。最終系統(tǒng)狀態(tài)通常只是最后校驗點系統(tǒng)狀態(tài)。
為了提供容錯功能,預(yù)先恢復(fù)方案使用模塊冗余技術(shù)。兩個或多個處理機(jī)并行運行,執(zhí)行相同的代碼。并在周期校驗點比較并行的結(jié)果。如果這些結(jié)果有差異,則用判優(yōu)方案選擇這并行的結(jié)果。模塊冗余技術(shù)受到費用限制,因為重復(fù)的硬件是非常昂貴的。
這種先有技術(shù)中,有一種方案能使最終系統(tǒng)狀態(tài)和故障前系統(tǒng)狀態(tài)相同。在執(zhí)行每一不可重復(fù)的輸入輸出操作前插入校驗點,在每個校驗點,用戶必須插入能記錄下足夠的信息的代碼,以便使系統(tǒng)復(fù)原到校驗點系統(tǒng)狀態(tài)。
此方案存在幾個不利方面。此方案對用戶是不透明的,然而又要求用戶對確保故障恢復(fù)的正確性承擔(dān)部分責(zé)任。此方案要求用戶來選擇每一校驗點上必須記錄下的信息。所以和透明的方案相比更易于發(fā)生人的差錯。沒有選擇足夠的信息將危害正確的恢復(fù),而選擇太多的信息將降低系統(tǒng)的性能。
另一個不利方面在于校驗點的間隔,即兩個連續(xù)的校驗點的間隔是由程序決定而不是獨立于程序的。在每一不可重復(fù)的輸入輸出操作之前,記錄校驗點信息會產(chǎn)生過多的開銷,它嚴(yán)重降低了系統(tǒng)的性能。校驗點間隔不能設(shè)置得比兩個不可重復(fù)的輸入輸出操作的間隔長。開銷不能覆蓋較長的校驗點間隔,這樣可以改進(jìn)系統(tǒng)性能。由于平均恢復(fù)時間與校驗點間隔有關(guān),所以,不能在系統(tǒng)性能和平均恢復(fù)時間之間采取折衷的選擇。
按照本發(fā)明提出的最佳實施方案,給出了在一個計算系統(tǒng)內(nèi),當(dāng)機(jī)器指令初始執(zhí)行期間有故障產(chǎn)生時能夠恢復(fù)的一種方法和設(shè)備。此計算系統(tǒng)被復(fù)原到最后校驗點系統(tǒng)狀態(tài),并且啟動機(jī)器指令再執(zhí)行。本發(fā)明把計算系統(tǒng)恢復(fù)到與一個特定的故障前系統(tǒng)狀態(tài)相同的最終系統(tǒng)狀態(tài)。
當(dāng)啟動機(jī)器指令再執(zhí)行時,此計算系統(tǒng)在相同的輸入和相同的各指令點完成的操作和這些機(jī)器指令在初始執(zhí)行期間完成的操作一樣。指令點是指一條機(jī)器指令在執(zhí)行或再執(zhí)行后達(dá)到的那點狀態(tài),它是由被執(zhí)行的一串機(jī)器指令來決定,而不是由時間的推移來決定。
本發(fā)明在機(jī)器指令串再執(zhí)行時,重復(fù)此機(jī)器指令初始執(zhí)行期間處理的每一確定事件。一個確定事件是異步中斷,它的處理影響到最終系統(tǒng)狀態(tài)的確定。例如,一個典型的確定事件可以是一個輸入事件,一個信息接收,一次讀實時時鐘,一個過程的生成,或一個過程的交換。機(jī)器指令初始執(zhí)行時,在某一指令點初始處理的確定事件,在此機(jī)器指令再執(zhí)行而達(dá)到同一指令點時,就重復(fù)這一確定事件。一個確定事件的重復(fù)可以通過再處理此確定事件的再次出現(xiàn),或通過模擬一個再次出現(xiàn)并處理此確定事件得到。
在機(jī)器指令再執(zhí)行期間,本發(fā)明不需重復(fù)非確定事件。非確定事件是一個異步中斷,對它的處理對最終系統(tǒng)狀態(tài)的確定是透明的。例如,一個非確定事件可以是一個超高速緩存出錯,或是一個頁面出錯。雖然非確定事件可以在機(jī)器指令再執(zhí)行過程中再現(xiàn),但是,為了把計算系統(tǒng)恢復(fù)到故障前系統(tǒng)狀態(tài),并不需要重復(fù)非確定事件。
為了在機(jī)器指令再執(zhí)行過程中,達(dá)到和機(jī)器指令初始執(zhí)行中處理一確定事件的相同指令點時,重復(fù)此確定事件,本發(fā)明對初次執(zhí)行和再執(zhí)行的機(jī)器指令計數(shù)。在處理和重復(fù)確定事件時執(zhí)行的機(jī)器指令串和在處理非確定事件中執(zhí)行的指令串,通常不被計數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于惠普公司,未經(jīng)惠普公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/86103695/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





