首页 / 专利库 / 软件 / 虚拟机迁移 / 节能调度方法及装置、计算机可存储介质

节能调度方法及装置、计算机可存储介质

阅读:9发布:2020-05-12

专利汇可以提供节能调度方法及装置、计算机可存储介质专利检索,专利查询,专利分析的服务。并且本公开涉及节能调度方法及装置、计算机可存储介质,涉及 云 计算机领域。节能调度方法包括:对于每个已创建 虚拟机 ,获取每个历史时间段的多类资源的历史资源用量;根据用户的业务需求和所述多类资源的历史资源用量,在待调度时间段,对每个待创建虚拟机和各个已创建虚拟机进行调度。根据本公开,进一步降低了能耗。,下面是节能调度方法及装置、计算机可存储介质专利的具体信息内容。

1.一种节能调度方法,包括:
对于每个已创建虚拟机,获取每个历史时间段的多类资源的历史资源用量;
根据用户的业务需求和所述多类资源的历史资源用量,在待调度时间段,对每个待创建虚拟机和各个已创建虚拟机进行调度。
2.根据权利要求1所述的节能调度方法,其中,所述业务需求包括第一业务需求,在所述待调度时间段,对每个待创建虚拟机进行调度包括:
根据所述第一业务需求,确定可部署所述每个待创建虚拟机的至少一个活跃物理机;
对于每个活跃物理机的每一类资源,获取已提供资源量;
根据所述每个活跃物理机的各类资源的已提供资源量,确定所述每个活跃物理机的峰值资源和谷值资源;
根据与所述每个待创建虚拟机具有相同规格的已创建虚拟机的历史资源用量,确定所述每个待创建虚拟机的峰值资源和谷值资源;
将所述每个待创建虚拟机,部署到与所述每个待创建虚拟机峰谷互补的资源的种类最多的活跃物理机,所述峰值互补包括对于同一类资源,待创建虚拟机为峰值资源且活跃物理机为谷值资源。
3.根据权利要求2所述的节能调度方法,其中,根据所述每个活跃物理机的各类资源的已提供资源量,确定所述每个活跃物理机的峰值资源和谷值资源包括:
对每一类资源的已提供资源量,进行第一归一化处理;
计算各类资源的已提供资源量的平均值,得到第一平均值;
将已提供资源量大于所述第一平均值的资源,确定为所述每个活跃物理机的峰值资源;
将已提供资源量小于或等于所述第一平均值的资源,确定为所述每个活跃物理机的谷值资源。
4.根据权利要求3所述的节能调度方法,其中,所述第一归一化处理包括:
对于每一类资源,计算每个活跃物理机的可提供资源总量、与各个活跃物理机中的最大可提供资源总量的比值;
在所述每个活跃物理机的可提供资源用量的基础上,乘以所述比值。
5.根据权利要求2所述的节能调度方法,其中,在对每个待创建虚拟机和各个已创建虚拟机进行调度之前,还包括:
对于每个已创建虚拟机,对每个历史时间段的每一类资源的历史资源用量进行第二归一化处理。
6.根据权利要求5所述的节能调度方法,其中,根据与所述每个待创建虚拟机具有相同规格的已创建虚拟机的历史资源用量,确定所述每个待创建虚拟机的峰值资源和谷值资源包括:
确定与所述待调度时间段对应的历史时间段为参考时间段,所述参考时间段为多个;
对于与所述每个待创建虚拟机具有相同规格的每个已创建虚拟机的每一类资源,将多个参考时间段的历史资源用量的平均值,确定为所述每个待创建虚拟机的预估资源用量;
计算各类资源的预估资源用量的平均值,得到第二平均值;
将预估资源用量大于所述第二平均值的资源,确定为所述每个待创建虚拟机的峰值资源;
将预估资源用量小于或等于所述第二平均值的资源,确定为所述每个待创建虚拟机的谷值资源。
7.根据权利要求5所述的节能调度方法,其中,所述第二归一化处理包括:
对于每一类资源,在各个活跃物理机的可提供资源总量相同的情况下,以任一活跃物理机的可提供资源总量为基准,对历史资源用量进行归一化处理。
8.根据权利要求7所述的节能调度方法,其中,所述第二归一化处理还包括:
对于每一类资源,在各个活跃物理机的可提供资源总量不同的情况下,以对每个活跃物理机的可提供资源总量进行归一化处理后的结果为基准,对历史资源用量进行归一化处理。
9.根据权利要求1所述的节能调度方法,其中,所述业务需求还包括第二业务需求,在所述待调度时间段,对各个已创建虚拟机进行调度包括:
对于每个活跃物理机,根据用户的第二业务需求,确定可部署在所述每个活跃物理机上的至少一个已创建虚拟机集合;
根据所述每个已创建虚拟机的各类资源的历史资源用量,确定所述每个已创建虚拟机的峰值资源和谷值资源;
对于每个已创建虚拟机集合,在存在两个已创建虚拟机的至少一类资源峰谷互补的情况下,将所述每个已创建虚拟机集合的已创建虚拟机,都迁移到与所述每个已创建虚拟机集合对应的活跃物理机上,所述峰谷互补包括对于同一类资源,一个已创建虚拟机为峰值资源且另一个已创建虚拟机为谷值资源。
10.根据权利要求1所述的节能调度方法,其中,对各个已创建虚拟机进行调度还包括:
对于每个活跃物理机,确定已部署在所述每个活跃物理机上的各个已创建虚拟机的历史资源用量的总和;
在所述总和大于所述每个活跃物理机的可提供资源总量的情况下,将已部署在所述每个活跃物理机上的至少一个已创建虚拟机,迁移到除所述每个活跃物理机以外的其他活跃物理机上,直至已部署在所述每个活跃物理机上的各个已创建虚拟机的历史资源用量的总和、小于或等于所述可提供资源总量。
11.根据权利要求10所述的节能调度方法,其中,对各个已创建虚拟机进行节能调度还包括:
在所述总和小于所述每个活跃物理机的可提供资源总量的预设比例的情况下,将已部署在所述每个活跃物理机上的各个已创建虚拟机,迁移到除所述每个活跃物理机以外的其他活跃物理机上;
控制所述每个活跃物理机切换至休眠模式。
12.根据权利要求11所述的节能调度方法,其中,所述其他活跃物理机包括可提供资源余量最大的其他活跃物理机。
13.根据权利要求1所述的节能调度方法,其中,对各个已创建虚拟机进行调度还包括:
在所有活跃物理机的可提供资源总量之和、小于所有已创建虚拟机的历史资源用量之和的情况下,唤醒部分处于休眠状态的物理机,直至所有活跃物理机的可提供资源总量之和、大于或等于所有已创建虚拟机的历史资源用量之和。
14.根据权利要求1所述的节能调度方法,还包括:
在所述待调度时间段,对于每个活跃物理机:
在存在一类资源的已提供资源量大于第四阈值的情况下,将所述每个活跃物理机设置为高性能模式;
在每一类资源的已提供资源量都小于或等于第四阈值的情况下,将所述每个活跃物理机设置为节能模式。
15.一种节能调度装置,包括:
获取模,被配置为对于每个已创建虚拟机,获取每个历史时间段的多类资源的历史资源用量;
调度模块,被配置为根据用户的业务需求和所述多类资源的历史资源用量,在待调度时间段,对每个待创建虚拟机和各个已创建虚拟机进行调度。
16.一种节能调度装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至14任一项所述的节能调度方法。
17.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至14任一项所述的节能调度方法。

