将基于管理程序的容错技术应用于安全关键的嵌入式系统

《Microprocessors and Microsystems》:Applying hypervisor-based fault tolerance techniques to safety-critical embedded systems

【字体: 时间:2026年02月16日 来源:Microprocessors and Microsystems 2.6

编辑推荐:

  设计并实现基于hypervisor的空间系统故障容忍机制,通过FPGA投票和健康监控实现冗余软件应用在独立虚拟机中的容错,测试表明该机制能有效检测并恢复实时关键任务中的故障,提升系统可靠性。

  
Santiago Lozano | Javier Fernandez | Jesus Carretero
Indra Sistemas, 马德里, 西班牙

摘要

本项工作的主要目标是设计并实现一种空间用例,将基于管理程序的容错(HBFT)机制应用于相互独立的虚拟机中的冗余软件应用程序,并研究HBFT机制对系统安全性和可靠性的影响。为了测试所开发的容错机制,我们决定使用一个真实的太空系统用例:欧洲航天局(ESA)的近红外(NIR)HAWAII 2-RG数据处理算法基准测试软件。经过全面的故障注入测试后,评估结果表明,我们的HBFT机制能够检测并覆盖所有关键实时嵌入式系统中的故障,使发生故障的虚拟机或容器从故障状态恢复到完全可运行的状态。

引言

许多安全关键系统(如飞行系统或某些汽车子系统)的成功在很大程度上取决于它们在长时间内以及在有限的外部实时支持下保持确定性行为的能力。然而,这些系统在许多情况下必须面对恶劣的工作环境:真空、辐射、极端温度、冲击等。所有这些限制使得与安全关键行业相关的流程和产品变得复杂且成本高昂,这对中小型企业来说是一个主要的进入壁垒。例如,最常见的防止辐射引起的软错误的容错机制是使用专门针对电离粒子加固的电子组件,并提供硬件冗余。在这两种情况下,容错机制都会导致成本增加以及最终产品重量和功耗的显著上升。
近年来,嵌入式关键系统倾向于使用具有高处理能力的商用现成(COTS)组件来满足日益严格的系统需求。在太空领域,“新太空”这一术语经常用来指代一个基于小型平台的新市场,该市场的开发和制造过程更为简单,对可靠性的要求也较低。显然,在这种类型的平台上,容错机制必须相应地进行改进,以避免过高的成本增加,同时仍要满足可靠性要求。
虚拟化和基于管理程序的容错(HBFT)是解决上述问题的有前景的机制。例如HyFAR(用于汽车系统)、Rust-Shyper或异构RTOS等。在之前的论文中,我们研究了管理程序在安全关键系统中的应用以及最流行的容错技术。本文针对太空系统中的容错问题,提出了一种基于HBFT的解决方案,以替代硬件冗余,从而在大幅减少冗余的同时保持高可靠性。
本工作的主要贡献包括:
  • 为独立虚拟机中的冗余软件应用程序设计并实现基于管理程序的容错(HBFT)机制。
  • 提供一种HBFT解决方案,以便损坏的分区可以被健康的分区替换,从而使最健康的分区始终运行,并在其计算中提供更高的成功率。
  • 创建一个混合系统,在FPGA中实现投票器及其所有逻辑,并配备冗余组件。
  • 使用真实的太空系统用例(ESA近红外(NIR)HAWAII 2-RG数据处理算法基准测试软件)来测试所开发的容错机制。
本文的结构如下:第2节介绍了问题的背景和相关工作;第3节展示了本文提出的HBFT机制的架构设计;第4节描述了本文提出的投票机制;第5节介绍了我们解决方案中的关键组件——健康监控分区;第6节描述了用于评估所提解决方案的实验设置;第7节展示了容错功能的结果,第8节展示了投票器的性能方面;最后,第9节总结了本工作的主要结论。

部分内容

背景

传统上,为了保护系统免受软错误的影响,航空航天等行业使用了硬件冗余技术[8]或特别加固的电子组件[9]。然而,这些解决方案不仅对于其他行业(如汽车行业)开发的普通产品来说过于昂贵,而且航空航天行业本身也被迫转向使用COTS组件,因为这是满足当今计算需求的唯一选择。

架构设计

从之前的工作中,我们可以提取出我们的解决方案必须满足的一些特性:我们的解决方案至少必须使用TMR(时间多路复用)来实现任务冗余,从而能够检测和识别出现故障的分区;投票机制不应涉及单点故障;并且必须独立于所使用的管理程序。此外,还提出了两个特性来提升解决方案的性能和安全性。首先,完整的投票器逻辑应当尽可能简单。

投票器

为了在FPGA中实现投票器,其所有逻辑(包括冗余组件)都保持尽可能简单。投票器将从参与投票过程的每个活动分区接收两个输入:每个分区的标识符以及每个分区计算出的结果。基于这些信息,投票器执行决策算法并得出结论,该结论会在每次迭代中传递给健康监控分区。根据这个结论做出的决策...

健康监控

健康监控分区是架构中的一个关键组成部分。它的功能有两个方面:一方面,持续监控管理程序和每个分区的健康状况和正确运行情况;另一方面,无论是由于检测到错误还是因为投票器通知某个分区在计算中出现故障(这可能表明该分区出现故障),健康监控分区负责采取适当的措施。

实验设置

开发的原型架构有三个明确区分的层次:硬件层(基于Xilinx Zynq-7000 SoC的MicroZed板);管理程序层(选择了XtratuM管理程序来实现原型);以及分区层(部署了五个分区,包括三个运行基于HAWAII-2RG NIR太空基准测试的相同应用程序的分区,一个分区专门用于运行健康监控程序,还有一个...

容错评估

为了评估本文提出的解决方案的可行性和性能,我们首先测试了XNG管理程序的开销,然后测试了系统故障情况下健康监控组件的行为,接着测试了投票器的性能,最后评估了软件和FPGA版本中投票器的开销。

管理程序开销

为了评估管理程序的开销,我们首先在Linux操作系统上运行了Dhrystone基准测试[35],以测量XNG管理程序在虚拟化硬件时与不使用管理程序时所需的指令数量之间的差异。测试结果显示,管理程序的开销为3.683%。
其次,使用NIR HAWAII-2RG基准测试来估计一个更接近实际情况的场景,即MIA架构在这种情况下的表现...

结论

在本文中,我们提出了一种基于管理程序的容错(HBFT)机制,适用于关键实时嵌入式系统。虽然使用Zynq-7000系列SoC和XtratuM管理程序开发了原型,但本文的结果显然也适用于任何其他嵌入式实时环境。该原型实现了一个太空系统,允许部署关键和非关键分区,以及通用分区。

利益冲突声明

作者声明他们没有已知的可能会影响本文所述工作的财务利益或个人关系。

致谢

本工作部分由西班牙研究机构资助,项目编号为(PID2022-138050NB-I00)“新型可扩展I/O技术,用于混合高性能计算和数据密集型工作负载(SCIOT)”
Jesús Carretero是马德里卡洛斯三世大学(Spain)的计算机架构与技术教授,自2000年起负责该领域的教学工作,并担任计算机架构研究小组(ARCOS)的负责人。
他的研究领域包括高性能计算系统、大规模分布式系统、数据密集型计算、物联网和实时系统。他曾担任IC1305 COST行动“可持续超大规模计算网络”的行动主席。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号