System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于近端策略优化算法的集群自动伸缩方法和系统技术方案_技高网

一种基于近端策略优化算法的集群自动伸缩方法和系统技术方案

技术编号:40739594 阅读:9 留言:0更新日期:2024-03-25 20:00
本发明专利技术公开一种基于近端策略优化算法的集群自动伸缩方法及系统。所述方法包括:预测各个根微服务端点的吞吐量;根据预测的各个根微服务端点的吞吐量和微服务依赖拓扑估算所有微服务所需的实例数量;等待事件触发集群自动伸缩器运行;当所述事件为缩容事件,根据微服务集群当前与未来信息构建环境状态,并使用训练好的近端策略优化智能体得到动作,根据所述动作确定需要缩容的节点的缩容决策是进行休眠还是直接释放;调用执行器执行所述缩容决策。相比于现有技术,本发明专利技术能减少CPU开销、提高集群能源效率。

【技术实现步骤摘要】

本专利技术属于云计算,尤其涉及一种基于近端策略优化算法的集群自动伸缩方法和系统


技术介绍

1、微服务架构将传统单体应用程序划分为一组小型、自治、负责不同业务功能且通过轻量级通信机制协调工作的微服务。基于容器化技术,微服务应用程序能方便地对实例进行弹性伸缩,以应对动态变化的工作负载需求。这些容器化的实例往往部署在公有或私有云的虚拟机节点上,组成容器-虚拟机双层架构的云集群。为了适应微服务扩缩容的资源需求变化,集群也需要及时调整虚拟机数量,以保证服务正常运行,减少资源开销,进而提高能源效率。

2、目前集群自动伸缩技术主要分为两类。一类是响应式自动伸缩,即基于集群资源指标的阈值触发来进行扩缩容;另一类是预测式自动伸缩,即基于对工作负载等的预测实现主动扩缩容。

3、响应式自动伸缩的典型文献代表有“集群资源自动伸缩方法、装置及系统(cn116107687a)”,该文献根据请求指令扫描当前资源使用率,并依此判断是否达到扩缩容阈值决定是否创建或删除云端服务器。容器编排系统kubernetes(简称k8s)所集成的默认集群自动伸缩器(default cluster autoscaler)也是一种响应式自动伸缩器,其根据资源需求调整k8s集群大小,pod为可以在kubernetes中创建和管理的最小可部署单元,当pod由于资源不足而无法在现有节点上调度时会增加节点数量;当节点利用率较低且节点上的pod能调度到其他节点时则会减少节点数量。然而这类响应式自动伸缩方式可能会导致频繁地创建或删除节点,而由于虚拟机创建与初始化所带来的额外cpu开销,易造成资源浪费,且会增加服务的不可用时间,导致性能下降。

