作者:Chunyang Meng, Shijie Song, Haogang Tong, Maolin Pan, Yang Yu
提交日期:2023年9月2日
主题/分类:软件工程 (cs.SE)
会议信息:本文已被第38届IEEE/ACM自动化软件工程国际会议 (ASE 2023) 录用。
自动扩缩容功能是现代云计算范式实现弹性的基础。它使得云软件服务和应用能够无需人工干预,动态地提供或回收资源,以适应工作负载的波动。然而,对微服务进行自动扩缩容具有挑战性,原因多样。特别是,复杂且随时间变化的服务依赖关系难以精确量化,并可能在分配资源时导致级联效应。
本文提出了 DeepScaler,一种基于深度学习的微服务整体自动扩缩容方法,专注于处理服务依赖关系,以优化服务级别协议 (SLA) 保障和成本效益。DeepScaler 采用了:
1. 一种基于期望最大化的学习方法,自适应地生成揭示服务依赖关系的亲和力矩阵;
2. 一种基于注意力的图卷积网络,通过聚合图结构数据的邻居信息来提取微服务的时空特征。
因此,DeepScaler 能够捕获更多潜在的服务依赖关系,并在动态工作负载下准确估计所有服务的资源需求。这使得 DeepScaler 能够在一个资源调配操作中同时重新配置交互服务的资源,从而避免由服务依赖关系引起的级联效应。
实验结果表明,我们的方法实现了一种更有效的微服务自动扩缩容机制,不仅能够准确分配资源,还能适应依赖关系的变化,在较低成本下平均显著减少了 41% 的 SLA 违规。