目录
1. INTRODUCTION TO FAULT TOLERANCE
1.4 Hardware vs Software Faults
1.4.1 Failure Curve for Hardware
1.4.2 Hardware and Software Failures
2.3.1 近似一致(Approximate Agreement)
2.3.4 通用k-多数投票(Generalised k-plurality voting)
2.3.5 通用中位数投票(Generalised Median Voting)
2.4 N模块冗余(N-Modular Redundancy)
1. INTRODUCTION TO FAULT TOLERANCE
容错系统:如果系统能在有限数量的故障存在的情况下,依然按照规定的规格运行,那么这个系统就被认为是容错的。
- "有限数量的故障"指的是我们作为工程师选择的容错等级,具体容错等级的选择通常基于HAZOP(危害及可操作性研究)等工具。
- "按照规定的规格在故障存在的情况下运行"意味着系统必须能够检测到故障的发生,并进行故障处理。
1.2 Definitions
- 故障(Failure):系统行为偏离规定的规格。
- 缺陷(Fault):故障的原因,可能是错误的步骤,过程,数据定义等。
- 错误(Error):缺陷的表现(发生)。
- 可靠性(Reliability):系统在特定时间内无故障运行的概率。
1.3 Two Kinds of Faults
- 硬件缺陷:物理缺陷,可能导致系统或组件产生错误。 A physical defect that can cause the system or component to produce an error
- 软件缺陷:软件源代码中的缺陷,可能导致系统或组件产生错误。A defect in the source of the software that can cause the system or component to produce an error
1.4 Hardware vs Software Faults
硬件和软件以不同的方式失败。硬件通常会随着时间的推移出现故障,如元件的退化或环境条件的改变。反观软件,则在相同的状态和输入下,每次都会失败或每次都会成功,这就使得软件的故障更加系统性。
1.4.1 Failure Curve for Hardware
Does this make sense for software failures? No!
1.4.2 Hardware and Software Failures
Hardware (tends to) fail randomly 硬件(倾向于)随机故障
- e.g. degradation of components 组件的退化
- e.g. changes in environmental conditions 环境条件的变化
Software (tends to) fail systematically 软件(倾向于)系统性故障
- with same state, same inputs, fails every time or succeeds every time (although beware concurrency and other sources of nondeterminism) 相同的状态,相同的输入,每次都失败或每次都成功(但要注意并发性和其他非确定性的来源)
1.5 Causes of Failures
- 规格中的缺陷 Faults in the Specification:需要良好的规格验证技术。
- 系统组件中的缺陷 Faults in System Components(软件或硬件):需要良好的工程技术(本课程的重点)。
- 环境影响导致的缺陷 Faults due to Environment Effects:例如,对于太空船来说可能是辐射,对于其他系统可能是温度,G力等。(在HAZOP等工具中应被识别出来)
1.6 3 Ways to Class Failures
- 时间行为 Temporal Behaviour:永久的,间歇的或瞬态的 permanent, intermittent or transient。
- 输出行为 Output Behaviour:非恶意的或拜占庭式的 Non-Malicious or Byzantine。
- 独立性和相关性 Independence and Correlation:独立的或相关的 Independen