说明书全文

节能调度方法及装置、计算机可存储介质

技术领域

[0001] 本公开涉及计算领域,特别涉及节能调度方法及装置、计算机可存储介质。

背景技术

[0002] 随着云计算技术的发展,很多政府、组织和企业等客户选择将原有的信息系统迁入云计算平台,其中基于私有云的云计算平台是众多客户的选择,主要目标是实现信息系统的云化,并降低成本、增加效能。
[0003] 基于私有云的云计算平台,传统的节能技术通过使用能耗更低的器件和服务器或选择通透的建筑和常年恒温的地区构建IDC(Internet Data Center,互联网数据中心),以实现节能的目的。但是,选用低能耗的器件会使系统损失性能,整体系统的负载能下降。在特定地区构建IDC的约束非常大,建设和设计成本都非常高,这样的成本不是当前私有云客户能够承受的。
[0004] 相关的节能技术,通过资源调度,使物理机上的工作负载更加均衡,以实现节能的目的。发明内容
[0005] 发明人认为:相关的节能技术,即使整体数据中心集群的各物理机的工作负载比较均衡,但为保障基本的系统运行,物理服务器、空调系统还是会形成巨大的能耗,节能效果有限。
[0006] 针对上述技术问题,本公开提出了一种解决方案,进一步降低了能耗。
[0007] 根据本公开的第一方面,提供了一种节能调度方法,包括:对于每个已创建虚拟机,获取每个历史时间段的多类资源的历史资源用量;根据用户的业务需求和所述多类资源的历史资源用量,在待调度时间段,对每个待创建虚拟机和各个已创建虚拟机进行调度。
[0008] 在一些实施例中,所述业务需求包括第一业务需求,在所述待调度时间段,对每个待创建虚拟机进行调度包括:根据所述第一业务需求,确定可部署所述每个待创建虚拟机的至少一个活跃物理机;对于每个活跃物理机的每一类资源,获取已提供资源量;根据所述每个活跃物理机的各类资源的已提供资源量,确定所述每个活跃物理机的峰值资源和谷值资源;根据与所述每个待创建虚拟机具有相同规格的已创建虚拟机的历史资源用量,确定所述每个待创建虚拟机的峰值资源和谷值资源;将所述每个待创建虚拟机,部署到与所述每个待创建虚拟机峰谷互补的资源的种类最多的活跃物理机,所述峰值互补包括对于同一类资源,待创建虚拟机为峰值资源且活跃物理机为谷值资源。
[0009] 在一些实施例中,根据所述每个活跃物理机的各类资源的已提供资源量,确定所述每个活跃物理机的峰值资源和谷值资源包括:对每一类资源的已提供资源量,进行第一归一化处理;计算各类资源的已提供资源量的平均值,得到第一平均值;将已提供资源量大于所述第一平均值的资源,确定为所述每个活跃物理机的峰值资源;将已提供资源量小于或等于所述第一平均值的资源,确定为所述每个活跃物理机的谷值资源。
[0010] 在一些实施例中,所述第一归一化处理包括:对于每一类资源,计算每个活跃物理机的可提供资源总量、与各个活跃物理机中的最大可提供资源总量的比值;在所述每个活跃物理机的可提供资源用量的基础上,乘以所述比值。
[0011] 在一些实施例中,在对每个待创建虚拟机和各个已创建虚拟机进行调度之前,还包括:对于每个已创建虚拟机,对每个历史时间段的每一类资源的历史资源用量进行第二归一化处理。
[0012] 在一些实施例中,根据与所述每个待创建虚拟机具有相同规格的已创建虚拟机的历史资源用量,确定所述每个待创建虚拟机的峰值资源和谷值资源包括:确定与所述待调度时间段对应的历史时间段为参考时间段,所述参考时间段为多个;对于与所述每个待创建虚拟机具有相同规格的每个已创建虚拟机的每一类资源,将多个参考时间段的历史资源用量的平均值,确定为所述每个待创建虚拟机的预估资源用量;计算各类资源的预估资源用量的平均值,得到第二平均值;将预估资源用量大于所述第二平均值的资源,确定为所述每个待创建虚拟机的峰值资源;将预估资源用量小于或等于所述第二平均值的资源,确定为所述每个待创建虚拟机的谷值资源。
[0013] 在一些实施例中,所述第二归一化处理包括:对于每一类资源,在各个活跃物理机的可提供资源总量相同的情况下,以任一活跃物理机的可提供资源总量为基准,对历史资源用量进行归一化处理。
[0014] 在一些实施例中,所述第二归一化处理还包括:对于每一类资源,在各个活跃物理机的可提供资源总量不同的情况下,以对每个活跃物理机的可提供资源总量进行归一化处理后的结果为基准,对历史资源用量进行归一化处理。
[0015] 在一些实施例中,所述业务需求还包括第二业务需求,在所述待调度时间段,对各个已创建虚拟机进行调度包括:对于每个活跃物理机,根据用户的第二业务需求,确定可部署在所述每个活跃物理机上的至少一个已创建虚拟机集合;根据所述每个已创建虚拟机的各类资源的历史资源用量,确定所述每个已创建虚拟机的峰值资源和谷值资源;对于每个已创建虚拟机集合,在存在两个已创建虚拟机的至少一类资源峰谷互补的情况下,将所述每个已创建虚拟机集合的已创建虚拟机,都迁移到与所述每个已创建虚拟机集合对应的活跃物理机上,所述峰谷互补包括对于同一类资源,一个已创建虚拟机为峰值资源且另一个已创建虚拟机为谷值资源。
[0016] 在一些实施例中,对各个已创建虚拟机进行调度还包括:对于每个活跃物理机,确定已部署在所述每个活跃物理机上的各个已创建虚拟机的历史资源用量的总和;在所述总和大于所述每个活跃物理机的可提供资源总量的情况下,将已部署在所述每个活跃物理机上的至少一个已创建虚拟机,迁移到除所述每个活跃物理机以外的其他活跃物理机上,直至已部署在所述每个活跃物理机上的各个已创建虚拟机的历史资源用量的总和、小于或等于所述可提供资源总量。
[0017] 在一些实施例中,对各个已创建虚拟机进行节能调度还包括:在所述总和小于所述每个活跃物理机的可提供资源总量的预设比例的情况下,将已部署在所述每个活跃物理机上的各个已创建虚拟机,迁移到除所述每个活跃物理机以外的其他活跃物理机上;控制所述每个活跃物理机切换至休眠模式。
[0018] 在一些实施例中,所述其他活跃物理机包括可提供资源余量最大的其他活跃物理机。
[0019] 在一些实施例中,对各个已创建虚拟机进行调度还包括:在所有活跃物理机的可提供资源总量之和、小于所有已创建虚拟机的历史资源用量之和的情况下,唤醒部分处于休眠状态的物理机,直至所有活跃物理机的可提供资源总量之和、大于或等于所有已创建虚拟机的历史资源用量之和。
[0020] 在一些实施例中,还包括:在所述待调度时间段,对于每个活跃物理机:在存在一类资源的已提供资源量大于第四阈值的情况下,将所述每个活跃物理机设置为高性能模式;在每一类资源的已提供资源量都小于或等于第四阈值的情况下,将所述每个活跃物理机设置为节能模式。
[0021] 根据本公开第二方面,提供了一种节能调度装置,包括:获取模,被配置为对于每个已创建虚拟机,获取每个历史时间段的多类资源的历史资源用量;调度模块,被配置为根据用户的业务需求和所述多类资源的历史资源用量,在待调度时间段,对每个待创建虚拟机和各个已创建虚拟机进行调度。
[0022] 根据本公开第三方面,提供了一种节能调度装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的节能调度方法。
[0023] 根据本公开的第四方面,一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的节能调度方法。
[0024] 在上述实施例中,进一步降低了能耗。附图说明
[0025] 构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
[0026] 参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0027] 图1示出根据本公开一些实施例的节能调度方法的流程图
[0028] 图2示出根据本公开一些实施例的对每个待创建虚拟机进行调度的流程图;
[0029] 图3示出根据本公开一些实施例的对各个已创建虚拟机进行调度的流程图;
[0030] 图4A示出根据本公开一些实施例的一活跃物理机的资源量分配情况的示意图;
[0031] 图4B示出根据本公开一些实施例的一待创建虚拟机的预估资源用量的示意图;
[0032] 图4C示出根据本公开一些实施例的将如图4B所示的待创建虚拟机部署到如图4A所示的活跃物理机后、活跃物理机的资源分配情况的示意图;
[0033] 图5示出根据本公开一些实施例的物理机状态控制的示意图;
[0034] 图6示出根据本公开一些实施例的节能调度方法进行节能调度后的物理服务器集群的状态示意图;
[0035] 图7示出根据本公开一些实施例的节能调度装置的框图
[0036] 图8示出根据本公开一些实施例的节能调度装置的框图;
[0037] 图9示出用于实现本公开一些实施例的计算机系统的框图。

