掌桥专利:专业的专利平台
掌桥专利
首页

一种面向云数据中心的计算任务跨区迁移方法及系统

文献发布时间:2023-06-19 18:37:28


一种面向云数据中心的计算任务跨区迁移方法及系统

技术领域

本发明属于云计算技术领域,具体涉及一种面向云数据中心的计算任务跨区迁移方法及系统。

背景技术

近年来,云计算技术受到越来越多的关注和应用,云服务规模不断扩大,云数据中心的数量和规模也有显著增长,以支撑大量数据存储和用户计算请求,随着技术的不断发展,云数据中心的信息传输、处理等将耗费更多的电力能源,如何更节能、绿色地使用电力,是数据中心企业乃至全社会最为关注的问题之一。据统计,处于空闲状态的服务器能耗是满负载状态服务器能耗的50%—70%,也就是说,空闲的静态服务器没有为计算任务作出贡献,却消耗了很大部分的能耗,因而一些数据中心的能耗管理方案会监测服务器的利用率,以触发虚拟机、容器迁移来整合未充分利用的服务器。除了能耗优化场景,在负载均衡、服务器升级和机器停机维护场景也会用到虚拟机、容器的迁移技术。例如将超载节点上的虚拟机、容器进行迁移,防止出现节点资源匮乏而引起节点上应用性能下降的情况,达到提高集群负载均衡性和集群资源利用率的目标。

在目标约束下选择合适的虚拟机、容器进行转移并找到最合适的迁入目标节点,是计算任务迁移的关键问题。目前,一般将虚拟机、容器的迁移调度过程划分为确定迁移时机(When)、被迁移虚拟机、容器的选择(Which)和迁移目标物理主机节点的选择(Where)这三个方面。

目前主要通过设定迁移触发阈值来确定迁移时机,当主机负载超过超载阈值时触发超载迁移,主机负载低于低载阈值时触发低载迁移。迁移触发阈值分为静态阈值和动态阈值。静态阈值直接手动设定超载阈值和低载阈值,实现简单,但是在整个迁移过程中阈值不会发生变化,不够灵活;动态阈值会根据时间、资源情况、集群负载情况而动态变化,具有更好的适应性和灵活性,但是,目前大多数的研究中,阈值动态变化规则仅根据资源和负载情况制定,没有考虑集群能耗水平对阈值的影响,根据集群能耗水平制定动态阈值可以加快系统能耗优化的反应速度,提高系统能耗优化效果,因此考虑集群能耗水平对阈值的影响是有意义的。

关于被迁移虚拟机、容器的选择,主要有最大相关性选择、最低迁移成本选择、最小性能损失选择和其他方式选择,这几种方式分别对资源利用率、负载均衡、迁移时间、迁移数据量、应用性能、服务质量、能耗等一项或多项迁移指标做出了考虑,但是缺乏满足全面综合要求的方法,并且在对主机能耗的具体降低量有要求时,缺少应对措施。

目前主要有启发式算法、元启发式算法和机器学习算法来确定目标物理主机。启发式算法具有实现简单、收敛速度快等优点,但其容易陷入局部最小值,且不能达到整体放置效果最优。相对地,元启发式算法能够较好地寻找全局最优解,但是收敛速度慢,算法参数过多,计算结果的复用性差,不能快速有效地进行参数调优。机器学习算法具有自学习和自适应等特征,有较好的全局搜索能力,但是可理解性较差,对训练数据依赖度较高。确定目标物理主机的相关研究大多只考虑了在数据中心内部寻找目标主机,缺少对跨数据中心迁移的考虑,当该数据中心能耗水平较高、整体资源利用较饱和时,跨数据中心寻找目标主机是必要的。

发明内容

本发明要解决的问题是:动态阈值相较于静态阈值具有更好的适应性和灵活性,如何针对云数据中心能耗水平制定阈值动态变化规则?如何对能耗、资源利用率、负载均衡、服务质量等多项迁移指标做出全面综合考虑?在对主机能耗的具体降低量有要求时,如何配置应对措施?当云数据中心能耗水平较高、整体资源利用较饱和时,如何跨数据中心寻找目标主机进行计算任务的跨区迁移?这些问题仍有待解决。

