Skip to main content
QUICK REVIEW

[论文解读] Inherent Diversity in Replicated Architectures

Peter Okech, Nicholas McGuire|arXiv (Cornell University)|Oct 7, 2015
Distributed systems and fault tolerance参考文献 11被引用 7
一句话总结

本文表明,现代硬件/软件执行平台中固有的非确定性——尤其是内核级执行路径中的非确定性——可被利用以在复制架构中生成运行时多样性。通过追踪在重复且并行执行相同程序时的内核执行路径,作者展示了可测量的路径变异,从而在存在极少执行路径中残留操作系统的故障时,仍可通过2选2冗余机制在关键安全系统中实现故障检测。

ABSTRACT

In this paper, we report our ongoing investigations of the inherent non-determinism in contemporary execution environments that can potentially lead to divergence in state of a multi-channel hardware/software system. Our approach involved setting up of experiments to study execution path variability of a simple program by tracing its execution at the kernel level. In the first of the two experiments, we analyzed the execution path by repeated execution of the program. In the second, we executed in parallel two instances of the same program, each pinned to a separate processor core. Our results show that for a program executing in a contemporary hardware/software platform , there is sufcient path non-determinism in kernel space that can potentially lead to diversity in replicated architectures. We believe the execution non-determinism can impact the activation of residual systematic faults in software. If this is true, then the inherent diversity can be used together with architectural means to protect safety related systems against residual systematic faults in the operating systems.

研究动机与目标

  • 探究现代硬件/软件平台中固有的非确定性是否能够生成复制系统中的运行时多样性。
  • 评估利用这种多样性作为架构机制以检测操作系统中残留系统性故障的潜力。
  • 评估是否可利用内核空间中的路径变异来在不修改应用程序或操作系统的情况下提升安全相关系统的容错能力。
  • 验证在独立核心上并行执行的相同程序实例之间执行路径的分歧是否可用于2选2配置中的故障检测。
  • 提供实证证据表明,复杂平台中的非确定性可被利用以实现故障覆盖,特别是针对操作系统代码中罕见路径的故障。

提出的方法

  • 使用动态程序分析对系统调用进行内核级追踪,以观察程序执行期间的执行路径。
  • 在循环中重复执行一个简单程序,以分析在相同输入下内核空间中的路径变异。
  • 在双核系统中将两个相同的程序实例分别绑定到不同的处理器核心,以比较并行执行期间的内核执行路径。
  • 使用追踪数据比较多次运行和并行实例之间的执行路径,识别路径选择的分歧。
  • 分析路径频率,并将稀有路径识别为残留系统性故障的高概率位置。
  • 提出一种基于路径多样性的2选2故障检测模型,假设不同副本之间路径选择相互独立。

实验结果

研究问题

  • RQ1在现代平台上重复执行同一程序时,内核级执行路径选择的变异程度如何?
  • RQ2当两个相同程序在不同核心上并行执行时,路径变异如何表现?
  • RQ3观察到的内核执行路径非确定性是否可用于在复制架构中生成有效的多样性?
  • RQ4两个副本同时选择相同稀有故障路径的概率是否足够低,以支持在2选2配置中实现故障检测?
  • RQ5固有的执行非确定性是否可作为关键安全系统中检测残留故障的可行架构机制?

主要发现

  • 在现代平台上重复执行同一程序时,即使输入完全相同,内核级执行路径仍表现出可测量的变异。
  • 当两个相同程序实例在不同核心上并行执行时,其内核执行路径显著分歧,表明存在固有的非确定性。
  • 执行路径的非确定性归因于现代软硬件堆栈中复杂的交互作用,包括缓存、分支预测和调度机制。
  • 两个副本同时选择相同稀有故障路径的可能性较低,支持使用固有多样性实现2选2故障检测的可行性。
  • 在极少执行路径中残留的系统性故障,很可能在不同副本中独立被激活,从而可通过比较实现检测。
  • 本研究证实,执行非确定性带来的固有多样性可被利用作为关键安全系统中的一种架构级故障检测机制。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。