利用深度学习提升云微服务性能的可预测性
分布式、并行与集群计算
2019-05-06 v1 机器学习
摘要
性能不可预测性是阻碍云采用的主要障碍,并对性能、成本和收入产生影响。随着云服务从单体设计向微服务过渡,可预测的性能变得更加关键。在包含微服务的系统中,在 QoS 违规发生后才进行检测会导致较长的恢复时间,因为热点会在依赖服务之间传播并放大。我们提出了 Seer,这是一个在线云性能调试系统,它利用深度学习和云系统收集的海量追踪数据,来学习转化为 QoS 违规的空间和时间模式。Seer 将轻量级的分布式 RPC 级追踪与详细的低级硬件监控相结合,以发出即将发生 QoS 违规的信号,并诊断不可预测性能的来源。一旦检测到即将发生的 QoS 违规,Seer 就会通知集群管理器采取行动,从而完全避免性能下降。我们在本地集群以及由微服务构建的、拥有数百名用户的端到端应用大规模部署中评估了 Seer。我们表明,Seer 能够在 91% 的情况下正确预测 QoS 违规,并在 84% 的情况下从一开始就避免了 QoS 违规。最后,我们表明 Seer 能够识别应用级设计缺陷,并就如何更好地构建微服务以实现可预测的性能提供见解。
引用
@article{arxiv.1905.00968,
title = {Leveraging Deep Learning to Improve the Performance Predictability of Cloud Microservices},
author = {Yu Gan and Yanqi Zhang and Kelvin Hu and Dailun Cheng and Yuan He and Meghna Pancholi and Christina Delimitrou},
journal= {arXiv preprint arXiv:1905.00968},
year = {2019}
}