本发明的技术方案为:一种面向云数据中心的计算任务跨区迁移方法,考虑云数据中心的数据管理需求及动态负载均衡需求,以降低系统能耗为目标,进行计算任务跨区迁移,包括以下步骤:

步骤一,迁移环境感知:动态监控云数据中心的状态,实时获取云数据中心负载、功耗以及计算任务的特征属性和运行信息;

步骤二,迁移决策:通过迁移环境感知步骤获得云数据中心的节点信息,基于能耗水平的自适应动态阈值方法确定迁移触发时机,综合考虑低能耗、负载均衡及QoS的优化目标,确定迁移决策,给出最优迁出任务集及迁入目的主机集,包括:

步骤B1,确定迁移时机:设定低载及超载的迁移触发阈值,物理主机负载达到迁移触发阈值时,进行迁移;

步骤B2,给出最优迁出任务集:当低载迁移被触发时,低载主机上的全部计算任务都进行迁出;当超载迁移被触发时,根据虚拟机与主机、容器与主机的负载相关性以及计算任务的综合负载安排迁移的计算任务,如果迁移对主机能耗的具体降低量有要求,则在能耗降低量要求下,以容器、虚拟机的迁移代价最小为目标,对超载主机上的所有计算任务求解最优迁移任务集;

步骤B3,给出最优迁入目的主机集:对于具备任务迁入条件的主机,综合考虑主机能耗、负载均衡、资源利用率、以及用户服务质量,采用启发式多目标优化方法,选择得到最优迁入主机集;

步骤三,迁移同步:采用增量同步方式实现虚拟机、容器迁移前后的数据同步,采用任务绑定虚拟IP地址的方式实现应用动态适配迁移目标主机的网络环境。

本发明设计迁移环境感知步骤是为了动态监控服务器主机、虚拟机、容器和计算任务的状态,实时获取数据中心负载、功耗以及计算任务的特征属性、运行信息。首先分别获取CPU、内存、IO和网络的负载信息,利用负载信息计算节点资源利用率,然后采用决策树、随机森林、支持向量机SVM、关联规则、深度神经网络等智能学习方法结合多元多项式回归方法进行物理主机、虚拟机、容器等多层次、多维度的能耗量化分析,建立虚拟机、容器和物理节点功耗度量的精细化模型,通过模型和负载数据得到虚拟机、容器和物理节点的功耗,并计算得到云数据中心的能耗。

迁移决策步骤采用基于能耗水平的自适应动态阈值方法确定迁移触发时机,综合考虑低能耗、负载均衡等优化目标,给出最优迁出任务集及迁入目的主机集。定义主机的低载阈值和超载阈值,并进一步根据不同能耗水平动态地、自动地调整迁移触发阈值,通过迁移环境感知步骤监测主机负载,根据一段时间内主机的负载数据,结合低载阈值和超载阈值触发低载迁移或超载迁移。当低载迁移被触发时,低载主机上的全部计算任务都进行迁出;当超载迁移被触发时,可选择与物理节点具有更高负载相关性的计算任务进行迁出,当要求主机能耗的具体降低量时,可使用动态规划方法给出满足能耗降低要求下最小容器、虚拟机迁移代价的集合,迁移代价为迁移数据量的正相关函数。迁入目的主机集的选择综合考虑主机能耗、负载均衡、资源利用率、用户服务质量等,采用启发式多目标优化方法给出。

迁移同步中,增量同步迁移的主要目的是尽可能减少停机时间,迁移开始后,源主机的虚拟机、容器并没有立即终止,而是继续运行,源节点的内存数据在传输迭代中被发送到目标节点,在第一次迭代中,所有的内存页数据都被发送,在随后的迭代中,只发送修改后的内存页数据,直到内存页面修改率降低到阈值以下或达到迭代次数上限时,就结束迭代过程,关闭源节点虚拟机、容器并传送最后一轮脏页面数据,然后恢复启动目的端节点的虚拟机、容器,至此完成整个增量同步过程。在有状态的迁移行为中,需要在迁移过程中保持内存中的运行数据以及相关配置环境,要保证计算任务迁移之后的服务质量不会降低,而其中最为重要的一点就是网络环境,本发明采用任务绑定虚拟IP地址的方式,通过网络地址转换,保证任务能够动态适配迁移目标主机的资源环境和网络环境,从而屏蔽不同数据中心网络资源的异构性及差异性,使得迁移后的虚拟机、容器可以无缝适应新主机环境中的网络。

