移动端购物网站建设目的,营销师资格证报名官网,肇庆网站建设制作公司,企业网站建设基本标准微服务架构已成为云数据中心的基本服务架构。但目前关于微服务系统弹性缩放的研究大多是基于服务或实例级别的水平缩放#xff0c;忽略了能够充分利用单台服务器资源的细粒度垂直缩放#xff0c;从而导致资源浪费。为此#xff0c;本文设计了主动式微服务细粒度弹性缩放算法… 微服务架构已成为云数据中心的基本服务架构。但目前关于微服务系统弹性缩放的研究大多是基于服务或实例级别的水平缩放忽略了能够充分利用单台服务器资源的细粒度垂直缩放从而导致资源浪费。为此本文设计了主动式微服务细粒度弹性缩放算法。算法通过预测请求到达率对系统进行资源预配置。基于预测结果应用平方根配置规则计算需求资源数量进而利用垂直缩放的细粒度资源控制特性和水平缩放的高可用性对微服务进行伸缩。最后应用基于微服务依赖关系的实例迁移算法进一步降低资源开销。实验表明本文提出的算法在优化微服务系统时延和开销方面取得了显著效果。 目录
2 问题描述
2.1 网络模型 2.2 服务模型 2.3 请求模型 2.4 时延分析
3 算法设计
3.1 微服务请求到达率预测
3.1.1 基于 GRU 的长期到达率预测
3.1.2 基于线性回归的短期到达率预测
3.1.3 基于 基于 − 准则的到达率扩展 2 问题描述
2.1 网络模型
本文考虑由一组多核服务器组成的网络架构作为微服务部署的网络平台。每台服务器由多个内存共享且具有相同计算能力的核心组成。因此同一台服务器上的核心之间的通信时延可忽略不计本文用参数表示一台服务器上的总核心数。服务器之间也是同构的即每台服务器具有相同的计算资源如 CPU、内存、磁盘等且数据中心的服务器之间可直接进行数据传输。本文用H(I,L)表示数据中心的底网络架构其中表示网络平台中可用服务器集合表示服务器之间的网络连接集合。由于数据中心中光网络连接具有丰富的带宽资源因此本文主要考虑网络时延约束而忽略带宽约束。此外由于大多数微服务对计算资源的干扰比对内存等其他资源的干扰更加敏感因此本文主要考虑计算资源的分配。本文主要符号及其含义如表 1 所示。 2.2 服务模型
本文将互联网应用建模为具有前后依赖关系的微服务链如图 1 所示。微服务链集合用表示服务链, ∈ 包含的微服务集合为 对于集合 中的微服务其实例集合为 。本文用 表示部署有微服务的实例的服务器集合。不同微服务的实例可同时部署在同一台服务器上实例之间独立运行互不干扰。当同一个微服务的不同实例部署在同一台服务器时可将不同的实例合并为一个实例对外统一提供服务。 2.3 请求模型
关于云数据中心网络的相关研究表明请求到达率遵循时间间隔分布目前很多文献将请求到达过程假设为泊松过程并进行建模不失一般性地本文也假设请求到达过程遵循泊松分布。对于微服务链请求的到达过程遵循到达率为 的泊松过程 [10] 。每个用户请求将由目标服务链上所有微服务节点依次处理最终将结果传给用户。因此请求在云数据中心的处理过程会有一定的延迟该延迟主要包括请求在服务器上的排队时延和处理时延以及请求在云数据中心的服务器之间的数据通信时延。每个微服务都可以在目标服务链上的微服务的任何一个实例上处理并且会得到相同 的计算结果但是由于每个微服务可能具有多个部署在云数据中心中的实例因此当请求在服务链上的一个非出口服务的实例上执行完毕后需要决定将请求发送给后继服务的哪个实例本文通过计算各个实例所占用的核心数与所有实例占用的总核心数的比值得到的概率对请求进行转发则路由到核心数多的实例上的请求越多。显然每个请求有多条路由路径本文用 表示服务链的路由路径集合则如下 2.4 时延分析
(1) 平均处理时延 服务链n的请求平均处理时延为 3 算法设计
动态场景下的微服务请求到达率是一个动态变化的值因此动态场景下微服务系统的弹性伸缩并非易事。如果将一段时间分解为多个较小的时隙则以时隙为缩放尺度可降低问题难度 [17-20] 。因此本文将一段时间分解为多个时隙来研究动态场景下的微服务系统资源配置方案即 {1,2,⋯,,⋯,}。本文旨在优化一段时间内服务供应商租赁的服务器数量。
3.1 微服务请求到达率预测
基于GRU的时间序列预测在实际应用中表现良好然而GRU 需要大量的历史数据来训练模型以提高预测精度。因此实时场景下GRU 可能无法快速得到精度较高的预测值。由于请求流量在短时间内呈现局部线性特征因此可以采用基于时间窗的线性回归对请求到达率进行短期预测并将 GRU 的长期预测结果与线性回归的短期预测结果的平均值作为预测的平均请求到达率。
3.1.1 基于 GRU 的长期到达率预测
本文利用GRU对历史数据良好的学习特性对用户请求到达率进行长期变化趋势预测。长期变化趋势预测采用时隙 1的前 个时隙内的请求到达率预测时隙 1的请求到达率̂ 1即实现单步预测。 表示时隙的输入数据ℎ −1 表示从上个时隙传递下来的隐藏状态信息ℎ −1 中包含了时隙之前的历史数据信息。 和ℎ −1 输入到 GRU 中经过处理得到时隙的隐藏层输出结果ℎ 。GRU 内部两个门控单元更新门和重置门的输出信号分别表示为 和 。
3.1.2 基于线性回归的短期到达率预测
用户请求到达率呈现局部线性特征因此为了更加精确地预测请求到达率本文采用基于时间窗的线性回归算法对到达率进行短期预测。假设 1时隙之前的 个时隙内的请求到达率为[ − ,⋯, −1 , ] 则时隙 1的请求到达率可表示为̂ 1 0 1 0和 1 是回归参数因此可将最后 个时隙内的请求到达率之间的关系表示如公式(19) 3.1.3 基于 基于 − 准则的到达率扩展
为了保证实际请求到达率大于预测值时微服务系统仍然具有较好的服务性能需要对预测的平均请求到达率进行适当扩展适当扩展预测结果可以避免请求激增时系统资源供应不足导致的请求丢失。受 Tang 等人工作的启发本文应用3 − σ准则进行请求到达率扩展。σ是请求到达率的标准方差但由于请求到达率的波动范围可能很大根据流量上限扩展需要大量的资源为了避免过度预测导致不必要的资源占用本文考虑以相对估计误差的标准差作为σ的取值。()和̂()分别表时隙t的真实到达率和预测到达率则相对估计误差定义为