【论文】略读笔记57-前沿-大规模负载预测

【论文】略读笔记57-前沿-大规模负载预测

Fre5h1nd Lv5

📖《Less: Large-scale Workload Forecasting Model Based on Multiple Sequence Compression》

2024 年发表于 CCF-B 类会议 ICWS。

🎯需求

  • 随着应用迁移到云端成为应用部署的主流方式,应用运行时管理对大规模工作负载预测技术提出了巨大需求。
    • 随着云原生成为现代网络应用的一个重要设计范式,大多数应用都采用微服务架构和容器化技术。
      • 微服务架构旨在通过将复杂的应用程序分解为具有单一功能的服务来降低应用程序的耦合度。
      • 容器是一种内核级虚拟化技术,具有更高的性能和效率。
    • 因此,整个应用程序与多个容器合作交互以满足用户请求,这导致当前云平台上的容器数以千计,给云服务提供商带来了大规模应用程序管理的挑战。
  • 云服务提供商在谷歌云、阿里云、亚马逊 AWS 等云平台上部署应用和服务时,希望尽可能避免云服务出现违反服务水平协议(SLA)、成本效率低下等严重后果。通过工作负载预测技术,云服务提供商可以预测未来一段时间内的工作负载变化,从而提前执行扩展、迁移和调度等资源管理操作,以高性价比确保服务质量。

🚧现状

  • 现有的大规模工作负载方法通常根据原始数据生成的所有训练样本构建训练集,从而生成预测模型。然而,由于微服务应用的不同容器实例之间存在相似行为,通过这种方式进行训练和建模会产生大量冗余样本,从而产生巨大的冗余训练开销。
    • 1)在工作负载预测方面,大多数方法关注每个单一容器,并提出覆盖单一容器的单一模型进行预测,以准确描述每个单一容器序列的特征。
      • 然而,这类方法应用于大规模场景时,需要存储大量模型,占用过多存储资源,同时增加了管理的复杂性
      • 同时,它们忽略了分布式应用的工作负载相似性关系,导致工作负载预测精度不足
    • 2)为此,有人针对大规模场景提出了覆盖多个容器的单一模型,即考虑容器之间的工作负载相似性,利用聚类等技术对容器进行分组,然后为每组容器分别构建一个模型。
      • 虽然模型数量大大减少,但每组容器仍需构建一个预测模型,因此只能部分解决模型过多的问题。
    • 3)注意到上述两种方法的不足,出现了覆盖所有容器的单一模型方法。该方法使用长短期记忆(LSTM)、卷积神经网络(CNN)等深度学习模型,以所有集装箱序列为输入,分析工作量变化的时空相关性,从而在确保准确性的同时减少模型数量。
      • 然而,完全依靠 CNN 和 LSTM 等模型来挖掘所有容器工作负载序列的空间相关性是隐含的,无法解读。
      • 它也缺乏对容器工作负载共性和个体变化特征对预测模型准确性差异影响的分析,因此只能获得次优结果
      • 此外,与大规模容器相关的大量工作负载序列增加了此类方法的复杂性,导致模型存储开销、训练开销和推理开销增加

🛩创新

  • 为此,我们提出了基于多序列压缩的大规模工作负载预测模型 Less 模型。

    • 首先,我们根据工作负载序列之间的基于形状的距离(SBD)对相似的容器进行分组并对齐序列
    • 其次,在每个预测周期内,对每组容器使用基于密度的有噪声应用空间聚类(DBSCAN)算法实现容器聚类,并以此确定容器工作负载的共性和个性特征,从而指导组内的工作负载序列压缩。
    • 之后,我们设计了考虑共性特征、个性特征和序列数量的拟合函数,并通过鲸鱼优化算法(WOA)求解出最优压缩序列,从而有效减少冗余训练工作负载序列的数量。
    • 最后,我们使用双向门控循环单元(BiGRU)模型来分析各组的压缩工作量序列,从而在确保准确性的同时有效降低了训练开销。
  • 具体来说,本文的主要贡献如下:

    • 1)提出了一种以多序列压缩为核心思想的单模型覆盖多容器的大规模工作量预测模型,通过挖掘容器工作负载共性特征和个性特征,在保证工作量预测精度的同时,最大限度地压缩冗余训练序列数量以降低训练开销,实现了精度和开销的双重优化。
    • 2)基于 SBD 距离,对相似集装箱进行分组,然后提出多集装箱共性和个性特征识别算法,识别每个预测周期内每个组内的共性特征和个性特征,准确刻画集装箱工作负载的短期特征
    • 3)提出了一种基于 WOA 的大规模工作负载序列压缩算法,该算法最大限度地保留了共性特征,平衡了个性特征,同时借助拟合函数考虑了序列相似度的稳定性和压缩序列的数量,从而获得最优的压缩序列。
  • 【Abstract】因此,本文提出了基于多序列压缩的大规模工作负载预测模型 Less。

    • 首先,基于相似容器的分组结果,提出一种容器工作负载特征识别算法,以确定每个预测时段内容器工作负载的共性和个性特征,从而指导各组内工作负载序列的压缩;
    • 其次,设计了兼顾共性特征、个性特征和序列数量的拟合函数,并通过鲸鱼优化算法(WOA)求解最优压缩序列,有效减少了冗余训练工作量序列的数量,然后基于压缩后的序列建立并训练双向门控循环单元(BiGRU)模型,在保证精度的同时有效降低了模型复杂度和开销。

📊效果

  • 最后,我们基于公开数据集验证了 Less 在准确性和开销方面的综合优势,并通过消融实验验证了模型各子部分的有效性。

⛳️未来机会

  • 未来,我们将进一步探索所提出的 Less 如何有效指导大规模容器应用的资源分配,从而实现应用运行时的主动优化。

🧠疑问

  1. 步骤1、2的目的都是分组和聚类?如果是的话,重复执行两次的意义在于?是说从长期分一次类,短期再细粒度分类?还是前一次重点在于分组(可解释),后一次重点在于特征捕捉(不可解释的黑盒,融于端到端模型)?
    1. 使用SBD的算法重点在于分组;DBSCAN算法的重点在于确定容器工作负载的共性和个性特征。
  2. 在Abstract和Intro中共提到三种逻辑,模型步骤(Intro)、创新点(Intro)、创新点(Abstract),也许保持一致会更好?


  • 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
  • 如果你喜欢这篇文章,欢迎动动小手给我一个follow或star。

🗺参考文献

[1] Less: Large-scale Workload Forecasting Model Based on Multiple Sequence Compression

  • 标题: 【论文】略读笔记57-前沿-大规模负载预测
  • 作者: Fre5h1nd
  • 创建于 : 2024-08-26 09:24:17
  • 更新于 : 2024-08-26 10:32:37
  • 链接: https://freshwlnd.github.io/2024/08/26/literature/literatureNotes57/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论