一种虚拟机与容器混合架构的算力调度方法与流程

摘要: 本发明属于云计算资源管理领域,具体是一种虚拟机与容器混合架构的算力调度方法。背景技术:1、随着云计算技术的普及,数据中心广泛采用虚拟机和容器作为计算资源的两种主...
一种虚拟机与容器混合架构的算力调度方法与流程

本发明属于云计算资源管理领域,具体是一种虚拟机与容器混合架构的算力调度方法。

背景技术:

1、随着云计算技术的普及,数据中心广泛采用虚拟机和容器作为计算资源的两种主要供给形态。虚拟机通过虚拟化技术在物理服务器上模拟出多个相互隔离的完整计算机系统,每个虚拟机实例运行独立的操作系统内核,具备成熟的隔离性和安全性,能够承载数据库、中间件等对稳定性和安全等级要求较高的传统业务。容器则通过在宿主机操作系统内核上创建多个隔离的用户空间实例来运行应用程序,所有容器实例共享同一个操作系统内核,因此启动速度快、部署密度高、资源开销小,适合承载微服务、批处理任务等对弹性伸缩和响应速度要求较高的云原生业务。由于实际业务场景复杂多样,单一采用虚拟机或单一采用容器均难以同时满足安全隔离与弹性效率的双重要求,因此大量数据中心选择在同一物理集群内同时部署虚拟机实例和容器实例,形成虚拟机与容器混合部署的计算架构。

2、在此混合部署架构下,调度器需要同时管理两种异构算力实例。虚拟机的计算资源调整通常通过热添加虚拟中央处理器核心或在线迁移来完成,响应时间在数十秒至分钟级,适合吸收持续性的负载变化趋势。容器的调节则通过增加或减少容器副本数量来实现,响应时间可控制在秒级甚至毫秒级,适合应对突发性的瞬时负载脉冲。这两类实例在资源消耗模式上也存在显著差异,虚拟机因运行完整操作系统而产生额外的中央处理器和内存开销,容器则因共享内核而具有更高的资源利用效率,但高密度部署时会对共享的末级高速缓存和内存带宽产生竞争。如何在这种异构混合架构下对算力进行统一调度,使得两类实例的资源分配既能匹配各自的响应特性,又能避免彼此之间的性能干扰,是当前云计算资源管理技术面临的重要课题。

3、现有技术中存在以下问题:

4、现有方法在虚拟机与容器混合部署的集群中,两类实例对物理资源的消耗模式不同,虚拟机因完整操作系统开销较大,容器则因共享内核而密度高且易引发缓存竞争,但现有调度方法缺乏统一的模型来描述两种异构实例对资源的竞争关系,难以从宏观层面确定虚拟机与容器的最优共存数量,导致资源分配失衡,整体利用率低下;

5、现有技术中虚拟机计算资源调整的响应时间通常在数十秒至分钟级,而容器副本伸缩可在秒级完成,现有调度器多采用固定参数的整数阶控制器,无法同时兼顾两种截然不同的响应速度,容易出现虚拟机调节滞后于负载趋势、容器调节因瞬时脉冲而过度震荡的问题,造成服务等级协议违约率偏高;

6、现有方法在共享物理资源时,虚拟机调节操作与容器调节操作可能被部署在相邻物理单元上,二者对末级高速缓存和内存带宽的争抢产生性能干扰,现有调度方法未在物理拓扑层面对两类操作进行有效隔离,加重了应用性能的不稳定性;

7、现有技术中当某种形态实例所需的资源在其对应区域内不足而另一种形态实例的区域仍有空闲时,现有调度方法缺乏灵活的跨形态资源调剂手段,只能等待资源自然释放或人工干预,导致空闲资源不能及时被利用,资源浪费与性能下降并存。

技术实现思路

1、本发明旨在至少解决现有技术中存在的技术问题之一;为此,本发明提出了一种虚拟机与容器混合架构的算力调度方法,用于解决上述的技术问题。

2、本发明的第一方面提供了一种虚拟机与容器混合架构的算力调度方法,包括以下步骤:

3、s1:在预设的调度周期起始时刻,采集由虚拟机与容器混合部署的物理服务器集群中每一台物理服务器的可用计算资源、集群内以容器形态运行的实例总数和以虚拟机形态运行的实例总数,以及集群内运行的目标应用的性能偏差,并构建集群的统一资源拓扑图;

4、s2:将所述以容器形态运行的实例总数和以虚拟机形态运行的实例总数视为竞争算力资源的两个种群,利用种群竞争模型对两个种群的数量变化进行描述,通过在线参数拟合,求解在所述可用计算资源约束下两个种群的理想共存数量;

5、s3:将所述目标应用的性能偏差输入控制器,生成资源调节信号,并将资源调节信号分解为用于调节所述虚拟机的计算资源的第一分量和用于调节所述容器的副本数量的第二分量;

6、s4:根据所述理想共存数量,在所述统一资源拓扑图上划定资源围栏,将所述第一分量对应的用于调节所述虚拟机的计算资源的操作在由资源围栏限定的第一范围内执行,将所述第二分量对应的用于调节所述容器的副本数量的操作在由资源围栏限定的第二范围内执行;

7、s5:当所述第一范围和所述第二范围中的任一范围的可用计算资源无法满足其对应的调节操作而另一范围存在可用计算资源时,通过执行态转换操作,将所述另一范围内的实例移入所述任一范围,并将其运行形态变更为所述任一范围所对应的运行形态;并相应更新所述以容器形态运行的实例总数和以虚拟机形态运行的实例总数后,进入下一个预设的调度周期。

8、优选的,所述s1,包括以下步骤:

9、在预设的调度周期起始时刻,由部署于集群的管理节点的定时调度器触发采集指令;

10、向集群中每一台物理服务器发起资源查询,获取空闲且未被预留的物理处理器核心数和内存容量作为可用计算资源;

11、分别查询容器运行时管理器和虚拟机管理器,获取活跃实例清单,将每一个实例所分配的计算资源量折算为预设的标准算力单元后累加,得到以容器形态运行的实例总数和以虚拟机形态运行的实例总数;

12、从集群的运行状态数据中提取目标应用的当前性能指标,并将当前性能指标与目标性能指标的相对偏差作为性能偏差;

13、将每一台物理服务器上共享同一末级高速缓存的一组处理器核心作为一个图节点,在任意两个图节点之间构建一条边,并以两个图节点所对应处理器核心组之间的访问延迟作为边权重,构建带权重的无向图,作为统一资源拓扑图。

14、优选的,所述s2中,所述种群竞争模型为非线性常微分方程组:

15、

16、其中,c为所述以容器形态运行的实例总数,v为所述以虚拟机形态运行的实例总数,为容器种群总数随时间的变化率,为虚拟机种群总数随时间的变化率,为容器种群的瞬时出生率,为虚拟机种群的瞬时出生率,和分别为由所述可用计算资源确定的容器种群环境容纳量和虚拟机种群环境容纳量,为单位虚拟机对容器容纳量的跨界竞争系数,为单位容器对虚拟机容纳量的跨界竞争系数,为容器种群的消亡率,为虚拟机种群的消亡率;

17、理想共存数量为令非线性常微分方程组右端等于零所求得的正平衡点解。

18、优选的,所述跨界竞争系数和通过带遗忘因子的递推最小二乘法进行在线拟合,具体为:将所述种群竞争模型在上一周期的种群数量邻域线性化,利用过去多个周期的容器实例总数观测序列和虚拟机实例总数观测序列,以最小化预测误差的方式递推更新和的取值。

19、优选的,所述s3中,所述资源调节信号u(t)的公式为:

20、

21、其中,e(t)为所述性能偏差,t为当前时刻,、、分别为比例增益、积分增益和微分增益,为阶分数阶积分算子,为阶分数阶微分算子,和均为非整数值。

22、优选的,所述s3中,所述将资源调节信号分解为用于调节所述虚拟机的计算资源的第一分量和用于调节所述容器的副本数量的第二分量,包括以下步骤:

23、对所述资源调节信号进行低通滤波,将低于截止频率的信号成分作为所述第一分量,其中截止频率依据所述虚拟机的资源调整响应时间确定;将资源调节信号减去第一分量,将高于截止频率的信号成分作为第二分量。

24、优选的,所述s4,包括以下步骤:

25、根据所述理想共存数量,结合虚拟机与容器对物理资源的利用效率系数,分别计算得到虚拟机资源配额和容器资源配额;

26、在所述统一资源拓扑图上,将满足虚拟机资源配额的图节点集合划定为第一范围,将满足容器资源配额的图节点集合划定为第二范围,且连接第一范围与第二范围的边的权重之和最小;

27、将所述第一分量对应的用于调节所述虚拟机的计算资源的操作,仅在所述第一范围内选取目标物理计算单元执行;将所述第二分量对应的用于调节所述容器的副本数量的操作,仅在所述第二范围内选取目标物理计算单元执行。

28、优选的,所述s5,包括以下步骤:

29、当所述第一范围内的空闲物理计算资源小于所述第一分量对应的资源需求量,且所述第二范围内存在空闲物理计算资源时,从所述第二范围内选取至少一个以容器形态运行的实例,将其迁移至所述第一范围,并通过轻量级虚拟化技术将其运行形态变更为虚拟机形态;

30、当所述第二范围内的空闲物理计算资源小于所述第二分量对应的资源需求量,且所述第一范围内存在空闲物理计算资源时,从所述第一范围内选取至少一个以虚拟机形态运行的实例,将其内部运行的应用进程提取并封装为容器镜像后,迁移至所述第二范围并以容器形态重新部署;

31、每完成一个实例的形态变更,将所述以容器形态运行的实例总数和以虚拟机形态运行的实例总数进行相应增减。

32、与现有技术相比,本发明的有益效果是:

33、本发明通过将虚拟机实例和容器实例分别视为容器算力种群和虚拟机算力种群,利用修正的种群竞争模型动态描述两者在有限资源下的数量变化,通过在线参数拟合求解宏观理想共存数量,为资源配额分配提供科学依据,从宏观层面均衡两类实例的资源占用,显著提升整体资源利用率;

34、本发明通过采用分数阶pid控制器生成资源调节信号,利用非整数阶积分和微分算子兼顾长期趋势补偿与瞬时脉冲预调节,并通过低通滤波将信号分解为低频第一分量和高频第二分量,分别驱动虚拟机资源调整和容器副本伸缩,使两类操作响应速度与各自执行层的动力学特性匹配,有效减少调节滞后与震荡,降低服务等级协议违约率;

35、本发明通过在统一资源拓扑图上根据理想共存数量划定资源围栏,将虚拟机调节操作限定在第一范围内执行,将容器调节操作限定在第二范围内执行,并最小化两个范围之间的边权重之和,从物理层面隔离两类操作,避免共享缓存和内存带宽的跨类争抢,提升应用性能稳定性;

36、本发明通过提供态转换操作,当第一范围或第二范围资源不足而另一范围存在可用资源时,可将实例在容器形态与虚拟机形态之间转换并移入对应范围,实现跨围栏的资源调剂,无需人工干预即可将空闲资源及时转化为所需形态,进一步减少资源浪费,保障服务质量。