面向大规模集群的异构感知微服务资源标准化方法及系统

专利检索2025-07-08  34


本发明涉及计算机应用,具体地,涉及一种面向大规模集群的异构感知微服务资源标准化方法及系统。


背景技术:

1、微服务通过主动的启动或停止容器以实现资源容量弹性伸缩进而保证资源效率与性能的稳定性是工业界研究的热点问题。这一弹性伸缩问题实际上为容量规划问题,其核心在于建立性能模式即cpu usage patterns以准确刻画cpu用量与工作负载的关系。但是,在硬件高度异构化的生产环境中,不同的硬件配置将显著影响微服务运行时的资源效率,导致其性能模式在异构配置的服务器上会出现明显的差异。为应对这一问题,大量资源标准化器被引入弹性伸缩框架,以消除异构的影响。随着微服务的广泛应用,为了保证微服务在动态工作负载下的性能和资源效率,微服务的弹性伸缩框架广泛部署于工业界。弹性伸缩框架在实现微服务资源容量规划时,其核心算法在于准确构建cpu用量与业务工作负载间的性能模式。同时,因为数以千计的微服务通常部署于大规模的硬件异构化数据中心中,这使得微服务在不同硬件配置上会出现明显的资源效率差异,进而影响性能模式的有效学习。此外对于不同微服务,硬件差异造成的资源效率差异的敏感性也是显著不同的。然而,当前现有的资源标准化器在消除硬件差异的影响时存在两个限制:1)基于微架构级别的资源效率指标如cpi等,与业务工作强度是非独立且相关的,在工作负载高度动态的场景可能会出现无法忽视的测量误差,无法适应微服务业务工作负载高度动态的场景;2)资源效率差异的量化估计是基于某些benchmark微服务的运行情况离线估计的,在数以千计的不同微服务场景下很难保证通用性。

2、近年来,大量的微服务已经被广泛部署的行业领导者的大规模数据中心内,如谷歌、亚马逊和阿里巴巴等。通常,在微服务架构中,一个应用往往由大量轻量级和无状态的微服务构成,这些微服务彼此通过调用来协同处理用户的请求(request)工作负载。每个微服务以容器的形式包含多个实例,以并行管理大量工作负载。这种方法有助于通过启动或终止容器来实现自动扩展微服务的资源容量。考虑到工作负载的动态特性,实现一个能够有效缓解资源供应过剩和不足问题的自动扩展框架对于微服务维持资源效率和保证服务质量(qos)至关重要。

3、因为微服务大多是轻量级和无状态的,因此在实际场景中,cpu资源经常成为微服务的关键资源,大量先前的研究表明,维持cpu利用率维持在一个合理的范围内可以有效保证微服务的资源效率和服务质量,因此在工业界中,多个主流的弹性伸缩框架(如亚马逊,谷歌等)的目标是保证cpu利用率的稳定性。

4、考虑到微服务工作负载的高度动态特性和潜在的异常,目前学术界重点关注实现主动式的容量规划。这类工作的核心是精确构建微服务性能与工作负载关系,即性能模式(performance patterns)。在此基础上,弹性伸缩框架通过预测未来的工作负载规模和已构建的performance patterns来实现对未来资源需求与资源容量的预测和规划并最终实现微服务资源容量的弹性伸缩(即容器增减)。具体来说,对于保证cpu利用率稳定的框架而言,其核心是构建cpu用量模式(cpu usage patterns)。然而在实际生产中,特别是大规模数据中心这一运行环境中,合理构建cpu usage patterns并保证微服务容器上的cpu利用率稳定面临着严峻挑战。

5、具体来说,在大规模数据中心中,影响cpu usage patterns构建的关键环境因素主要可以分为两个类别:1)性能干扰(performance interference),2)硬件异构性(hardware heterogeneity)。近年来,许多研究致力于消除同部(co-located)的微服务之间性能干扰。然而在线动态衡量和应对硬件异构性对不同微服务的影响仍然是一个为解决的挑战,尤其是在微服务工作负载动态变化的工作场景下。

6、在当前大规模数据中心中,服务器之间的硬件异构是普遍存在的现象,具体体现在诸如cpu model,服务器资源容量(如cpu cores,内存规模,硬盘规模等)等方面。相应地,在不同服务器上部署微服务容器会造成容器间的资源效率出现明显的差异,具体来说微服务部署在不同类型的服务器上将表现出不同的performance patterns。对于异构造成的资源效率影响的衡量和应对,当前工作如google compute unit(gcu)通过设计benchmark应用,并定量评估benchmark在一定的负载下,部署于不同配置服务器时的微架构级别性能指标(如cpi等)来估计微服务部署于某一硬件配置时的资源效率。然而,这些研究具有以下两方面的限制:

