体系结构论文(八十五):RunSAFER: A Novel Runtime Fault Detection Approach for Systolic Array Accelerators

RunSAFER: A Novel Runtime Fault Detection Approach for Systolic Array Accelerators

核心贡献

RunSAFER 提出了一种轻量级、运行时、非侵入式的故障检测方法,具备以下关键特性:

  1. 基于数据流的校验机制

    • RunSAFER 不依赖特定的模型结构或训练过程,可部署于通用 DNN 加速器。

    • 它通过引入数据冗余路径和校验逻辑,对关键路径上的计算结果进行验证。

  2. 低开销运行机制

    • 使用“斜率检测”、“结果冗余”、“输出一致性”方式进行故障检测,适用于卷积和全连接层。

    • 尽量减少对原始计算流程的干扰,不影响推理速度或吞吐量。

技术方法

RunSAFER 构建了一个与原始计算模块并行的检测路径,该路径复用部分输入并推导出结果范围或冗余结果,与主输出对比以检测错误:

  • 对于矩阵乘法:利用特定列或行的累加特性来做一致性校验。

  • 对于卷积操作:转换为 GEMM 后再进行结构性校验。

  • 可选择性地对 accumulator、PE 输出、multiplier 结果等进行“投影式”冗余校验。

实验评估

在多个 DNN 模型上(如 AlexNet、ResNet)进行仿真评估,主要结果为:

  • 错误检测率达 99%+,覆盖常见的瞬时错误与数据路径故障。

  • 资源开销极低:面积开销小于5%,功耗开销小于3%,不影响主执行路径。

  • 适用于现有主流脉动阵列架构,无需大幅修改硬件设计。

一、intro 

问题背景

  • 在自动驾驶、航空等安全关键场景中,深度神经网络(DNN)需要部署在硬件加速器(如 TPU)上以保证高性能和实时性。

  • TPU等采用脉动阵列(Systolic Arrays)来高效完成矩阵乘加(MAC)运算。此类架构有良好的并行性,但也高度依赖数据流动的正确性。

  • 问题是:一旦某个处理元(PE)出现故障,其影响将沿着整个数据路径传播,导致多层错误积累,严重影响DNN准确性。

 面临的两类故障

  • 瞬时故障(Transient Faults):如宇宙射线、温度波动;

  • 永久故障(Permanent Faults):如制造缺陷。

 现有方法不足

A. 算法级容错(ABFT)

  • 通过加入校验和等方式进行冗余计算;

  • 优点:可用于运行时检测;

  • 缺点:增加了硬件计算负载,不利于资源受限的系统。

B. DFT(Design for Testability)

  • 如 scan chain:在设计阶段加入专用测试路径,用于测试PE间数据传输;

  • 缺点:

    • 无法用于实时运行中(需要中断推理);

    • 检测过程复杂,测试时间长。

RunSAFER 方法提出

RunSAFER 结合了:

  • ABFT 的运行时检测能力;

  • DFT 中的测试模式注入思路;

提出了一种可以在应用执行期间检测故障的机制,无需中断推理或依赖额外硬件。

具体做法

  • 在 TinyTPU 的 ISA(指令集)中新增自检指令

  • 重用原有硬件资源(如乘法器、累加器)进行自测试;

  • 利用 TPU 上的数据路径设计,在数据流中注入小规模冗余进行验证;

  • 开销极低,不会影响主数据路径。

实验效果

  • 在 FPGA 平台(Xilinx Zynq)上部署 TinyTPU 并注入 RunSAFER;

  • 卡死故障(Stuck-at faults)瞬时故障进行测试;

  • 在多个神经网络分类任务上评估,结果如下:

项目 表现
检测率 超过 94%(针对SRAM-FPGA模型)
检测延迟 固定为 3 个周期(与阵列规模无关)
效率 比传统 scan-based 方法快 4 倍
硬件开销 极低(不需要额外测试模块)

二、背景

TPU 架构核心

  • TPU 是一种专用加速器,主要用于执行深度神经网络(DNN)的大规模矩阵乘法运算

  • 其核心是一个 二维脉动阵列(Systolic Array),执行MAC(Multiply-Accumulate)运算

    • 每个 MAC 单元执行:激活值 × 权重值 + 累加(在一个周期内完成)。

 存储和数据流结构

  • 权重常驻(Weight Stationary, WS)策略

    • 权重矩阵保存在 MAC 的寄存器中;

    • 激活值按行从左到右流入阵列;

    • 计算结果按列向下传播到累加器。

    • 好处是减少数据传输、提高并行度,适合执行大规模矩阵乘法。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D了一天bug忘了编译

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值