容錯系統(tǒng)(第2版)是利用系統(tǒng)方法進行計算機系統(tǒng)容錯設計的第1本教科書,這本書全面涵蓋了容錯硬件和軟件的設計,使用容錯技術來提高生產(chǎn)制造產(chǎn)量,以及網(wǎng)絡的設計和分析。結合10多個不同計算機系統(tǒng)經(jīng)典設計案例,分析容錯技術在這些系統(tǒng)設計中的實現(xiàn),該書內(nèi)容還包括用于防范安全威脅的加密子系統(tǒng)的方法。本文更新的內(nèi)容將有助于電氣、計算機工程和計算機科學的學生和從業(yè)者學習如何設計可靠的計算系統(tǒng),以及如何分析容錯計算系統(tǒng)。
1.本書由Israel Koren和C. Mani Krishna兩位教授結合他們在容錯計算領域多年的教學經(jīng)驗和工程實踐的基礎上編寫而成,是第一本采用系統(tǒng)方法介紹軟硬件容錯設計技術的書籍,極大彌補了近幾年容錯計算領域在教材更新上的不足。全書共分11章,系統(tǒng)全面的介紹了容錯的基本概念和分析方法,軟硬件容錯設計技術,容錯網(wǎng)絡及VLSI電路中的缺陷容忍等內(nèi)容,還給出一些實際案例分析以幫助讀者理解容錯技術的應用。2.書中配有大量習題,它們可以配合課堂教學,幫助讀者準確理解有關概念,掌握設計方法和技巧。3.本書適合電子、計算機工程以及計算機科學領域的學生和從業(yè)人員學習如何設計與分析可靠的容錯計算機系統(tǒng)。
前言
FaultTolerant Systems,Second Edition
本書第2版保留了第1版的結構,但在大部分章節(jié)增加了新的內(nèi)容。參考文獻也做了相應更新,以反映本領域最新的研究進展。
如下為我們增加的新內(nèi)容。
第2章:增加了對導致硬件失效的主要物理因素的討論。
第3章:增加了對低密度奇偶校驗編碼(LDPC)、層次化RAID以及閃存RAID的討論。
第4章:增加了胖樹、片上網(wǎng)絡以及無線感知網(wǎng)相關的容錯技術。
第5章:增加了基于Hypervisor的抗衰恢復,對軟件可靠性模型的介紹增加了OstrandWeyukerBell模型。
第6章:增加了對云計算,以及千萬億次(petascale)、百億億次(exascale)等高性能計算場景中的檢查點機制的討論。
第7章:這是一個全新的章節(jié),主要討論日益顯著的信息物理融合系統(tǒng)(CPS)中的容錯相關技術。
第8章:這一章增加了一些新的案例分析,包括航空航天系統(tǒng)、IBM的POWER8多核處理器、Intel 至強處理器,以及Oracle和NEC的服務器。此外,增加了一些云計算的案例。
第9章:增加了對拆分方法的介紹。
致謝
我們在此感謝Zahava Koren通讀本書全文后提出的寶貴建議。我們也要感謝Morgan Kaufman公司的員工為這個項目所做的努力。我們還要感謝多年來支持我們工作的資助機構,特別是第7章的內(nèi)容是在美國國家科學基金會CNS-1717262項目的贊助下完成的。
伊斯雷爾·科倫(Israel Koren) 馬薩諸塞大學阿默斯特分校電氣和計算機工程系名譽教授。在此之前,他曾在位于海法的以色列理工學院、加州大學伯克利分校、南加州大學和加州大學圣巴巴拉分校任職。他曾在Analog Devices、AMD、Digital Equipment Corp.、IBM、Intel和National Semiconductors等多家公司擔任顧問。他的研究興趣包括容錯計算、信息物理系統(tǒng)、計算機體系結構、算法以及安全加密系統(tǒng)。
C. 瑪尼·克里希納(C. Mani Krishna) 馬薩諸塞大學阿默斯特分校電氣和計算機工程系教授。他于1984年在密歇根大學獲得電氣工程博士學位,1979年在印度理工學院獲得電氣工程學士學位,1980年在倫斯勒理工學院獲得碩士學位。Krishna博士的研究興趣集中在信息物理系統(tǒng)、實時與容錯計算以及分布式與網(wǎng)絡系統(tǒng)。
目錄
FaultTolerant Systems,Second Edition
譯者序
前言
第1章 預備知識1
1.1 故障的分類1
1.2 冗余類型2
1.3 容錯機制的基本評測指標4
1.3.1 常用評測指標4
1.3.2 網(wǎng)絡系統(tǒng)的評測指標5
1.4 本書主要內(nèi)容6
1.5 延伸閱讀7
參考文獻8
第2章 硬件容錯技術9
2.1 硬件失效率9
2.2 失效率、可靠度和平均無故障運行時間10
2.3 硬件失效機制12
2.3.1 電遷移12
2.3.2 應力遷移13
2.3.3 負偏壓溫度不穩(wěn)定性13
2.3.4 熱載流子注入14
2.3.5 時間依賴的電介質擊穿14
2.3.6 綜合考慮多種失效機制15
2.4 共模失效15
2.5 典型容錯結構16
2.5.1 串聯(lián)與并聯(lián)系統(tǒng)16
2.5.2 非串聯(lián)/并聯(lián)系統(tǒng)17
2.5.3 M-of-N系統(tǒng)19
2.5.4 表決器21
2.5.5 NMR的變體21
2.5.6 雙模系統(tǒng)24
2.6 其他可靠性評估技術26
2.6.1 泊松過程26
2.6.2 馬爾可夫模型28
2.7 處理器級容錯技術30
2.7.1 看門狗處理器31
2.7.2 面向容錯的同步多線程32
2.8 時序故障的容錯33
2.9 拜占庭故障的容錯35
2.9.1 基于消息簽名的拜占庭協(xié)議38
2.10 延伸閱讀39
2.11 練習題40
參考文獻42
第3章 信息冗余45
3.1 編碼45
3.1.1 奇偶校驗碼46
3.1.2 校驗和51
3.1.3 M-of-N編碼51
3.1.4 伯格碼52
3.1.5 循環(huán)碼52
3.1.6 算術編碼57
3.1.7 局部軟判決與硬判決60
3.2 冗余磁盤系統(tǒng)65
3.2.1 RAID 166
3.2.2 RAID 267
3.2.3 RAID 367
3.2.4 RAID 468
3.2.5 RAID 569
3.2.6 層次化RAID系統(tǒng)69
3.2.7 相關故障模型71
3.2.8 基于固態(tài)硬盤的RAID技術73
3.3 數(shù)據(jù)復制74
3.3.1 表決的非層次化方法75
3.3.2 表決的層次化方法79
3.3.3 主備方法80
3.4 基于算法的容錯83
3.5 延伸閱讀84
3.6 練習題85
參考文獻87
第4章 容錯網(wǎng)絡90
4.1 網(wǎng)絡彈性評測90
4.1.1 基于圖論的評測指標90
4.1.2 計算機網(wǎng)絡的評測指標91
4.2 常見網(wǎng)絡拓撲結構及其彈性分析92
4.2.1 多級互連網(wǎng)絡和擴展多級互連網(wǎng)絡92
4.2.2 縱橫交叉開關網(wǎng)絡96
4.2.3 矩形網(wǎng)格網(wǎng)絡和填隙網(wǎng)格網(wǎng)絡98
4.2.4 超立方體網(wǎng)絡100
4.2.5 帶環(huán)超立方體網(wǎng)絡103
4.2.6 環(huán)狀網(wǎng)絡104
4.2.7 樹狀網(wǎng)絡105
4.2.8 AD HOC點對點網(wǎng)絡107
4.3 容錯路由109
4.3.1 超立方體網(wǎng)絡容錯路由110
4.3.2 網(wǎng)格中基于源節(jié)點的路由策略111
4.4 片上網(wǎng)絡113
4.4.1 路由器容錯114
4.4.2 連接容錯116
4.4.3 發(fā)生失效后的路由選擇116
4.5 無線傳感器網(wǎng)絡117
4.5.1 基礎知識117
4.5.2 傳感器網(wǎng)絡的失效118
4.5.3 傳感器網(wǎng)絡中的容錯118
4.6 延伸閱讀120
4.7 練習題122
參考文獻124
第5章 軟件容錯127
5.1 可接受性測試127
5.2 單版本軟件容錯128
5.2.1 封裝器128
5.2.2 軟件抗衰130
5.2.3 數(shù)據(jù)多樣性133
5.2.4 軟件實現(xiàn)的硬件容錯134
5.3 N版本編程136
5.3.1 一致性比較問題136
5.3.2 版本獨立性138
5.3.3 N版本編程的其他問題141
5.4 恢復塊方法142
5.4.1 基本思想143
5.4.2 成功概率的計算143
5.4.3 分布式恢復塊144
5.5 前置條件、后置條件和斷言145
5.6 異常處理146
5.6.1 異常處理程序的要求146
5.6.2 異常和異常處理的基礎知識146
5.6.3 語言支持148
5.7 軟件可靠性模型148
5.7.1 JelinskiMoranda模型149
5.7.2 LittlewoodVerrall模型149
5.7.3 MusaOkumoto模型150
5.7.4 OstrandWeyukerBell故障模型151
5.7.5 模型選擇和參數(shù)估計152
5.8 遠程過程調用的容錯技術152
5.8.1 主備容錯方法152
5.8.2 馬戲團方法153
5.9 延伸閱讀154