7、首先,不同的微服务对于某一硬件异构配置具有不同的敏感性,这使得基于benchmark的离线评估的合理性和泛化性遭受质疑。第二,微服务架构级别指标的值是非独立于业务级别工作负载强度(workload-intensity)的,这意味着此类指标的离线评测不适用于工作负载强度高度动态化的场景。

8、专利文献cn110083706b公开了一种面向物联网微服务框架及其服务组合方法;针对物联网异构海量服务、分层分域部署、应用跨域协同等特点和需求,提出一种多域物联网的扁平化微服务架构,实现海量差异化微服务状态的动态感知和分布式跨域管理。微服务架构能够兼容跨域的差异化物联网网元,扩展到各类信息系统服务;实现海量多层级服务的独立部署,具有松耦合性和高容错性;为应用跨域协同提供支撑。针对物联网应用需求差异化、服务组合多样化等特点和需求,研究多域物联网海量服务的关联关系,提出多域海量服务关系图谱构建与演化模型。提出多维度跨域服务动态发现机制和需求驱动的场景自适应服务柔性组合方法,实现物联网服务按需提供。但该发明没有解决容量规划场景下资源用量模式标准化构建问题,和容量规划时容器配额在异构环境下的合理差异性分配问题。


技术实现思路

1、针对现有技术中的缺陷,本发明的目的是提供一种面向大规模集群的异构感知微服务资源标准化方法及系统。

2、根据本发明提供的面向大规模集群的异构感知微服务资源标准化方法,包括:

3、步骤s1:根据收集的工作负载与资源轨迹,计算资源效率评估指标;

4、步骤s2:构建cpu用量模式,量化cpu用量模式相对于基准机型的资源效率差异;

5、步骤s3:根据资源效率差异将真实资源轨迹数据标准化为标准cpu用量;

6、步骤s4:进行弹性伸缩,当需要横向增加容器数量时,新增容器的cpu配额为标准化cpu配额,若相应容器调度至机型的服务器上,计算实际的容器cpu配额,并通过调度系统分配相应的cpu配额。

7、优选地,在所述步骤s2中:

8、资源效率差异red计算方法包括:

9、对于任意微服务δ和系统监控平台进行交互,在每一时间戳t,获取微服务δ部署于每一机型cj的服务器上的容器数量为在个容器上收集并聚合指标:

10、为t时刻部署于机型cj的服务器上的容器的平均工作负载;

11、为t时刻部署于机型cj的服务器上的容器的平均cpu用量;

12、t时刻微服务δ部署于机型cj的服务器上的资源效率为:

13、

14、优选地,red量化估默认指定当前数据中心中占比最大的服务器机型为基准机型cstd,则本模块量化微服务δ在机型cj上相对于cstd的资源效率差异red如下所示:

15、

16、其中,j为任意机型cj的索引,std为标准机型cstd的索引,e()为期望函数。

17、优选地,在所述步骤s3中:

18、实现资源标准化的方法包括:对于收集的任意机型cj上的cpu用量数据,估计其标准化资源用量:

19、

20、对于每一微服务δ,在任意时刻t聚合其标准化资源用量指标和平均工作负载,即:

21、为微服务δ在时刻t各容器的平均工作负载rps;

22、为微服务δ在时刻t各容器的平均标准化cpu用量。

23、优选地,在所述步骤s4中:

24、根据red与标准化配额量化真实资源配额过程如下:

25、在任意弹性伸缩框架做出资源调整决策后,若需要新增容器,则弹性框架调用调度系统将容器调度至某一属于主机类型cj的服务器上;此时弹性伸缩框架在启用了资源标准化器后,构建的cpu用量模式为标准化后的结果,分配的容器配额也是标准化资源配额,根据资源效率差异redj,将标准化资源配额转化为其真实分配的容器资源配额,调度系统分配的标准化容器cpu配额为rstd,则在机型为cj的服务器上实际分配的容器cpu资源配额为:

26、rj=redj×rstd                           (4)

27、其中,j为任意机型cj的索引,std为标准机型cstd的索引。

28、根据本发明提供的一种面向大规模集群的异构感知微服务资源标准化系统,包括:

29、模块m1:根据收集的工作负载与资源轨迹,计算资源效率评估指标;

30、模块m2:构建cpu用量模式,量化cpu用量模式相对于基准机型的资源效率差异;

31、模块m3:根据资源效率差异将真实资源轨迹数据标准化为标准cpu用量;

32、模块m4:进行弹性伸缩,当需要横向增加容器数量时,新增容器的cpu配额为标准化cpu配额,若相应容器调度至机型的服务器上,计算实际的容器cpu配额,并通过调度系统分配相应的cpu配额。

33、优选地,在所述模块m2中:

34、资源效率差异red计算方法包括:

35、对于任意微服务δ和系统监控平台进行交互,在每一时间戳t,获取微服务δ部署于每一机型cj的服务器上的容器数量为在个容器上收集并聚合指标:

36、为t时刻部署于机型cj的服务器上的容器的平均工作负载;

