Skip to main content
QUICK REVIEW

[论文解读] IRQ Coloring: Mitigating Interrupt-Generated Interference on ARM Multicore Platforms

Ralf Ramsauer, Jan Kiszka|arXiv (Cornell University)|May 19, 2017
Real-Time Systems Scheduling参考文献 12被引用 54
一句话总结

本文提出 Jailhouse,一个轻量级、开源的基于 Linux 的虚拟机监视器,通过在 Linux 完成硬件初始化后再延迟激活虚拟机监视器,实现了在 ARM 和 x86 多核平台上的静态硬件分区。通过直接将物理资源分配给隔离的客户机域,而不使用半虚拟化或调度机制,Jailhouse 实现了接近零的虚拟机监视器开销,使实时工作负载能够以确定性的低延迟中断处理(平均 810ns,最大约 5µs)运行,同时为非关键组件保留完整的 Linux 兼容性。

ABSTRACT

Mixed-criticality systems, which consolidate workloads with different criticalities, must comply with stringent spatial and temporal isolation requirements imposed by safety-critical standards (e.g., ISO26262). This, per se, has proven to be a challenge with the advent of multicore platforms due to the inner interference created by multiple subsystems while disputing access to shared resources. With this work, we pioneer the concept of Interrupt (IRQ) coloring as a novel mechanism to minimize the interference created by co-existing interrupt-driven workloads. The main idea consists of selectively deactivating specific ("colored") interrupts if the QoS of critical workloads (e.g., Virtual Machines) drops below a well-defined threshold. The IRQ Coloring approach encompasses two artifacts, i.e., the IRQ Coloring Design-Time Tool (IRQ DTT) and the IRQ Coloring Run-Time Mechanism (IRQ RTM). In this paper, we focus on presenting the conceptual IRQ coloring design, describing the first prototype of the IRQ RTM on Bao hypervisor, and providing initial evidence about the effectiveness of the proposed approach on a synthetic use case.

研究动机与目标

  • 解决在嵌入式系统中共享硬件上集成关键安全工作负载与非关键工作负载的挑战。
  • 通过避免调度、虚拟 CPU 和半虚拟化,减少虚拟机监视器的复杂性及认证工作量。
  • 使未经修改的遗留应用程序能够在隔离的、具有实时关键性的域中以最小性能开销运行。
  • 证明在现代多核平台上,通过直接硬件分配和延迟激活虚拟机监视器,可以实现确定性的实时行为。

提出的方法

  • 在 Linux 完全启动后通过内核模块激活 Jailhouse 虚拟机监视器,将 Linux 转变为根单元客户机。
  • 使用硬件虚拟化扩展(如 ARM MMU、x86 VMX)为每个客户机域建立隔离的、不重叠的物理内存和 I/O 区域。
  • 实现对客户的直接硬件分配,消除对设备模拟或半虚拟化驱动的需求。
  • 延迟虚拟机监视器激活,以利用 Linux 广泛的硬件初始化和驱动支持,再进行分区。
  • 将虚拟机监视器核心代码量最小化至 3.4k SLOC 以下,仅保留必要的管理超调用用于配置和监控。
  • 采用非调度、非虚拟化架构,避免上下文切换和调度开销,仅专注于隔离和中断路由。

实验结果

研究问题

  • RQ1一个轻量级、非调度的虚拟机监视器是否可以在现代多核平台上实现无半虚拟化的实时确定性?
  • RQ2延迟虚拟机监视器激活对系统初始化和实时性能有何影响?
  • RQ3在混合关键性环境中,一个轻量级虚拟机监视器实际引入的中断延迟开销是多少?
  • RQ4未经修改的 Linux 和遗留应用程序在隔离域中与实时工作负载共存的程度如何?
  • RQ5直接硬件分配能否消除对复杂虚拟化层的需求,同时仍能保证强隔离性和性能保障?

主要发现

  • Jailhouse 环境中的平均中断延迟约为 810ns,偏差极小,表现出高度的确定性。
  • 中断延迟的异常值可高达近 5µs,主要由相邻客户机引起的共享系统总线竞争造成。
  • 虚拟机监视器引入的中断延迟并不显著受中断频率影响,而是取决于相邻客户机域的利用率,主要受总线竞争影响。
  • 虚拟机监视器核心在所有支持的架构上均少于 3.4k SLOC,显著减少了攻击面和认证负担。
  • 该方法使未经修改的 Linux 和遗留应用程序能够在隔离的非关键域中以可忽略的性能开销运行。
  • 该设计避免了调度和虚拟 CPU 管理,消除了昂贵的上下文切换,简化了实时行为。

更好的研究,从现在开始

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

无需绑定信用卡

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