本文开发的三种技术的结构使得其切换机制的复杂性仅随模块数量线性增长,但投票机制的复杂性显著增加。这种方法比那些切换复杂性显著增加而投票者的复杂性保持不变或随模块数量线性增长的方案更好,因为实现复杂的投票者比实现复杂的切换更容易(投票者具有更规则的结构)。
本研究开发的三种技术的结构使得其切换机制的复杂性仅随模块数量线性增长,但投票机制的复杂性显著增加。这种方法比切换复杂性显著增加而投票者复杂性保持不变或随模块数量线性增长的方案更好,因为实现复杂的投票者比实现复杂的切换更容易(投票者的结构更规则)。
摘要 本文对容错控制系统的发展进行了介绍性概述。为此,本文以教程的形式编写,有意总结了该主题领域的一些重要结果,而不详细介绍其中任何一个。但是,提供了关键参考文献,感兴趣的读者可以从中获得有关特定主题的更详细信息。有必要指出的是,本文并未对主题进行详尽的介绍。事实上,远非如此。本文仅代表作者的观点和经验。很可能无意中遗漏了一些重要问题或主题。如果是这种情况,作者在此提前表示诚挚的歉意。在简要介绍了容错控制系统(特别是最初的动机和冗余概念)之后,本文回顾了容错控制系统的发展,并从历史角度强调了几个重要问题。容错控制的一般方法分为被动、主动和混合方法。本文还讨论了主动容错控制系统的分析技术。从实际和工业角度强调了容错控制的实际应用。最后,本文讨论了该领域的一些关键问题,作为未来研究/开发的开放问题
由于我们目前无法生产出无错误的软件,软件容错性现在是并且将继续是软件系统中的一个重要考虑因素。软件设计错误的根本原因是系统的复杂性。在构建正确的软件时,问题变得更加严重的是难以评估高度复杂系统的软件的正确性。本文回顾了软件容错性。在简要概述软件开发过程之后,我们注意到在开发过程中可能引入难以检测的设计故障,以及软件故障往往依赖于状态并由特定输入序列激活。虽然组件可靠性是系统级分析的重要质量指标,但软件可靠性很难表征,并且使用后验证可靠性估计仍然是一个有争议的问题。对于某些应用程序,软件安全性比可靠性更重要,而这些应用程序中使用的容错技术旨在防止灾难。讨论的单版本软件容错技术包括系统结构化和闭包、原子操作、内联故障检测、异常处理等。多版本技术基于这样的假设:以不同方式构建的软件应该以不同的方式出现故障,因此,如果其中一个冗余版本出现故障,则其他版本中至少有一个应该提供可接受的输出。恢复块,N- 版本 p
7.缺乏听觉接近高度警报 ...................................................................... 13 8.高性能低空改平 ...................................................................................... 14 9.含糊的速记和未设置的高度计 ...................................................................... 15 10.对自动飞行系统的错误信任 ............................................................................. 16 实地研究结果 ............................................................................................................. 17 建立系统描述 ............................................................................................................. 17 任务分析术语 ............................................................................................................. 18 表示系统 ............................................................................................................. 18 行动理论 ............................................................................................................. 19 高度变化任务要素的时间顺序 ............................................................................. 20 听取并记录许可 ............................................................................................................. 21
容错可应用于三个层面——硬件、软件和系统(用户界面)。这三个层面都容易受到设计、实施或维护错误的影响——人为错误以硬件、代码或用户界面故障的形式存在,并体现在系统行为中。硬件在这三个层面中是独一无二的,因为它容易“磨损”和损坏。传统的容错可以补偿计算资源(硬件)的故障。通过管理额外的硬件资源,计算机子系统提高了其持续运行的能力。确保硬件容错的措施包括冗余通信、复制处理器、额外内存和冗余电源 / 能源供应。这种冗余的管理通常涉及使用软件。硬件容错在计算发展的早期尤为重要,因为当时机器故障之间的时间以分钟为单位。
过去 20 年,我们在创建、控制和测量超导“人造原子”(量子比特)和存储在谐振器中的微波光子的量子态方面取得了令人瞩目的实验进展。除了作为研究全新领域强耦合量子电动力学的新型试验台之外,“电路 QED”还定义了一种基于集成电路的全电子量子计算机的基本架构,该集成电路的半导体被超导体取代。人造原子基于约瑟夫森隧道结,它们的尺寸相对较大(约毫米),这意味着它们与单个微波光子的耦合非常强。这种强耦合产生了非常强大的状态操纵和测量能力,包括创建极大(> 100 个光子)“猫”态和轻松测量光子数奇偶性等新量的能力。这些新功能使基于在微波光子的不同 Fock 态叠加中编码量子信息的“连续变量”量子误差校正新方案成为可能。在我们尝试构建大规模量子机时,我们面临的最大挑战是容错能力。如何用大量不完美的部件构建出一台近乎完美的机器?二战后,冯·诺依曼开始在经典计算领域探讨这个问题 [ 1 ] 。1952 年,他在加州理工学院的一系列讲座中(这些讲座于 1956 年发表 [ 2 ] ;在耶鲁大学的西利曼讲座中,他未能出席,但其手稿在他死后出版 [ 3 ] 。除了思考当时粗糙、不可靠的真空管计算机外,他还对大脑中复杂神经元网络的可靠计算能力着迷。克劳德·香农 (Claude Shannon) 也对这个问题非常感兴趣 [ 5 ] ,他的硕士论文首次证明开关和继电器电路可以执行任意布尔逻辑运算 [ 4 ] 。冯·诺依曼证明(并不十分严格),一个可由 L 个可靠门网络计算的布尔函数,也可以由 O(L log L)个不可靠门网络可靠地(即以高概率)计算。Dobrushin 和 Ortyukov [6] 严格证明了这一结果。若要进一步了解该领域,可参考 [7-10] 等相关著作。现代观点将使用不可靠设备的可靠计算问题与香农信息论 [11] 联系起来,该理论描述了如何在噪声信道上进行可靠通信。如图 1 所示,在香农信息论中,只有通信信道被视为不可靠的,输入处的编码和输出处的解码被认为是完美的。通过使用对为香农通信问题设计的代码字进行操作的电路模块并经常检查它们,不可靠的电路也可以执行可靠的计算。诀窍在于找到区分模块输出和输入差异的方法,这些差异是故意的(即由于模块正确计算了输入的预期功能)还是错误的 [ 10 ] 。除了与信息论的这种关键联系之外,与控制论也有重要的联系,如图 2 所示。量子计算机是一个动态系统,尽管噪音和错误会不断发生,我们仍试图控制它。诺伯特·维纳创立的经典控制理论处理容易出错的系统(传统上称为“工厂”,实际上可能代表汽车制造厂或化工厂)。如图 3 所示,传感器连续测量工厂的状态,控制器分析这些信息并使用它来(通过“执行器”)向工厂提供反馈,以使其稳定可靠地运行。鲁棒控制系统能够处理传感器、控制器和执行器单元也可能由不可靠的部件制成的事实。我们会发现这是一个有用的观点,但在思考量子系统的控制时,我们必须处理许多微妙的问题,因为我们知道对量子态的测量会通过测量“反向作用”(状态崩溃)扰乱状态。