基于上述方法,本发明还提供一种云数据中心系统,包括多个数据中心,云数据中心系统配置有计算机程序,所述计算机程序被执行时实现上述的计算任务跨区迁移方法。

本发明具有如下有益效果:

本发明研究设计了云数据中心计算任务的跨区迁移策略。提出了基于能耗水平的自适应动态阈值方法,可以根据不同能耗水平动态地、自动地调整迁移触发阈值;全面综合考虑能耗、资源利用率、负载均衡、服务质量等因素,选择被迁出的任务集,并且在对主机能耗的具体降低量有要求时,使用动态规划方法给出满足能耗降低要求的最小迁出作业集合;选择计算能力、内存空间、网络性能均满足要求的主机作为迁入候选主机集,然后综合考虑主机能耗、负载均衡、资源利用率、以及用户服务质量,采用启发式多目标优化方法,选择最优迁入主机集,并且当云数据中心能耗水平较高、整体资源利用较饱和时,跨数据中心寻找目标主机进行计算任务的跨区迁移;实现迁移前后的数据同步以及状态一致,保证任务能够动态适配迁移目标主机的资源环境。本发明的研究成果将直接应用于云数据中心,有助于填补国内该类技术空白,推动云数据中心能耗管理技术的发展;在云数据中心能耗优化和作业迁移方面,形成可靠的作业动态跨区迁移技术。

附图说明

图1是本发明一种面向云数据中心的计算任务跨区迁移方法实施方案总体架构图。

图2是本发明一种面向云数据中心的计算任务跨区迁移方法流程图。

图3是本发明的云数据中心计算任务跨区转移策略方案架构图。

图4是本发明的基于迁移同步技术的动态迁移方案架构图。

具体实施方式

本发明目的是提供一种面向云数据中心的计算任务跨区迁移技术,可降低云数据中心系统能耗,同时满足系统负载均衡和应用性能的要求,计算任务跨区迁移过程包括迁移环境感知、迁移决策、迁移同步三个步骤,下面说明本发明的具体实施。

本发明一种面向云数据中心的计算任务跨区迁移技术,以降低系统能耗为目标,其实施方案总体架构如图1所示,基于降低云数据中心能耗成本,资源统一优化管理、动态负载均衡等需求,研究云数据中心计算任务跨区迁移核心技术。本发明的具体流程如图2所示,首先进行迁移环境感知步骤,动态监控云数据中心的状态,实时获取云数据中心负载、功耗以及计算任务的特征属性、运行信息,之后通过迁移决策步骤,确定迁移触发时机并给出最优迁出任务集及迁入目的主机集,然后实现虚拟机、容器迁移前后的数据同步并动态适配目标主机的网络环境,最后启动计算任务在新主机上运行。本发明采用的具体技术实现方案如下。

步骤一、迁移环境感知:设计迁移环境感知步骤是为了动态监控服务器主机、虚拟机、容器和计算任务的状态,实时获取数据中心负载、功耗以及计算任务的特征属性、运行信息。

作为优选的实施方案,步骤一中,A1:每隔一定时间获取物理节点负载并计算节点资源利用率U={U

A1中,通过top命令可以获得CPU负载信息,CPU利用率的计算方式如下:

其中,

通过free命令可以获得内存负载信息,内存利用率的计算公式如下:

其中,M

通过iostat命令获得磁盘每秒钟I/O次数U

其中,M

通过ifconfig命令可以获得网络负载信息,网络带宽利用率的计算公式如下:

其中F

A2中,针对云数据中心任务请求和资源使用多元性、按需性、动态性和共享性的特点,采用决策树、随机森林、支持向量机SVM、关联规则、或深度神经网络等智能学习方法结合多元多项式回归方法进行物理主机、虚拟机、容器等多层次、多维度的能耗量化分析。

物理主机:物理主机即物理节点,通常情况下,物理主机的功耗与其CPU利用率、内存利用率、带宽利用率等呈正相关关系,以物理主机为建模单位,量化不同硬件规格配置情况下,如CPU数、内核数量、内存数量、有无GPU等,对不同负载状态(高/中/低)所产生的功耗模型。

虚拟机:以虚拟主机为建模单位,建立不同配置的虚拟机在各种负载状态(高/中/低)下的能耗量化模型。

容器:以容器为建模单位,建立不同配置的容器在不同工作负载状态(高/中/低)下的能耗量化模型。

本发明量化分析的多维度能耗,物理主机的能耗=主机的静态能耗+主机上运行的虚拟机、容器产生的动态能耗,云数据中心能耗用主机能耗之和表示即可;虚拟机、容器的能耗模型用于在后续的迁移决策中,对迁出对象(虚拟机、容器)进行能耗度量。建立主机、虚拟机及容器的功耗/能耗模型后,采用前述决策树、随机森林等现有数据学习分析方法来量化分析能耗。

云数据中心的能耗等于中心内所有物理节点的能耗之和,所以中心在t1到t2时间间隔内的能耗计算公式如下:

其中,H为云数据中心所有物理节点的集合,P

步骤二、迁移决策:迁移决策具体方案如图3所示,通过迁移环境感知步骤获得节点信息,基于能耗水平的自适应动态阈值方法确定迁移触发时机,综合考虑能耗、负载均衡、QoS等优化目标,给出最优迁出任务集及迁入目的主机集,具体如下:

步骤B1、确定迁移时机:配置两个迁移触发阈值,定义云数据中心中物理主机的低载阈值Thr

作为优选的实施方案,步骤B1中,本发明使用三色能耗表示方法描述云数据中心的能耗水平,设中心最大可容忍能耗为E

由此实现Thr

步骤B2、给出最优迁出任务集:当低载迁移被触发时,低载主机上的全部计算任务都进行迁出,不涉及最优选择;当超载迁移被触发时,本发明给出两种最优迁出任务选择方法,管理员可根据不同需求自主选择。

方法一,选择负载相关性高且综合负载值小的计算任务进行迁出,可以相对快速地使主机恢复正常负载状态,且迁移代价相对较低。

首先计算负载相关性,考虑负载相关性的原因在于,当虚拟机、容器负载与主机负载相关性越高,说明该虚拟机或该容器造成主机超载的可能性就越大。相关性的度量主要有皮尔逊相关系数法、欧氏距离法、夹角余弦相似度法等,本发明采用皮尔逊相关系数法。计算任务封装在虚拟机或容器中,即计算虚拟机与主机、容器与主机的负载相关性,记虚拟机的历史负载记录为{a

其中,r

然后计算候选迁出集合中元素的综合负载值,计算公式如下:

Load

其中,Load

方法二,当要求主机能耗的具体降低量时,给出满足能耗降低具体要求的最小迁出作业的集合。本发明使用动态规划方法给出最小迁出作业的集合,假设要求能耗的具体降低量为E

即满足能耗降低要求的情况下,使得容器、虚拟机的迁移代价最小。

其中f(E

步骤B3、给出最优迁入目的主机集:对于迁出的虚拟机、容器,需要寻找目的主机进行放置,在此过程中,需要考虑到云数据中心的服务质量,不能因为迁移和放置而明显降低。在确定目标物理主机这一方面,本质上与虚拟机、容器的初始化放置问题类似,均是多目标组合优化的问题。

作为优选的实施方案,步骤B3中,首先选择计算能力、内存空间、网络性能均满足要求的主机作为迁入候选主机集,然后综合考虑主机能耗、负载均衡、资源利用率、用户服务质量等,采用启发式多目标优化方法,选择最优迁入主机集。另外,本发明根据云数据中心的能耗水平,选择不同的迁入目的地。当云数据中心能耗水平处于blue、green状态时,进行数据中心内部迁移,即迁出主机与迁入主机在同一个数据中心;当处于red状态时,进行跨区域迁移,即迁出主机与迁入主机在不同数据中心,首先选择一个处于blue、green状态的数据中心,然后在该数据中心中运用上述目标主机选择方式选择最优迁入目的主机。

步骤三、迁移同步:迁移同步的目标是实现虚拟机、容器迁移前后的数据同步以及状态一致,屏蔽云计算中心硬件资源之间的差异,保证任务能够动态适配迁移目标主机的资源环境。

作为优选的实施方案,如图4所示,步骤三中,虚拟机和容器的迁移都用到了增量同步的方法,迁移开始后,源主机的虚拟机、容器并没有立即终止,而是继续运行,源节点的内存数据在传输迭代中被发送到目标节点,在第一次迭代中,所有的内存页数据都被发送,在随后的迭代中,只发送修改后的内存页数据,直到内存页面修改率降低到阈值以下或达到迭代次数上限时,就结束迭代过程,关闭源节点虚拟机、容器并传送最后一轮脏页面数据,然后恢复启动目的端节点的虚拟机或容器,至此完成整个增量同步过程。增量同步方法通过反复的迭代过程将需要传输的数据量从全部内存页面减少到最后一轮迭代的脏页面,传输时间大大缩短,从而减少了停机时间。

同时,本发明充分利用容器的分层特点,将只读的公共镜像优先迁移到目的节点,随后只需要同步容器最上层的读写层即可,这样可以大大的降低数据量,从而减少数据同步时间。其中,容器技术并没有类似于虚拟机技术的Hypervisor层,可以说容器本质上其实就是一种带有特定参数的进程,进行迁移时主要借助进程实时迁移工具CRIU实现,CRIU是Checkpoint/Restore In User Space的缩写,是一种可以在用户空间实现检查点/恢复机制的工具,使用CRIU可以将运行中的应用程序进行冻结操作,然后使用检查点机制将其状态信息转储为镜像文件集合存储在硬盘上,最后可以通过恢复机制使用这些镜像文件集合从冻结点恢复并重新运行应用程序。

有状态迁移将虚拟机、容器的状态,即内存页面、CPU状态、寄存器、磁盘内容,传输到目标服务器,以便目标处的虚拟机、容器与迁移前状态相同。有状态的迁移行为需要在迁移过程中保持内存中的运行数据以及相关配置环境,要保证计算任务迁移之后的服务质量不会降低,而其中最为重要的一点就是网络环境。虚拟机、容器通常与其他端点进行持续通信,例如外部客户端和最终用户的应用程序,通常,希望在迁移后保留此类通信,即外部客户端应用程序在迁移后继续以无缝方式访问虚拟机或容器,此问题称为连接保持。此外,端点可以使用面向连接的协议(例如TCP)进行通信,连接表示端点之间共享的状态。除了保留端点之间的连接外,连接迁移还需要保留活动连接状态,因此,端点在迁移后不需要建立新的连接。本发明采用任务绑定虚拟IP地址的方式,通过网络地址转换,保证任务能够动态适配迁移目标主机的资源环境和网络环境,从而屏蔽不同数据中心网络资源的异构性及差异性,使得迁移后的虚拟机/容器可以无缝适应新主机环境中的网络。

上述方法基于计算机程序和云数据系统实现,本发明对此还提供一种云数据中心系统,包括多个数据中心,云数据中心系统配置有计算机程序,所述计算机程序被执行时实现上述的计算任务跨区迁移方法。

综上所述,本发明将计算和数据处理服务封装在虚拟机、容器中进行跨区域迁移,动态再分配计算资源,充分利用数据中心规模巨大的硬件资源,通过迁移环境感知、迁移决策、迁移同步等步骤,降低云数据中心系统能耗,同时满足系统负载均衡和应用性能的要求。

本发明是一种适应当今云计算技术发展现状的技术发明,本发明的研究成果将直接应用于云数据中心,有助于填补国内该类技术空白,推动云数据中心的能耗管理技术的发展,在云数据中心能耗优化和作业迁移方面,形成可靠的计算任务动态跨区迁移技术。本发明可能产生的经济效益将取决于推广的范围和应用程度,如果能够很好地利用,将对云计算技术的推广以及利用都将有非常重要的作用,对国民经济的发展起到很好的推动效果,将产生较好的经济效益。

本发明所属技术领域的技术人员可以对所描述的具体实施案例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权要求书所定义的范围。

技术分类

06120115635698