背景
异构多核平台的广泛应用
-
性能提升与资源约束优势:异构多核计算平台因其能够提供显著的性能提升,同时满足尺寸、重量和功耗(SWaP)约束,所以在安全关键的网络物理系统(CPS)中越来越受到青睐。例如在自动驾驶汽车、无人机等应用中,这些平台可以在有限的空间和能源消耗下,实现高效的计算性能,以支持各种复杂的算法和实时数据处理任务。
-
应用领域拓展:随着连接式 CPS 的发展趋势,如 ARM 的 SOAFEE(Scalable Open Architecture for Future Automotive and Mobility Experiments)计划所展示的那样,异构多核平台在汽车工业等领域的应用将更加广泛。这意味着不同功能的应用需要在同一平台上高效、安全地运行,对资源管理和任务调度提出了更高的要求。
共享资源争用问题
-
共享资源的类型及争用影响:在异构多核平台上,多个计算单元共享一些关键资源,如缓存和主存。当这些资源被多个任务同时访问时,就会发生争用,可能导致任务的执行时间出现波动,从而影响实时任务的性能和系统的稳定性。【现在对于很多延迟敏感应用都是需要考虑这种问题】例如,一个高优先级的实时任务可能会因为共享缓存被其他任务占用而不得不等待,进而错过其截止时间,影响整个系统的正常运行。【优先级反转问题】
-
恶意攻击的威胁:更严重的是,共享资源争用问题可能被恶意行为者利用,通过发起微架构拒绝服务(DoS)攻击来有意图地干扰系统的正常运行。这种攻击可以导致系统性能下降,甚至引发安全问题,特别是在一些对实时性和可靠性要求极高的 CPS 应用中,如自动驾驶汽车的感知和决策系统。
ARM 工业挑战
-
挑战的提出及目的:为应对共享资源争用问题,ARM 在 2022 年提出了一个工业挑战,旨在寻找在有 “攻击者任务” 的情况下,分析和优化关键实时任务性能的方法。该挑战以汽车应用中的增强现实抬头显示(AR-HUD)为例,要求研究者针对这一实际应用场景,探索如何保证系统在面临资源争用时的性能和安全性。
-
AR-HUD 应用的特点:AR-HUD 应用是一个计算密集型的混合关键性实时系统,由视觉同时定位与建图(SLAM)任务和基于深度神经网络(DNN)的驾驶员头部姿势估计任务组成。这两个任务需要在异构多核嵌入式平台上高效运行,同时满足实时性和准确性的要求,因此成为了研究共享资源争用问题及其解决方案的理想案例。
什么是 AR-HUD?
抬头显示及增强现实抬头显示(HUD and AR-HUD) - 知乎 (zhihu.com)
AR-HUD规模化“上车”:抬头可见的未来_腾讯新闻 (qq.com)
研究方法
主要是针对异构多核平台上的共享资源争用问题,特别是在增强现实抬头显示(AR-HUD)应用中的实时任务性能优化。
RT-Gang++ 框架
-
分区实时帮调度:RT-Gang++ 支持多个分区,每个分区由一组静态确定的内核组成。每个分区可以独立地应用一次一个实时帮任务的策略,使得不同优先级和周期的实时帮任务能够在不同的分区上同时运行。例如,在 AR-HUD 案例中,将 OV2SLAM 和 EuRoC 播放任务分配到一个分区,将 DNN 任务分配到另一个分区,从而实现两个不同优先级和周期的实时帮任务的同时运行。
-
iGPU 带宽限制:利用平台的硬件级 GPU 带宽限制能力,对集成 GPU 的带宽进行限制,以保护实时任务的性能。具体来说,通过调整 GPU 的带宽限制级别,减少 DNN 任务对 GPU 带宽的占用,从而降低其对 SLAM 任务性能的影响。实验表明,适当的 GPU 带宽限制可以在保证 DNN 任务实时性的同时,显著提高 SLAM 任务的准确性和性能【降低带宽,为重要的任务让行?】。
-
LLC 带宽限制:通过利用 CPU 核心的 L1-D 缓存未命中性能计数器来跟踪和限制最佳努力任务对 LLC(L2)带宽的使用。基于 MemGuard 技术,设置 LLC 带宽阈值,当最佳努力任务的 LLC 带宽超过阈值时,对其进行限制,以减少其对实时任务的干扰。实验中,设置 LLC 带宽阈值为 100 MB/s,并在有实时任务运行时动态启用带宽限制,有效降低了 DoS 攻击任务对 SLAM 任务性能的影响。
方法的应用与验证
-
在 Jetson Nano 平台上的应用:将 RT-Gang++ 框架应用于 NVIDIA Jetson Nano 平台,通过在存在 BkPLLWrite(LLC) DoS 攻击任务的情况下,同时运行 SLAM 任务和 DNN 任务,验证了 RT-Gang++ 的有效性。结果表明,RT-Gang++ 能够有效保护 SLAM 任务的性能,使其在存在 DoS 攻击和 DNN 任务的情况下,仍能接近单独运行时的性能水平,显著提高了系统的准确性和稳定性。
-
在 Raspberry Pi 4 平台上的应用:为了验证 RT-Gang++ 的通用性,还在 Raspberry Pi 4 平台上进行了实验。尽管该平台的硬件配置与 Jetson Nano 有所不同,但 RT-Gang++ 同样能够有效缓解共享资源争用问题,保护 SLAM 任务的性能,证明了该方法在不同硬件平台上的适用性。
综上所述,该论文提出 RT-Gang++ 框架是一种有效的解决异构多核平台上共享资源争用问题的方法,通过分区实时帮调度、iGPU 带宽限制和 LLC 带宽限制等技术,能够显著提高实时任务在存在攻击者任务和其他高负载任务时的性能和准确性,为保障安全关键 CPS 的稳定运行提供了有力支持。
即使借用了LLM老师的能力,但感觉对自己的帮助业有限。
这里的虽然是 ARM 架构上的,但是和现在计算机中操作系统还是有点差别。
暂时打个 tag 分类,用到再说吧。