4、预测式自动伸缩的典型代表有“基于多节点类型的kubernetes集群自动伸缩器(wang m,zhang d,wu b.a cluster autoscaler based on multiple node types inkubernetes[c]//2020ieee 4th information technology,networking,electronic andautomation control conference(itnec).ieee,2020,1:575-579.)”,在集群扩容方面,该文献通过预测模块预测到系统负载将在预测时间点高于所设阈值时,则会提前触发扩容进程,将已经预加载了镜像的备用节点加入集群中;在集群缩容方面,该文献在释放节点执行前增加释放等待流程,只有在等待期间所预测的负载都不会升至阈值以上才会释放节点。通过基于预测的伸缩,提高了系统在快速负载压力下的性能,也避免了集群频繁伸缩,减少了不稳定性。但是该方法并没有充分利用虚拟机的特性,即仅仅考虑虚拟机的创建与删除,而且释放等待期间的空闲节点也会导致一定的资源浪费,不能尽可能地提高集群能效。


技术实现思路

1、本专利技术的目的在于克服上述现有技术的不足与挑战,提供一种基于近端策略优化算法的集群自动伸缩方法和系统,以减少cpu开销、提高集群能源效率。

2、本专利技术的目的至少通过如下技术方案之一实现。

3、一种基于近端策略优化算法的集群自动伸缩方法,包括:

4、预测各个根微服务端点的吞吐量;

5、根据预测的各个根微服务端点的吞吐量和微服务依赖拓扑估算所有微服务所需的实例数量;

6、等待事件触发集群自动伸缩器运行;

7、当所述事件为缩容事件,根据微服务集群当前与未来信息构建环境状态,并使用训练好的近端策略优化智能体得到动作,根据所述动作确定需要缩容的节点的缩容决策是进行休眠还是直接释放;

8、调用执行器执行所述缩容决策。

9、上述方案中,预测各个根微服务端点的吞吐量,具体包括:

10、对根微服务端点r∈r,r表示根微服务端点集合,设当前日期为第d日,获取连续d日的吞吐量历史数据其中表示根微服务端点r在第d-b日的吞吐量历史数据,0<b<d;

11、根据连续d日的吞吐量历史数据预测第d日的吞吐量数据其中表示根微服务端点r在第d日的预测时间点w的吞吐量预测值,w值表示预测时间点个数,取决于时间步尺度t0,w=24h/t0,h表示小时。

12、上述方案中,根据预测的各个根微服务端点的吞吐量和微服务依赖拓扑估算所有微服务所需的实例数量,具体包括:

13、根据预测的各个根微服务端点的吞吐量以及微服务依赖拓扑评估对应调用链上所有微服务端点的吞吐量;

14、根据所述对应调用链上所有微服务端点的吞吐量计算微服务端点在给定吞吐量下完成服务请求所需的执行时间;

15、根据所述执行时间、所述对应调用链上所有微服务端点的吞吐量计算每个微服务的并行度,根据所述并行度计算每个微服务所需的实例数量。

16、上述方案中,所述根据预测的各个根微服务端点的吞吐量以及微服务依赖拓扑评估对应调用链上所有微服务端点的吞吐量,具体包括:

17、根据微服务依赖拓扑确定任意微服务端点l的上游端点u,其依赖关系为θl,u,θl,u表示当端点u被调用一次时,微服务端点l被端点u调用的平均次数;

18、基于依赖关系θl,u,设端点u在预测时间点w的吞吐量为则微服务端点l在预测时间点w处从端点u获得的吞吐量通过下式计算:

19、

20、微服务端点l在预测时间点w的总吞吐量的计算公式如下:

21、

22、其中,u(l)表示微服务端点l的所有上游端点;

23、基于公式(1)和公式(2),所述根微服务端点作为对应调用链上的最上游端点,根据预测的各个根微服务端点的吞吐量,从根微服务端点开始递归计算调用链上所有微服务端点在各个预测时间点w的总吞吐量

24、上述方案中,所述根据所述对应调用链上所有微服务端点的吞吐量计算各微服务端点在给定吞吐量下完成服务请求所需的执行时间,具体包括:

25、使用基于svr的性能模型为任意微服务端点l建立吞吐量与执行时间的回归模型则将微服务端点l在各个预测时间点w的总吞吐量作为给定吞吐量,微服务端点l的执行时间为:

26、

27、上述方案中,所述根据所述执行时间、所述对应调用链上所有微服务端点的吞吐量计算每个微服务的并行度,根据所述并行度计算每个微服务所需的实例数量,具体包括:

28、基于little’s law,微服务端点l在给定吞吐量及对应执行时间下需要处理的并发请求数量为:

29、

30、计算每个微服务s的并行度ps,w:

31、

32、其中,微服务s∈s,s表示微服务应用程序所有的微服务,所述并行度ps,w指一个微服务s的所有微服务端点在预测时间点w处理并发请求数的总和,l(s)表示微服务s的所有微服务端点;

33、微服务s在当天24h内各个预测时间点w所需实例数量ns本文档来自技高网...

【技术保护点】

1.一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,包括:

2.根据权利要求1所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,预测各个根微服务端点的吞吐量,具体包括:

3.根据权利要求2所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,根据预测的各个根微服务端点的吞吐量和微服务依赖拓扑估算所有微服务所需的实例数量,具体包括:

4.根据权利要求3所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述根据预测的各个根微服务端点的吞吐量以及微服务依赖拓扑评估对应调用链上所有微服务端点的吞吐量,具体包括:

5.根据权利要求4所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述根据所述对应调用链上所有微服务端点的吞吐量计算各微服务端点在给定吞吐量下完成服务请求所需的执行时间,具体包括:

6.根据权利要求5所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述根据所述执行时间、所述对应调用链上所有微服务端点的吞吐量计算每个微服务的并行度,根据所述并行度计算每个微服务所需的实例数量,具体包括:

7.根据权利要求6所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述根据微服务集群当前与未来信息构建环境状态,具体包括:

8.根据权利要求7所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述动作为智能体在给定状态st下的输出,表示为at是一个one-hot向量,当为1时,节点进入休眠状态,反之则直接释放节点;

9.根据权利要求8所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述使用训练好的近端策略优化智能体得到动作,具体包括:

10.一种基于近端策略优化算法的集群自动伸缩系统,其特征在于,包括:

...

【技术特征摘要】

1.一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,包括:

2.根据权利要求1所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,预测各个根微服务端点的吞吐量,具体包括:

3.根据权利要求2所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,根据预测的各个根微服务端点的吞吐量和微服务依赖拓扑估算所有微服务所需的实例数量,具体包括:

4.根据权利要求3所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述根据预测的各个根微服务端点的吞吐量以及微服务依赖拓扑评估对应调用链上所有微服务端点的吞吐量,具体包括:

5.根据权利要求4所述的一种基于近端策略优化算法的集群自动伸缩方法,其特征在于,所述根据所述对应调用链上所有微服务端点的吞吐量计算各微服务端点在给定吞吐量下完成服务请求所需的执行时间,具体包括:

6.根...

【专利技术属性】
技术研发人员:刘发贵陈润镔徐地石
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1