(本文阅读时间:6分钟)
随着云 AI 工作负载变得越来越复杂和大规模,维护系统的高可靠性变得至关重要。传统的系统高可靠性保障方法,如冗余组件,不经意间引入了一个新的问题——隐性性能退化,又被称为灰色故障。灰色故障由冗余组件的逐渐失效引起,前期主要表现为不明显的性能逐渐下降,并且难以被系统管理者察觉。当后期冗余组件完全失效时,系统才会显现出明显的性能退化。这使得识别和解决系统故障的任务变得十分复杂。
传统的系统可靠性保障方法往往依赖于被动的故障排除手段,比如硬件预检和故障后修复,这些方法无法有效解决灰色故障问题。微软亚洲研究院的研究员们与微软 Azure 云平台的工程师们意识到,仅靠被动的故障排除并不足以应对这一挑战。于是,他们提出了一种创新的主动验证解决方案——SuperBench 系统。SuperBench 通过引入全面的基准测试和主动验证技术,能够在故障发生之前识别潜在的性能问题,从而显著提升系统的整体可靠性。相关论文已被全球计算机系统领域的顶级学术会议 USENIX ATC 2024 接收,并荣获最佳论文奖。
SuperBench 论文链接:
https://www.microsoft.com/en-us/research/publication/superbench/
GitHub 链接:
https://github.com/microsoft/superbenchmark
SuperBench 的设计理念是主动验证而非被动反应,它能够在系统出现显著性能退化之前,及时检测并修复潜在的问题。这种方法不仅提高了系统的稳定性,也减少了维护成本和用户遭遇的性能问题。
为了有效缩短平均故障间隔时间,主动验证必须满足以下要求:首先,它需要全面覆盖各种 AI 工作负载,以确保检测到在新集群中可能被忽视的问题;其次,验证必须具有明确的标准,以区分正常性能和渐进性性能退化的问题,确保测试结果的一致性;最后,验证过程必须具备成本效益,以确保验证开销远低于处理故障所带来的费用。
然而,实现这些要求面临着不少显著的挑战:工作负载和节点组合的数量庞大,使得验证过程中无法涵盖所有场景;缺乏对缺陷组件的可靠评估标准,所以硬件规格无法准确预测负载性能;AI 硬件的变化性加大了问题的复杂性;此外,验证时间和平均故障间隔时间之间存在相互影响,让优化验证成本与延长平均故障间隔时间的平衡成为一项复杂的任务。
SuperBench 的核心是一套全面的基准测试套件,用于评估单个硬件组件和各种真实的 AI 工作负载,其能够确保系统检测到在正常操作过程中可能隐匿的问题。
SuperBench 包括:
全面的基准测试套件:包括对典型 AI 工作负载的端到端基准测试和针对单个硬件组件的微基准测试,能够更全面、更彻底地对系统进行测试并及早发现潜在问题。
选择器模块:采用实时概率模型来确定最有效的基准子集,能够在验证时间和事件相关成本之间取得平衡,从而确保验证的高效和影响力。
验证器模块:利用先进的机器学习技术分析基准数据,并精准定位缺陷硬件。通过关注累积分布指标而非平均值,SuperBench 可以清晰地区分功能正常和故障的组件。
图1:SuperBench 的工作原理概览
通过在 Azure 生产环境中两年的成功部署,SuperBench 充分展示了其有效性。在此期间,SuperBench 验证了数十万块 GPU,识别出了10.36%的节点存在缺陷,并显著提高了系统的可靠性。
模拟结果表明,与未进行验证和未选择基准的全套验证相比,SuperBench 可以将平均故障间隔时间(MTBI)提高至22.61倍,并将用户 GPU 利用率增加4.81倍,同时将验证时间成本降低92.07%。
图2:30天内采用不同基准模拟的平均节点利用率,SuperBench 实现了90.70%的高集群利用率,将无验证基线提高了4.81倍,全集基线提高了1.09×
SuperBench 的推出标志着主动系统验证的重大进展,其通过解决灰色故障问题提高了云 AI 基础设施的可靠性,同时还带来了成本节约和运营效率的提高。该研究不仅深入探究了云 AI 基础设施中的灰色故障问题,还分析了包括硬件故障、性能倒退等问题的来源和根本原因,对相关领域的研究做出重要贡献。在未来,微软亚洲研究院将继续探索如何提升云 AI 基础设施性能,完善云 AI 高效可靠的服务。
你也许还想看: