本研究的主要作者包括:Jonas Gava(学生会员,IEEE)、Alex Hanneman(学生会员,IEEE)、Geancarlo Abich(学生会员,IEEE)、Rafael Garibotti(高级会员,IEEE)、Sergio Cuenca-Asensi、Rodrigo Possamai Bastos(会员,IEEE)、Ricardo Reis(终身高级会员,IEEE)以及Luciano Ost(高级会员,IEEE)。研究机构分别涵盖了巴西、英国、西班牙和法国的学术机构。
该研究发表在《IEEE Transactions on Nuclear Science》期刊,文章的发表时间为2022年10月。
深度神经网络(Deep Neural Networks,DNN)因其在对象识别、轨迹预测等复杂任务中的卓越性能,正广泛部署于嵌入式设备中,尤其是边缘计算设备(edge-computing devices),如传感器和无人机。这些设备通常受限于低内存、低功耗和低性能微处理器。但在高辐射环境中,这些DNN模型易受中子辐射引发的软错误(soft errors)影响,这对边缘设备的安全性和可靠性提出了严峻挑战。传统的复制冗余技术和硬件加固方法虽然有效,但会增加系统开销,难以适用于资源有限的设备。
为应对这一矛盾,本研究团队提出了一种轻量级的软件加固技术,称为寄存器分配技术(Register Allocation Technique,简称RAT)。研究目的在于评估RAT技术在边缘计算设备上的有效性,特别是在两个商业化的ARM微处理器(Cortex-M4和Cortex-M7)上运行的卷积神经网络(Convolutional Neural Network,CNN)下的表现。
本研究采用了RAT技术,RAT是一种不涉及代码冗余的编译器级加固方法。其通过限制用于执行特定功能的可用寄存器数量,减少暴露的寄存器区域,从而降低发生软错误的概率。RAT基于LLVM编译器的后端开发,可通过参数调整与目标应用和硬件架构相匹配。
为验证RAT技术的可靠性,研究选择了运行在ARM Cortex-M4与Cortex-M7微处理器上的七层卷积神经网络模型,该模型基于CMSIS-NN库,采用定点数表示,优化了内存与计算需求。此外,实验数据选用了CIFAR-10图像数据集,共包含六万张32×32像素的彩色图像分为10个类别。
实验分成多个步骤,重点方法和设备包括: 1. 辐射测试准备:辐射测试采用了位于法国Grenoble的LPSC中子源,利用14MeV中子发生器进行中子轰击测试。实验分两次完成,分别在2021年11月(测试Cortex-M4)和2022年7月(测试Cortex-M7)进行。平均中子流量约为每平方厘米740万~920万n/s。 2. 软硬件设置: - 使用的实验板包含STM32-L476RGT6U(Cortex-M4)和STM32-F767ZIT6(Cortex-M7)。两块硬件都开启了最大频率运行,以及启用了缓存。 - 测试CNN模型的输入数据为一张小型图片(32×32,狗类别),存储于RAM,其分类结果为包含10个整数值的矢量。 3. 辐射测试流程: - 首先通过UART和控制计算机进行通信,确保数据传输无误。 - 按每轮测试的流程对CNN进行初始化、核对输入数据完整性、运行主函数并校验输出结果。 - 在出现错误或当设备响应失常时,通过重新编程或电源循环重置设备。 4. 数据分析方法:研究使用多项可靠性指标,包括Fit(Failure in Time,每十亿小时的故障数)和MWTF(Mean Work to Failure,故障发生前的平均工作量)。辐射导致的错误被分为三类:可接受错误(tolerable)、关键性错误(critical)与系统崩溃(crash)。
ARM Cortex-M4测试:
ARM Cortex-M7测试:
总体比较:
本研究证明了在资源受限设备上,RAT是一种轻量级、高效的软错误缓解方法。它无需额外硬件开销或数据集修改,与现有的硬件冗余方法相比具有更低的性能副作用,同时获得了显著的可靠性提升。对于如无人机、传感器等嵌入式应用,其意义重大。
研究表明,RAT技术减少了中子辐射下CNN模型的软错误发生率,适用于简单低功耗嵌入式微处理器构架。未来研究计划探索RAT在更复杂神经网络模型(如AlexNet)以及其他微处理器架构(如RISC-V)的应用潜力。
研究亮点:
未来方向: