摘要

随着片上系统(System On Chip,SOC)集成度和规模的指数级增长,计算机系统发生粒子翻转后产生故障的可能性正在增加,其可靠性已经成为一个越来越值得关注的问题。在众多的故障中,静默数据损坏(Silent Data Corruption,SDC)是最难检测的故障类型之一,其无法被系统纠错机制检测,会随着程序执行无声地传播,最终破坏程序输出。而现有SDC错误检测方法多数仅考虑指令静态特征,忽略了指令间上下文信息,缺乏探索SDC传播规律的能力。为此,本文提出了一种结合程序异构关系图的SDC错误检测方法(SDC Error Detection Based on Program Heterogeneous Relation Graph,PHRG)。首先,设计了一个程序分析框架,挖掘程序上下文信息,构建程序异构关系图;其次,利用多关系图注意力网络搭建指令SDC脆弱性预测模型,挖掘SDC传播的关键路径,识别高脆弱性指令;最后,依据预测结果设计容错机制,对程序进行针对性冗余以检测SDC错误。实验结果表明,PHRG在Mibench测试集上较现有方法具有更高的SDC脆弱性预测准确率,更高的SDC检测率和更低的时空开销。