ASPLOS19 - Seer Leveraging Big Data to Navigate the Complexity of Performance Debugging in Cloud Microservices

总结

  • 主要研究领域是QoS维稳。切入方向是QoS的提取预测,以此给出伸缩扩容的建议。

  • 做法:提出Seer方法,通过深度学习模型预测可能出现的QoS异常。主要通过对各种队列的分析,发现潜在的QoS异常。

    • Seer使用带有QoS违规标注并随时间收集的执行轨迹来训练一个 深度神经网络,以提示即将到来的QoS违规
  • 缺点:

    • 没说明各种队列是怎么映射到神经网络中的,以及训练数据中标注的情况。
    • 队列中的数据通常为多个不同服务的请求,也没说这种关系如何在神经网络中表示

背景

  • 系统很复杂

    • (这个图真是烂大街了,是个做微服务的都能用(狗头))
  • 过去的方法检测QOS异常具有滞后性

    • 50s处发现异常,采取措施,直到恢复,需要180s左右。
    • 所以希望提出一种方法,提前预测异常的发生
  • 过去的通过资源使用率预测QoS是不准确的,有可能资源利用率一直高,比较难发现异常

    • 图二为延迟率,颜色越亮,延迟越高。从上到下为后端到前端。可以看到,后端在0s发生延时,随着时间的推移,在250s,前端感受到延时
    • 图一位资源利用率(CPU),颜色越亮,资源利用率越高。可以看到前端一直很高,无法通过资源利用率分析QoS

系统架构

数据来源

  • NIC(network interface controller)过程中的队列,TCP/IP数据传输、epoll处理、socket读、内存过程,以及应用层的队列

框架设计

  • 输入:队列信息、每个神经元对应一个微服务、从上到下分别为后端到前端
  • 输出:每个结果代表一个微服务发送QoS异常的概率

实验

  • 作者比较了使用不同网络情况下的预测效果,只使用日志、使用底层队列信息等。
  • Seer has now been deployed in the Social Network cluster for over two months, and in this time it has detected 536 upcoming QoS violations (90.6% accuracy) and avoided 495 (84%) of them.

ASPLOS19 - Seer Leveraging Big Data to Navigate the Complexity of Performance Debugging in Cloud Microservices

https://www.fireknight.tech/2023/01/12/ASPLOS19-Seer-Leveraging-Big-Data-to-Navigate-the-Complexity-of-Performance-Debugging-in-Cloud-Microservices/

作者

FireKnight

发布于

2023-01-12

更新于

2023-01-12

许可协议

评论