Skip to main content
QUICK REVIEW

[论文解读] Sage: Leveraging ML to Diagnose Unpredictable Performance in Cloud Microservices

Yu Gan, Mingyu Liang|arXiv (Cornell University)|Dec 12, 2021
Cloud Computing and Resource Management参考文献 19被引用 15
一句话总结

Sage 是一种无监督机器学习系统,通过因果贝叶斯网络对 RPC 级依赖关系建模,并利用图形变分自编码器生成反事实延迟,从而诊断云原生微服务中不可预测的性能问题。它实现了与基于 oracle 的方法相当的高根本原因检测准确率,并可在无需追踪标签或应用插桩的情况下实现实时纠正操作,显著提升了大规模微服务部署中的性能可预测性。

ABSTRACT

Cloud applications are increasingly shifting from large monolithic services, to complex graphs of loosely-coupled microservices. Despite their advantages, microservices also introduce cascading QoS violations in cloud applications, which are difficult to diagnose and correct. We present Sage, a ML-driven root cause analysis system for interactive cloud microservices. Sage leverages unsupervised learning models to circumvent the overhead of trace labeling, determines the root cause of unpredictable performance online, and applies corrective actions to restore performance. On experiments on both dedicated local clusters and large GCE clusters we show that Sage achieves high root cause detection accuracy and predictable performance.

研究动机与目标

  • 解决在复杂、松散耦合的云原生微服务中诊断不可预测性能问题的挑战,传统方法易出错且耗时费力。
  • 通过无监督学习消除根因分析中对昂贵且侵入式追踪标签的需求。
  • 实现实时检测与纠正交互式微服务中的服务质量违规,同时系统开销极低。
  • 在 Google Compute Engine 等大规模生产级集群中有效扩展,保持高准确率与低延迟。

提出的方法

  • Sage 使用因果贝叶斯网络(CBN)对微服务依赖关系进行建模,表示度量节点(CPU、内存)、延迟节点(客户端、服务端、网络)以及用于表示未观测随机因素的隐变量。
  • 它采用图形变分自编码器(GVAE)生成反事实延迟情景,模拟若某些事件未发生,端到端延迟本应如何。
  • 系统通过比较观测到的端到端延迟与 GVAE 生成的反事实结果,推断根本原因,识别出行为偏离最显著的微服务。
  • Sage 使用轻量级、非侵入式追踪,无需修改应用代码或内核插桩,可在生产环境中部署。
  • 基于检测到的根本原因,系统实施纠正措施(如资源扩容),以恢复性能可预测性。
  • 采用迁移学习,在微服务架构发生变化时快速适应模型,与从零开始重新训练相比,训练时间至少减少一个数量级。

实验结果

研究问题

  • RQ1无监督机器学习系统是否能在无需追踪标签或应用插桩的情况下,检测微服务中不可预测性能问题的根本原因?
  • RQ2与监督或基于阈值的基线方法相比,该系统在识别服务质量违规真实来源方面的准确率如何?
  • RQ3该系统在大规模生产级集群(如 Google Compute Engine)中扩展时,检测准确率和推理开销是否保持稳定?
  • RQ4在检测到根本原因后,该系统通过自动化纠正措施恢复性能可预测性的有效性如何?
  • RQ5当微服务拓扑结构演化时,迁移学习是否能显著缩短训练时间,且不降低检测准确率?

主要发现

  • Sage 的检测准确率与使用手动标注阈值的离线 oracle 方法相当,显著优于自动扩容基线和现有监督系统。
  • 误报率和漏报率极低,有效避免了不必要的资源分配和被遗漏的服务质量违规。
  • 在包含 188 个实例的 Google Compute Engine 上,Sage 的检测准确率与本地集群相比仅下降 1%,误报和漏报率略有上升。
  • GCE 上的训练时间为 148 分钟(本地集群为 124 分钟),推理仅需 62ms,尽管容器数量增加了 6.7 倍,推理时间仅增加 26.5%。
  • 当适应新的微服务拓扑时,迁移学习将训练时间至少减少一个数量级,且不影响检测准确率。
  • 在真实场景中,Sage 能立即识别根本原因并应用纠正措施,性能恢复速度远快于基于阈值的方案,后者常因恢复延迟而表现不佳。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。