37、为t时刻部署于机型cj的服务器上的容器的平均cpu用量;

38、t时刻微服务δ部署于机型cj的服务器上的资源效率为:

39、

40、优选地,red量化估默认指定当前数据中心中占比最大的服务器机型为基准机型cstd,则本模块量化微服务δ在机型cj上相对于cstd的资源效率差异red如下所示:

41、(2)

42、其中,j为任意机型cj的索引,std为标准机型cstd的索引,e()为期望函数。

43、优选地,在所述模块m3中:

44、实现资源标准化的方法包括:对于收集的任意机型cj上的cpu用量数据,估计其标准化资源用量:

45、

46、对于每一微服务δ,在任意时刻t聚合其标准化资源用量指标和平均工作负载,即:

47、为微服务δ在时刻t各容器的平均工作负载rps;

48、为微服务δ在时刻t各容器的平均标准化cpu用量。

49、优选地,在所述模块m4中:

50、根据red与标准化配额量化真实资源配额过程如下:

51、在任意弹性伸缩框架做出资源调整决策后,若需要新增容器,则弹性框架调用调度系统将容器调度至某一属于主机类型cj的服务器上;此时弹性伸缩框架在启用了资源标准化器后,构建的cpu用量模式为标准化后的结果,分配的容器配额也是标准化资源配额,根据资源效率差异redj,将标准化资源配额转化为其真实分配的容器资源配额,调度系统分配的标准化容器cpu配额为rstd,则在机型为cj的服务器上实际分配的容器cpu资源配额为:

52、rj=redj×rstd                           (4)

53、其中,j为任意机型cj的索引,std为标准机型cstd的索引。

54、与现有技术相比,本发明具有如下的有益效果:

55、1、本发明提出的在线资源效率差异评估算法可以对具有不同异构敏感性的微服务分别实现在不同硬件配置下的轻量级在线资源效率评估;

56、2、本发明适用于高度动态工作负载场景下微服务资源效率差异的有效量化;

57、3、本发明利用资源效率差异评估,在这一基础上实现了标准化用量和具体硬件下实际用量的双向映射,帮助弹性伸缩框架有效构建performance patterns和实际容器配额分配,进而消除硬件异构的影响,促使弹性伸缩框架通过容量规划实现微服务的整体性能稳定与容器间的性能稳定;

58、4、本发明克服现有衡量微服务在不同异构硬件配置下资源效率差异量化和规范化时面临的基于benchmark的资源效率差异量化无法解决不同微服务资源效率对硬件配置差异的不同敏感性问题;

59、5、本发明解决了微服务架构级别指标非独立于业务级别工作负载强度导致的,动态负载的微服务异构资源效率差异难以有效量化的问题;

60、6、本发明解决了容量规划场景下资源用量模式标准化构建问题,和容量规划时容器配额在异构环境下的合理差异性分配问题。


技术特征:

1.一种面向大规模集群的异构感知微服务资源标准化方法,其特征在于,包括:

2.根据权利要求1所述的面向大规模集群的异构感知微服务资源标准化方法,其特征在于,在所述步骤s2中:

3.根据权利要求2所述的面向大规模集群的异构感知微服务资源标准化方法,其特征在于:

4.根据权利要求1所述的面向大规模集群的异构感知微服务资源标准化方法,其特征在于,在所述步骤s3中:

5.根据权利要求1所述的面向大规模集群的异构感知微服务资源标准化方法,其特征在于,在所述步骤s4中:

6.一种面向大规模集群的异构感知微服务资源标准化系统,其特征在于,包括:

7.根据权利要求6所述的面向大规模集群的异构感知微服务资源标准化系统,其特征在于,在所述模块m2中:

8.根据权利要求7所述的面向大规模集群的异构感知微服务资源标准化系统,其特征在于:

9.根据权利要求6所述的面向大规模集群的异构感知微服务资源标准化系统,其特征在于,在所述模块m3中:

10.根据权利要求6所述的面向大规模集群的异构感知微服务资源标准化系统,其特征在于,在所述模块m4中:


技术总结
本发明公开了一种面向大规模集群的异构感知微服务资源标准化方法及系统,包括:步骤S1:根据收集的工作负载与资源轨迹,计算资源效率评估指标;步骤S2:构建CPU用量模式,量化CPU用量模式相对于基准机型的资源效率差异;步骤S3:根据资源效率差异将真实资源轨迹数据标准化为标准CPU用量;步骤S4:进行弹性伸缩,当需要横向增加容器数量时,新增容器的CPU配额为标准化CPU配额,若相应容器调度至机型的服务器上,计算实际的容器CPU配额,并通过调度系统分配相应的CPU配额。本发明适用于高度动态工作负载场景下微服务资源效率差异的有效量化。

技术研发人员:钱诗友,华勤,曹健,薛广涛
受保护的技术使用者:上海交通大学
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1156059.html

最新回复(0)