The 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks(DSN)国际可靠系统与网络学术年会是关于可靠性系统和网络安全国际顶尖的学术会议之一,关注可靠性系统和安全领域最新的问题、挑战和研究成果。DSN 2024在澳大利亚布里斯班举办。华为云可用性工程Lab与柏林工业大学、2012可靠性实验室、慕尼黑研究所联合发表基于跨CPU的内存故障预测技术。相关的技术已在华为云的生产环境落地。
摘要:
大规模数据中心经常面临内存故障问题,其中不可纠正错误(UEs)表明了双列直插内存模块(DIMMs)中的关键性故障。现有的方法主要利用可纠正错误(CEs)来预测UEs,但通常忽略了这些错误在不同CPU架构之间的差异,特别是在错误纠正码(ECC)适用性方面的差异。在本文中,我们研究了CEs和UEs在不同CPU架构(包括X86和ARM)之间的相关性。我们的分析发现,每种处理器平台都有其特有的内存故障模式。通过在生产数据集上应用机器学习(ML)技术,我们在不同处理器平台上进行了内存故障预测,与现有算法相比,F1分数提升了高达15%。最后,我们提出了一个MLOps(机器学习运维)框架,以在生产环境中持续改进故障预测能力。
背景:
大规模数据中心中内存故障是服务器崩溃的主要原因之一,不可纠正错误(UE)是指示内存模块缺陷的主要故障类型。因此,需要一种新型框架来预测跨CPU架构中内存系统中的不可纠正错误(UE),并与内存恢复技术相关联,以提高数据中心的可靠性和服务质量。
(1) 跨CPU多层级内存:
我们对跨CPU (X86, ARM) 的多层级(内存条 层级) 的内存CE错误 (Fig. 1),进行了分析,以研究其与内存故障UE的相关性 (Fig. 2)。通过对华为云大规模数据中心中来自主流内存厂商的90,000条数据的分析,我们发现内存的故障模式在不同CPU间,因为纠正算法ECC的不同,呈现不同的故障模式,因此确定了为不同CPU服务器构建算法的必要性。
Fig. 1: Memory Organization.
Fig. 2: Analyses of Error Bits in Intel Platforms: Highlighting the Highest Rate with Red Bar.
(2) 构建跨CPU的内存故障预测算法:
我们利用分析了不同机器学习算法,包括有FT-Transformer, lightGBM等,发现LightGBM在所测试的数据集上有较好的结果,与现有算法比较,F1分数提升了15%。我们呈现了算法在不同CPU架构下的结果如Fig. 3.
Fig. 3: Overview of Algorithm Performance Comparisons across CPUs.
(3) 构建故障预测的MLOps:
在开发机器学习(ML)算法后,维护和改进它们是至关重要的。这种工程工作对于算法在线快速迭代是必不可少的。因此,我们需要为内存故障预测引入MLOps (Fig. 4)。我们从各种来源收集数据,随后被转换、存储在特征库中。一旦模型训练完成并在基准评估中显示出显著改进,它们就会被部署到生产环境中。云报警系统会根据预测的内存故障触发警报。根据具体的用例,将实施内存RAS(可靠性、可用性和可维护性)技术来缓解这些故障。这个管道需要跨不同部门和团队的合作,从而增强整体团队协作能力。
Fig. 4: The MLOps Framework of Failure Prediction.
总结:
1. 我们首次对大规模数据中心中的X86和ARM系统的内存故障进行了分析。
2. 通过我们的分析和预测建模工作,我们报告了四项发现:
1)UE和突发UE的发生率在X86和ARM系统之间有所不同。
2)故障模式在不同的架构中存在差异。
3)内存的比特级故障模式依赖于系统架构。
3. 我们的方法实现了F1分数的15%提升。此外,我们分别在X86和ARM的不同平台上进行了实验。
4. 最后,我们介绍了用于内存故障预测的MLOps框架。
原文链接: Investigating Memory Failure Prediction Across CPU Architectures