具体实施方式

[0038] 现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0039] 同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0040] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
[0041] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0042] 在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0043] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0044] 图1示出根据本公开一些实施例的节能调度方法的流程图。
[0045] 如图1所示,节能调度方法包括步骤S110-步骤S120。
[0046] 在步骤S110中,对于每个已创建虚拟机,获取每个历史时间段的多类资源的历史资源用量。
[0047] 在一些实施例中,历史时间段为某一天内的各小时对应的时间段。例如,获取多天的每个相同历史时间段的多类资源的历史资源用量。在另一些实施例中,历史时间段为某一周、某个月或者某一年内的各天对应的时间段。
[0048] 在一些实施例中,多类资源包括CPU工作指令周期数、内存用量、网络IO次数、网络IO流量、存储IO次数、存储IO总量。例如,多类资源的资源用量使用6元组表示。
[0049] CPU工作指令周期数用来准确度量虚拟机对CPU的实际使用情况。内存用量是内存在时间段t内,每秒内存用量的累加值。网络IO和存储IO分成次数和总量,用来区分频繁IO的情况和大数据量IO的情况。
[0050] 在步骤S120中,根据用户的业务需求和多类资源的历史资源用量,在待调度时间段,对每个待创建虚拟机和各个已创建虚拟机进行调度。
[0051] 本公开通过根据业务需求和多类资源的历史资源,在未来的待调度时间段,对待创建虚拟机和已创建虚拟机进行迁移调度,实现了资源的合理分配,从而实现进一步降低集群能耗的目的。
[0052] 下面将结合图2详细描述步骤S120中对每个待创建虚拟机进行调度的步骤。
[0053] 图2示出根据本公开一些实施例的对每个待创建虚拟机进行调度的流程图。
[0054] 如图2所示,在待调度时间段,对每个待创建虚拟机进行调度包括步骤S121-步骤S125。业务需求包括第一业务需求。
[0055] 在步骤S121中,根据第一业务需求,确定可部署每个待创建虚拟机的至少一个活跃物理机。例如,第一业务需求为每个待创建虚拟机的技术特性。在一些实施例中,技术特性包括高可用或安全性。
[0056] 例如,已创建虚拟机包括虚拟机1、2、3、4,部署虚拟机1、2、3、4的活跃物理机分别为物理机A、B、A、C。待创建虚拟机包括虚拟机5。在一些实施例中,高可用表示虚拟机5不能与虚拟机2部署在同一个物理机上。安全性表示虚拟机5必须与虚拟机3部署在同一个物理机上。对于虚拟机5,在第一业务需求为高可用的情况下,可部署虚拟机5的活跃物理机包括物理机A和物理机C。
[0057] 在步骤S122中,对于每个活跃物理机的每一类资源,获取已提供资源量。
[0058] 在步骤S123中,根据每个活跃物理机的各类资源的已提供资源量,确定每个活跃物理机的峰值资源和谷值资源。
[0059] 例如通过如下步骤实现根据每个活跃物理机的各类资源的已提供资源量,确定每个活跃物理机的峰值资源和谷值资源。
[0060] 首先,对每一类资源的已提供资源量,进行第一归一化处理。
[0061] 在一些实施例中,通过如下方式实现第一归一化处理。
[0062] 首先,对于每一类资源,计算每个活跃物理机的可提供资源总量、与各个活跃物理机中的最大可提供资源总量的比值。例如,可提供资源总量通过获取得到。
[0063] 可提供资源总量为物理机对每一类资源的可提供资源的最大值。
[0064] CPU工作指令周期数的最大值是物理机所有t时间段内的全部周期数。内存用量的最大值是物理机全部内存总量减去管理程序和系统程序的内存用量。网络IO次数的最大值是历史上系统内t时间内进行的最多次的网络IO次数,当有新的最大值时进行更新。网络IO流量的最大值是根据网络带宽计算出的t时间内能达到的最大网络传输数据量。存储IO次数的最大值是历史上系统内t时间内进行的最多次的存储IO次数,当有新的最大值时进行更新。存储IO总量最大值是根据存储带宽计算出的t时间内能达到的最大传输数据量。
[0065] 然后,在每个活跃物理机的可提供资源用量的基础上,乘以比值。
[0066] 其次,计算各类资源的已提供资源量的平均值,得到第一平均值。应当理解,此处的已提供资源量为进行第一归一化处理后的已提供资源量。例如,针对CPU工作指令周期数、内存用量、网络IO次数、网络IO流量、存储IO次数、存储IO总量这6类资源,活跃物理机的已提供资源量分别为0.7、0.4、0.3、0.5、0.6、0.5。第一平均值为(0.7+0.4+0.3+0.5+0.6+0.5)÷6=0.5。
[0067] 然后,将已提供资源量大于第一平均值的资源,确定为每个活跃物理机的峰值资源。
[0068] 最后,将已提供资源量小于或等于第一平均值的资源,确定为每个活跃物理机的谷值资源。
[0069] 在步骤S124中,根据与每个待创建虚拟机具有相同规格的已创建虚拟机的历史资源用量,确定每个待创建虚拟机的峰值资源和谷值资源。
[0070] 在一些实施例中,在如图1所示的步骤S120对每个待创建虚拟机和各个已创建虚拟机进行调度之前还包括如下步骤。
[0071] 对于每个已创建虚拟机,对每个历史时间段的每一类资源的历史资源用量进行第二归一化处理。
[0072] 例如,通过如下方式实现第二归一化处理。
[0073] 在一些实施例中,对于每一类资源,在各个活跃物理机的可提供资源总量相同的情况下,以任一活跃物理机的可提供资源总量为基准,对历史资源用量进行归一化处理。
[0074] 在另一些实施例中,对于每一类资源,在各个活跃物理机的可提供资源总量不同的情况下,以对每个活跃物理机的可提供资源总量进行归一化处理后的结果为基准,对历史资源用量进行归一化处理。例如,通过如下公式对每个活跃物理机的可提供资源总量进行归一化处理。对于每一类资源,活跃物理机A的可提供资源总量=活跃物理机A的可提供资源总量×(活跃物理机的可提供资源总量÷各个活跃物理机中的最大可提供资源总量)。
[0075] 例如,通过如下方式实现步骤S124根据与每个待创建虚拟机具有相同规格的已创建虚拟机的历史资源用量,确定每个待创建虚拟机的峰值资源和谷值资源。
[0076] 首先,确定与待调度时间段对应的历史时间段为参考时间段。参考时间段为多个。例如,待调度时间段为一天内的10点到11点。那么,与待调度时间段对应的历史时间段为历史的多天内的10点到11点。参考时间段就是这历史的多天内的10点到11点,历史的多天中每一天具有一个参考时间段。
[0077] 其次,对于与每个待创建虚拟机具有相同规格的每个已创建虚拟机的每一类资源,将多个参考时间段的历史资源用量的平均值,确定为每个待创建虚拟机的预估资源用量。通过这种方式,能够提高预估的准确率。
[0078] 再次,计算各类资源的预估资源用量的平均值,得到第二平均值。在一些实施例中,在计算第二平均值之前对预估资源用量进行异常值处理。这种方式提高了第二平均值的可靠性,提高了确定峰值资源和谷值资源的准确性。
[0079] 然后,将预估资源用量大于第二平均值的资源,确定为每个待创建虚拟机的峰值资源。
[0080] 最后,将预估资源用量小于或等于第二平均值的资源,确定为每个待创建虚拟机的谷值资源。
[0081] 在步骤S125中,将每个待创建虚拟机,部署到与每个待创建虚拟机峰谷互补的资源的种类最多的活跃物理机。这里的峰值互补包括对于同一类资源,待创建虚拟机为峰值资源且活跃物理机为谷值资源。
[0082] 在一些实施例中,步骤S121为peculiarity(特性)阶段,对待创建虚拟机的第一级调度阶段。步骤S122-步骤S125构成了对待创建虚拟机的二级调度决策机制的第二级调度阶段,例如为flex-grow(弹性分配)阶段。
[0083] 返回图1的步骤S120,下面将结合图3详细描述步骤S120中对各个已创建虚拟机进行调度的步骤。
[0084] 图3示出根据本公开一些实施例的对各个已创建虚拟机进行调度的流程图。
[0085] 如图3所示,在待调度时间段,对各个已创建虚拟机进行调度包括步骤S121'-步骤S123'。业务需求还包括第二业务需求。例如,第二业务需求为虚拟机1和2不能部署在同一个物理机上。
[0086] 在步骤S121'中,对于每个活跃物理机,根据用户的第二业务需求,确定可部署在每个活跃物理机上的至少一个已创建虚拟机集合。例如,对于活跃物理机A,可部署在活跃物理机A上的至少一个已创建虚拟机集合包括虚拟机1、虚拟机3和虚拟机4。
[0087] 在步骤S122'中,根据每个已创建虚拟机的各类资源的历史资源用量,确定所述每个已创建虚拟机的峰值资源和谷值资源。
[0088] 首先,对于每个已创建虚拟机,对每个历史时间段的每一类资源的历史资源用量进行第二归一化处理。
[0089] 其次,计算各类资源的历史资源用量的平均值,得到第三平均值。
[0090] 然后,将历史资源用量大于第三平均值的资源,确定为每个已创建虚拟机的峰值资源。
[0091] 最后,将历史资源用量小于或等于第三平均值的资源,确定为每个已创建虚拟机的谷值资源。
[0092] 在步骤S123'中,对于每个已创建虚拟机集合,在存在两个已创建虚拟机的至少一类资源峰谷互补的情况下,将每个已创建虚拟机集合的已创建虚拟机,都迁移到与每个已创建虚拟机集合对应的活跃物理机上。此处的峰谷互补包括对于同一类资源,一个已创建虚拟机为峰值资源且另一个已创建虚拟机为谷值资源。
[0093] 在一些实施例中,对各个已创建虚拟机进行调度还包括步骤S124'-步骤S125'。
[0094] 在步骤S124'中,对于每个活跃物理机,确定已部署在每个活跃物理机上的各个已创建虚拟机的历史资源用量的总和。
[0095] 在步骤S125'中,在总和大于每个活跃物理机的可提供资源总量的情况下,将已部署在每个活跃物理机上的至少一个已创建虚拟机,迁移到除每个活跃物理机以外的其他活跃物理机上,直至已部署在每个活跃物理机上的各个已创建虚拟机的历史资源用量的总和、小于或等于所述可提供资源总量。
[0096] 在一些实施例中,对各个已创建虚拟机进行调度还包括步骤S126'-步骤S127'。
[0097] 在步骤S126'中,在总和小于所述每个活跃物理机的可提供资源总量的预设比例的情况下,将已部署在每个活跃物理机上的各个已创建虚拟机,迁移到除每个活跃物理机以外的其他活跃物理机上。例如,其他活跃物理机包括可提供资源余量最大的其他活跃物理机。在一些实施例中,可提供资源余量为可提供资源总量减去已提供资源量。在另一些实施例中,可提供资源余量为可提供资源总量减去已提供资源量后,再减去应急资源用量。在每个物理机上预留一定的应急资源空间,能够保障流量抖动、流量突发等紧急情况下,系统能够承载业务流量。
[0098] 在总和小于所述每个活跃物理机的可提供资源总量的预设比例的情况下,对于当前的活跃物理机,已部署在当前的活跃物理机上的各个已创建虚拟机的历史资源用量达到了波谷,本公开通过上述方式尽量将虚拟机防止在少量的物理机上,让非休眠状态的物理机尽量少,从而最大限度地减少能耗。
[0099] 在步骤S127'中,控制每个活跃物理机切换至休眠模式。
[0100] 在一些实施例中,对各个已创建虚拟机进行调度还包括步骤S128'。
[0101] 在步骤S128'中,在所有活跃物理机的可提供资源总量之和、小于所有已创建虚拟机的历史资源用量之和的情况下,唤醒部分处于休眠状态的物理机,直至所有活跃物理机的可提供资源总量之和、大于或等于所有已创建虚拟机的历史资源用量之和。
[0102] 在一些实施例中,节能调度方法还包括如下步骤。
[0103] 在待调度时间段,对于每个活跃物理机,在存在一类资源的已提供资源量大于第四阈值的资源的情况下,将每个活跃物理机设置为高性能模式。在每一类资源的已提供资源量都小于或等于第四阈值的情况下,将每个活跃物理机设置为节能模式。
[0104] 根据本公开的节能调度方法,考虑了多资源维度,根据历史资源用量和用户的业务需求,对不同类型的虚拟机进行调度,进一步降低了能耗,且更具有针对性。
[0105] 图4A示出根据本公开一些实施例的一活跃物理机的资源量分配情况的示意图。
[0106] 如图4A所示,横坐标为资源种类,纵坐标为归一化后的各类资源的资源量。对于该活跃物理机的每一类资源,资源量分配情况包括已提供资源量、可提供资源余量和应急资源量。已提供资源量、可提供资源余量和应急资源量之和为该活跃物理机的可提供资源总量。例如,内存用量、网络IO流量、存储IO总量为低估资源。
[0107] 图4B示出根据本公开一些实施例的一待创建虚拟机的预估资源用量的示意图。
[0108] 如图4B所示,横坐标为资源种类,纵坐标为归一化后的各类资源的资源量。对于该待创建虚拟机,资源种类包括CPU工作指令周期数、内存用量、网络IO次数、网络IO流量、存储IO次数、存储IO总量。例如,内存用量和网络IO流量为峰值资源。
[0109] 图4C示出根据本公开一些实施例的将如图4B所示的待创建虚拟机部署到如图4A所示的活跃物理机后、活跃物理机的资源分配情况的示意图。
[0110] 如图4C所示,横坐标为资源种类,纵坐标为归一化后的各类资源的资源量。对于如图4B所示的待创建虚拟机来说,内存用量和网络IO流量为峰值资源。对于图4A所示的活跃物理机来说,内存用量、网络IO流量、存储IO总量为低估资源。与待创建虚拟机峰谷互补的资源种类为内存用量和网络IO流量。假设是峰谷互补种类最多的活跃物理机。这种部署方式,可以称之为填谷。
[0111] 图5示出根据本公开一些实施例的物理机状态控制的示意图。
[0112] 如图5所示,在物理机处于休眠模式的情况下,若节能调度系统判断需要更多的物理机来提供资源,则唤醒物理机,使得物理机从休眠模式切换至节能模式。在物理机处于节能模式的情况下,若存在一类资源的已提供资源用量大于第四阈值的情况下,即性能提升,将物理机从节能模式切换为高性能模式。在物理机处于高性能模式的情况下,若每一类资源的已提供资源量都小于或等于第四阈值的情况下,即性能下调,将物理机从高性能模式切换至节能模式。在物理机处于节能模式或高性能模式的情况下,若物理机上的虚拟机都被迁移至其他物理机,即资源清空,则将物理机从节能模式或高性能模式切换至休眠模式。
[0113] 本公开通过对物理机的状态进行定时地控制,最大程度减少了能耗。
[0114] 图6示出根据本公开一些实施例的节能调度方法进行节能调度后的物理服务器集群的状态示意图。
[0115] 如图6所示,通过本公开的节能方法,对于各个网络设备下的不同机架内的各个服务器(物理机)所处的模式不同,从而最大限度地减少了能耗,提高资源利用率。
[0116] 图7示出根据本公开一些实施例的节能调度装置的框图。
[0117] 如图7所示,节能调度装置7包括获取模块71和调度模块72。
[0118] 获取模块71被配置为对于每个已创建虚拟机,获取每个历史时间段的多类资源的历史资源用量,例如执行如图1所示的步骤S110。
[0119] 调度模块72被配置为根据用户的业务需求和多类资源的历史资源用量,在待调度时间段,对每个待创建虚拟机和各个已创建虚拟机进行调度,例如执行如图1所示的步骤S120。
[0120] 图8示出根据本公开一些实施例的节能调度装置的框图。
[0121] 如图8所示,节能调度装置8包括存储器81;以及耦接至该存储器81的处理器82,存储器81用于存储执行节能调度方法对应实施例的指令。处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一些实施例中的节能调度方法。
[0122] 图9示出用于实现本公开一些实施例的计算机系统的框图。
[0123] 如图9所示,计算机系统90可以通用计算设备的形式表现。计算机系统90包括存储器910、处理器920和连接不同系统组件的总线900。
[0124] 存储器910例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行节能调度方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
[0125] 处理器920可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
[0126] 总线900可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
[0127] 计算机系统90还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器99和处理器920之间可以通过总线900连接。输入输出接口930可以为显示器、鼠标键盘等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为软盘、U盘、SD卡等外部存储设备提供连接接口。
[0128] 这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
[0129] 这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
[0130] 这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
[0131] 本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
[0132] 通过上述实施例中的节能调度方法及装置、计算机可存储介质,进一步降低了能耗。
[0133] 至此,已经详细描述了根据本公开的节能调度方法及装置、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