CN105847385A - 一种基于运行时长的云计算平台虚拟机调度方法 - Google Patents
一种基于运行时长的云计算平台虚拟机调度方法 Download PDFInfo
- Publication number
- CN105847385A CN105847385A CN201610248661.5A CN201610248661A CN105847385A CN 105847385 A CN105847385 A CN 105847385A CN 201610248661 A CN201610248661 A CN 201610248661A CN 105847385 A CN105847385 A CN 105847385A
- Authority
- CN
- China
- Prior art keywords
- physical machine
- machine
- virtual machine
- physical
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于运行时长的云计算平台虚拟机调度方法,能够减少SLA违反次数,清空低载的物理机使之转换为低能耗状态,提高物理机的CPU利用率,同时也能达到减少虚拟机迁移次数,避免不合理的虚拟机迁移的作用,从而做到低能耗和高能效的有益效果。
Description
技术领域
本发明涉及一种基于运行时长的云计算平台虚拟机调度方法,属于云计算和能耗技术领域。
背景技术
云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SaaS、PaaS、IaaS、MSP等先进的商业模式把这强大的计算能力分布到终端用户手中。云计算的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。
云计算技术的兴起,也为传统数据中心的建设带来了新思路。云计算正在分担越来越多的传统数据中心的工作负载。有预测指出,到2016年,接近三分之二的工作负载将在云端处理。未来云端的工作负载量将超过传统数据中心的负载量。
与传统数据中心相比,云化的数据中心提供的是弹性服务,可根据用户的需求在一个超大的资源池中动态分配和释放资源,不需要为每个用户预留峰值资源,因而资源利用率可大大提高;并且云数据中心拥有更多用户,可以将成本分摊到更多的服务器中。用户所使用的云资源可以根据其应用的需要进行调整和动态伸缩,能够有效地满足应用和用户大规模增长的需要。进入云计算时代,IT将从自给自足模式转变为规模化运行,传统小型数据中心被超大规模的云化数据中心取代将是一种必然。
然而大型数据中心的建设伴随着高耗能的问题来到,大量电能中有50%以上被用于IT设备、制冷系统和配电供电系统,数据中心节能技术成为数据中心的核心竞争力之一。选择绿色数据中心可从以下三个方面考虑:1、IT设备节能;2、制冷系统节能;3、UPS电源。其中IT设备节能是指,在相同负载下,通过虚拟化、自动休眠和计算能力调用等提高物理机里服务器的使用率,从而降低平均使用成本。
虚拟化是指通过虚拟化技术,把一台物理机虚拟为多台逻辑计算机,也就是我们所说的虚拟机。目前常见的提高物理机的CPU使用率的方式是虚拟机的整合,通过考虑负载,网络带宽,传输延迟等因素,制定相应整合迁移算法,从过载的物理机中迁出指定的虚拟机,清空低载物理机中的虚拟机,不仅达到提高物理机的使用率,同时也能减少SLA违反次数,最终达到低能耗和高能效的效果。
发明内容
本发明所要解决的技术问题是提供一种通过考虑虚拟机运行时长来进行虚拟机迁移整合工作,能够减少SLA违反次数,减少活跃的物理机的数目,解决云计算中高能耗、资源利用率低等问题,达到低能耗和高能效效果的基于运行时长的云计算平台虚拟机调度方法。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于运行时长的云计算平台虚拟机调度方法,包括如下步骤:
步骤001.将云计算平台中的各个虚拟机随机分配至N个物理机当中,然后进入步骤002;
步骤002.针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,然后进入步骤003;
步骤003.查找N个物理机当中,CPU使用率超过预设CPU使用率上限阈值的各个物理机,构成过载物理机集合Pover,相应N个物理机当中的其余物理机构成非过载物理机集合P1;然后初始化g=1,g={1、…、G},G表示过载物理机集合Pover中物理机的个数,并进入步骤004;
步骤004.针对过载物理机集合Pover中第g个物理机,分别针对该物理机当中的各个虚拟机,获得由当前时刻开始至虚拟机释放时刻之间的时长,分别作为该物理机当中各个虚拟机的运行时长,并选择最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机,然后进入步骤005;
步骤005.根据非过载物理机集合P1中各个物理机的CPU使用率,分别获得非过载物理机集合P1中各个物理机、不超过预设CPU使用率上限阈值的剩余CPU使用率Bh,然后进入步骤006,其中,h={1、…、H},H表示非过载物理机集合P1中物理机的个数;
步骤006.针对非过载物理机集合P1中各个物理机,分别获得物理机中各个虚拟机由当前时刻开始至虚拟机释放时刻之间的时长,并将最长运行时长作为对应物理机的运行时长,进而分别获得非过载物理机集合P1中各个物理机的运行时长Th,然后进入步骤007;
步骤007.针对非过载物理机集合P1中各个物理机,根据Bh与Th的比值,分别获得非过载物理机集合P1中各个物理机的最优选择参数αh,并针对各个最优选择参数αh按从小至大的顺序进行排序,选择第一个最优选择参数所对应的物理机,作为过载物理机集合Pover中第g个物理机中待迁移虚拟机的目的物理机,然后进入步骤008;
步骤008.判断过载物理机集合Pover中第g个物理机中待迁移虚拟机的CPU使用率,是否小于其所对应目的物理机不超过预设CPU使用率上限阈值的剩余CPU使用率,是则进入步骤010;否则进入步骤009;
步骤009.针对非过载物理机集合P1,选择最优选择参数排序中下一个最优选择参数所对应的物理机,更新作为过载物理机集合Pover中第g个物理机中待迁移虚拟机的目的物理机,并返回步骤008;
步骤010.将过载物理机集合Pover中第g个物理机中的待迁移虚拟机,迁移至其对应的目的物理机当中,然后针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,并进入步骤011;
步骤011.判断过载物理机集合Pover中第g个物理机的CPU使用率是否超过预设CPU使用率上限阈值,是则返回步骤004;否则进入步骤012;
步骤012.判断g是否等于G,是则进入步骤013;否则用g的值加1针对g进行更新,并返回步骤004;
步骤013.查找N个物理机当中,CPU使用率低于预设CPU使用率下限阈值的各个物理机,构成低载物理机集合Punder,相应N个物理机当中的其余物理机构成非低载物理机集合P2;然后进入步骤014;
步骤014.针对低载物理机集合Punder中各个物理机,分别获得物理机中各个虚拟机由当前时刻开始至虚拟机释放时刻之间的时长,并将最长运行时长作为对应物理机的运行时长,进而分别获得低载物理机集合Punder中各个物理机的运行时长,再针对低载物理机集合Punder中各个物理机按运行时长由大至小顺序进行排序,初始化m=1,lm=1,k=1,同时初始化低载物理机集合Punder中第m个物理机中的待迁移虚拟机集合Wm为空,然后进入步骤015;其中m={1、…、M},M表示低载物理机集合Punder中物理机的个数;lm={1、…、Lm},Lm表示低载物理机集合Punder中第m个物理机中虚拟机的个数;k={1、…、K},K表示非低载物理机集合P2中物理机的个数;
步骤015.将低载物理机集合Punder中第m个物理机中的所有虚拟机构成待对比集合Um,然后进入步骤016;
步骤016.针对低载物理机集合Punder中第m个物理机,将该物理机的第lm个虚拟机放入Wm集合当中,然后进入步骤017;
步骤017.采用步骤005至步骤007的方法,分别获得非低载物理机集合P2中各个物理机的最优选择参数α'n,并针对各个最优选择参数α'n按从小至大的顺序进行排序,选择第k个最优选择参数所对应的物理机,作为低载物理机集合Punder中第m个物理机中第lm个虚拟机的目的物理机,然后进入步骤018;
步骤018.判断低载物理机集合Punder中第m个物理机中第lm个虚拟机的CPU使用率,是否小于其所对应目的物理机不超过预设CPU使用率上限阈值的剩余CPU使用率,是则进入步骤020;否则进入步骤019;
步骤019.判断k是否等于K,是则将低载物理机集合Punder中第m个物理机中的第lm个虚拟机由Wm集合移出,并进入步骤021;否则用k的值加1针对k进行更新,并针对非低载物理机集合P2,选择最优选择参数排序中第k个最优选择参数所对应的物理机,更新作为低载物理机集合Punder中第m个物理机中第lm个虚拟机的目的物理机,并返回步骤018;
步骤020.将低载物理机集合Punder中第m个物理机中第lm个虚拟机,迁移至其对应的目的物理机当中,然后针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,并进入步骤021;
步骤021.判断lm是否等于Lm,是则进入步骤022;否则用lm的值加1针对lm进行更新,并返回步骤016;
步骤022.判断Wm集合中的元素是否与待对比集合Um中的元素相同,是则进入步骤023;否则针对低载物理机集合Punder中的第m个物理机,回滚步骤015至步骤021对其的所有操作,然后进入步骤023;
步骤023.判断m是否等于M,是则云计算平台虚拟机调度方法结束;否则用m的值加1针对m进行更新,并定义lm等于1,再返回步骤015。
作为本发明的一种优选技术方案:所述针对N个物理机,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,具体包括如下步骤:
步骤a01.针对N个物理机,首先分别获得各个物理机当中各个虚拟机的CPU使用率然后进入步骤a02;其中,n={1、…、N},in={1、、In},In表示N个物理机当中第n个物理机中虚拟机的个数,表示N个物理机当中第n个物理机中第in个虚拟机的CPU使用率;
步骤a02.根据各个物理机当中各个虚拟机的CPU使用率按如下公式:
分别获得各个物理机的CPU使用率An。
作为本发明的一种优选技术方案:所述虚拟机上由当前时刻开始至虚拟机释放时刻之间的时长,通过如下步骤获得:
步骤b01.根据如下公式:
t'r=a×Dr+b
获得虚拟机上第r个任务的运行时长tr,然后进入步骤b02;其中,a、b为根据任务类型所设的预设参数,r={1、…、R},R表示虚拟机上任务的数量,Dr表示虚拟机上第r个任务所需的数据量;
步骤b02.根据如下公式:
获得虚拟机上由当前时刻开始至虚拟机释放时刻之间的时长t。
作为本发明的一种优选技术方案:所述步骤004中,针对过载物理机集合Pover中第g个物理机,选择该物理机中最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机过程中,若该物理机中存在至少两个最长运行时长所分别对应的虚拟机,则随机选择其中一个最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机。
作为本发明的一种优选技术方案:所述步骤007中,所述针对各个最优选择参数αh按从小至大的顺序进行排序,其中,若存在至少两个相同的最优选择参数时,则该各个相同的最优选择参数之间随机进行排序。
作为本发明的一种优选技术方案:所述步骤014中,针对低载物理机集合Punder中各个物理机,按运行时长由大至小顺序进行排序过程中,若存在至少两个运行时长相同的物理机时,则针对该各个运行时长相同的物理机之间,按其CPU使用率由大至小的顺序进行排序;进而实现低载物理机集合Punder中各个物理机的排序。
本发明所述一种基于运行时长的云计算平台虚拟机调度方法及控制方法采用以上技术方案与现有技术相比,具有以下技术效果:本发明所设计基于运行时长的云计算平台虚拟机调度方法,能够减少SLA违反次数,清空低载的物理机使之转换为低能耗状态,提高物理机的CPU利用率,同时也能达到减少虚拟机迁移次数,避免不合理的虚拟机迁移的作用,从而做到低能耗和高能效的有益效果。
附图说明
图1是本发明设计的基于运行时长的云计算平台虚拟机调度方法的流程示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
如图1所示,本发明所设计的一种基于运行时长的云计算平台虚拟机调度方法,在实际应用过程当中,具体包括如下步骤:
步骤001.将云计算平台中的各个虚拟机随机分配至N个物理机当中,然后进入步骤002。
步骤002.针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,然后进入步骤003。
上述针对N个物理机,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,具体包括如下步骤:
步骤a01.针对N个物理机,首先分别获得各个物理机当中各个虚拟机的CPU使用率然后进入步骤a02;其中,n={1、…、N},in={1、、In},In表示N个物理机当中第n个物理机中虚拟机的个数,表示N个物理机当中第n个物理机中第in个虚拟机的CPU使用率。
步骤a02.根据各个物理机当中各个虚拟机的CPU使用率按如下公式:
分别获得各个物理机的CPU使用率An。
步骤003.查找N个物理机当中,CPU使用率超过预设CPU使用率上限阈值的各个物理机,构成过载物理机集合Pover,相应N个物理机当中的其余物理机构成非过载物理机集合P1;然后初始化g=1,g={1、…、G},G表示过载物理机集合Pover中物理机的个数,并进入步骤004。
步骤004.针对过载物理机集合Pover中第g个物理机,分别针对该物理机当中的各个虚拟机,获得由当前时刻开始至虚拟机释放时刻之间的时长,分别作为该物理机当中各个虚拟机的运行时长,并选择最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机,然后进入步骤005。
一般情况下,一个活跃的物理机中会存在多个虚拟机,每一个虚拟机也会执行多个任务。一个任务的运行时长,即虚拟机上由当前时刻开始至虚拟机释放时刻之间的时长,可以由基于历史数据得到的函数获得。这种函数是可以依据的,因为真正的云计算中确实会有一些相同的任务在重复地运行,而单个虚拟机上的任务与运行该任务所需要的数据量一般成线性关系。因此,上述虚拟机上由当前时刻开始至虚拟机释放时刻之间的时长,通过如下步骤获得:
步骤b01.根据如下公式:
t'r=a×Dr+b
获得虚拟机上第r个任务的运行时长tr,然后进入步骤b02;其中,a、b为根据任务类型所设的预设参数,r={1、…、R},R表示虚拟机上任务的数量,Dr表示虚拟机上第r个任务所需的数据量。
步骤b02.根据如下公式:
获得虚拟机上由当前时刻开始至虚拟机释放时刻之间的时长t。
并且上述步骤004中,针对过载物理机集合Pover中第g个物理机,选择该物理机中最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机过程中,若该物理机中存在至少两个最长运行时长所分别对应的虚拟机,则随机选择其中一个最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机。
步骤005.根据非过载物理机集合P1中各个物理机的CPU使用率,分别获得非过载物理机集合P1中各个物理机、不超过预设CPU使用率上限阈值的剩余CPU使用率Bh,然后进入步骤006,其中,h={1、…、H},H表示非过载物理机集合P1中物理机的个数。
步骤006.针对非过载物理机集合P1中各个物理机,分别获得物理机中各个虚拟机由当前时刻开始至虚拟机释放时刻之间的时长,并将最长运行时长作为对应物理机的运行时长,进而分别获得非过载物理机集合P1中各个物理机的运行时长Th,然后进入步骤007。
步骤007.针对非过载物理机集合P1中各个物理机,根据Bh与Th的比值,分别获得非过载物理机集合P1中各个物理机的最优选择参数αh,并针对各个最优选择参数αh按从小至大的顺序进行排序,选择第一个最优选择参数所对应的物理机,作为过载物理机集合Pover中第g个物理机中待迁移虚拟机的目的物理机,然后进入步骤008。
步骤008.判断过载物理机集合Pover中第g个物理机中待迁移虚拟机的CPU使用率,是否小于其所对应目的物理机不超过预设CPU使用率上限阈值的剩余CPU使用率,是则进入步骤010;否则进入步骤009。
步骤009.针对非过载物理机集合P1,选择最优选择参数排序中下一个最优选择参数所对应的物理机,更新作为过载物理机集合Pover中第g个物理机中待迁移虚拟机的目的物理机,并返回步骤008。
步骤010.将过载物理机集合Pover中第g个物理机中的待迁移虚拟机,迁移至其对应的目的物理机当中,然后针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,并进入步骤011。
步骤011.判断过载物理机集合Pover中第g个物理机的CPU使用率是否超过预设CPU使用率上限阈值,是则返回步骤004;否则进入步骤012。
步骤012.判断g是否等于G,是则进入步骤013;否则用g的值加1针对g进行更新,并返回步骤004。
步骤013.查找N个物理机当中,CPU使用率低于预设CPU使用率下限阈值的各个物理机,构成低载物理机集合Punder,相应N个物理机当中的其余物理机构成非低载物理机集合P2;然后进入步骤014。
步骤014.针对低载物理机集合Punder中各个物理机,分别获得物理机中各个虚拟机由当前时刻开始至虚拟机释放时刻之间的时长,并将最长运行时长作为对应物理机的运行时长,进而分别获得低载物理机集合Punder中各个物理机的运行时长,再针对低载物理机集合Punder中各个物理机按运行时长由大至小顺序进行排序,其中,针对低载物理机集合Punder中各个物理机,按运行时长由大至小顺序进行排序过程中,若存在至少两个运行时长相同的物理机时,则针对该各个运行时长相同的物理机之间,按其CPU使用率由大至小的顺序进行排序;进而实现低载物理机集合Punder中各个物理机的排序;然后初始化m=1,lm=1,k=1,同时初始化低载物理机集合Punder中第m个物理机中的待迁移虚拟机集合Wm为空,然后进入步骤015;其中m={1、…、M},M表示低载物理机集合Punder中物理机的个数;lm={1、…、Lm},Lm表示低载物理机集合Punder中第m个物理机中虚拟机的个数;k={1、…、K},K表示非低载物理机集合P2中物理机的个数。
步骤015.将低载物理机集合Punder中第m个物理机中的所有虚拟机构成待对比集合Um,然后进入步骤016。
步骤016.针对低载物理机集合Punder中第m个物理机,将该物理机的第lm个虚拟机放入Wm集合当中,然后进入步骤017。
步骤017.采用步骤005至步骤007的方法,分别获得非低载物理机集合P2中各个物理机的最优选择参数α'n,并针对各个最优选择参数α'n按从小至大的顺序进行排序,选择第k个最优选择参数所对应的物理机,作为低载物理机集合Punder中第m个物理机中第lm个虚拟机的目的物理机,然后进入步骤018。
步骤018.判断低载物理机集合Punder中第m个物理机中第lm个虚拟机的CPU使用率,是否小于其所对应目的物理机不超过预设CPU使用率上限阈值的剩余CPU使用率,是则进入步骤020;否则进入步骤019。
步骤019.判断k是否等于K,是则将低载物理机集合Punder中第m个物理机中的第lm个虚拟机由Wm集合移出,并进入步骤021;否则用k的值加1针对k进行更新,并针对非低载物理机集合P2,选择最优选择参数排序中第k个最优选择参数所对应的物理机,更新作为低载物理机集合Punder中第m个物理机中第lm个虚拟机的目的物理机,并返回步骤018。
步骤020.将低载物理机集合Punder中第m个物理机中第lm个虚拟机,迁移至其对应的目的物理机当中,然后针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,并进入步骤021。
步骤021.判断lm是否等于Lm,是则进入步骤022;否则用lm的值加1针对lm进行更新,并返回步骤016。
步骤022.判断Wm集合中的元素是否与待对比集合Um中的元素相同,是则进入步骤023;否则针对低载物理机集合Punder中的第m个物理机,回滚步骤015至步骤021对其的所有操作,然后进入步骤023。
步骤023.判断m是否等于M,是则云计算平台虚拟机调度方法结束;否则用m的值加1针对m进行更新,并定义lm等于1,再返回步骤015。
上述技术方案所设计基于运行时长的云计算平台虚拟机调度方法,能够减少SLA违反次数,清空低载的物理机使之转换为低能耗状态,提高物理机的CPU利用率,同时也能达到减少虚拟机迁移次数,避免不合理的虚拟机迁移的作用,从而做到低能耗和高能效的有益效果。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (6)
1.一种基于运行时长的云计算平台虚拟机调度方法,其特征在于,包括如下步骤:
步骤001.将云计算平台中的各个虚拟机随机分配至N个物理机当中,然后进入步骤002;
步骤002.针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,然后进入步骤003;
步骤003.查找N个物理机当中,CPU使用率超过预设CPU使用率上限阈值的各个物理机,构成过载物理机集合Pover,相应N个物理机当中的其余物理机构成非过载物理机集合P1;然后初始化g=1,g={1、…、G},G表示过载物理机集合Pover中物理机的个数,并进入步骤004;
步骤004.针对过载物理机集合Pover中第g个物理机,分别针对该物理机当中的各个虚拟机,获得由当前时刻开始至虚拟机释放时刻之间的时长,分别作为该物理机当中各个虚拟机的运行时长,并选择最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机,然后进入步骤005;
步骤005.根据非过载物理机集合P1中各个物理机的CPU使用率,分别获得非过载物理机集合P1中各个物理机、不超过预设CPU使用率上限阈值的剩余CPU使用率Bh,然后进入步骤006,其中,h={1、…、H},H表示非过载物理机集合P1中物理机的个数;
步骤006.针对非过载物理机集合P1中各个物理机,分别获得物理机中各个虚拟机由当前时刻开始至虚拟机释放时刻之间的时长,并将最长运行时长作为对应物理机的运行时长,进而分别获得非过载物理机集合P1中各个物理机的运行时长Th,然后进入步骤007;
步骤007.针对非过载物理机集合P1中各个物理机,根据Bh与Th的比值,分别获得非过载物理机集合P1中各个物理机的最优选择参数αh,并针对各个最优选择参数αh按从小至大的顺序进行排序,选择第一个最优选择参数所对应的物理机,作为过载物理机集合Pover中第g个物理机中待迁移虚拟机的目的物理机,然后进入步骤008;
步骤008.判断过载物理机集合Pover中第g个物理机中待迁移虚拟机的CPU使用率,是否小于其所对应目的物理机不超过预设CPU使用率上限阈值的剩余CPU使用率,是则进入步骤010;否则进入步骤009;
步骤009.针对非过载物理机集合P1,选择最优选择参数排序中下一个最优选择参数所对应的物理机,更新作为过载物理机集合Pover中第g个物理机中待迁移虚拟机的目的物理机,并返回步骤008;
步骤010.将过载物理机集合Pover中第g个物理机中的待迁移虚拟机,迁移至其对应的目的物理机当中,然后针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,并进入步骤011;
步骤011.判断过载物理机集合Pover中第g个物理机的CPU使用率是否超过预设CPU使用率上限阈值,是则返回步骤004;否则进入步骤012;
步骤012.判断g是否等于G,是则进入步骤013;否则用g的值加1针对g进行更新,并返回步骤004;
步骤013.查找N个物理机当中,CPU使用率低于预设CPU使用率下限阈值的各个物理机,构成低载物理机集合Punder,相应N个物理机当中的其余物理机构成非低载物理机集合P2;然后进入步骤014;
步骤014.针对低载物理机集合Punder中各个物理机,分别获得物理机中各个虚拟机由当前时刻开始至虚拟机释放时刻之间的时长,并将最长运行时长作为对应物理机的运行时长,进而分别获得低载物理机集合Punder中各个物理机的运行时长,再针对低载物理机集合Punder中各个物理机按运行时长由大至小顺序进行排序,初始化m=1,lm=1,k=1,同时初始化低载物理机集合Punder中第m个物理机中的待迁移虚拟机集合Wm为空,然后进入步骤015;其中m={1、…、M},M表示低载物理机集合Punder中物理机的个数;lm={1、…、Lm},Lm表示低载物理机集合Punder中第m个物理机中虚拟机的个数;k={1、…、K},K表示非低载物理机集合P2中物理机的个数;
步骤015.将低载物理机集合Punder中第m个物理机中的所有虚拟机构成待对比集合Um,然后进入步骤016;
步骤016.针对低载物理机集合Punder中第m个物理机,将该物理机的第lm个虚拟机放入Wm集合当中,然后进入步骤017;
步骤017.采用步骤005至步骤007的方法,分别获得非低载物理机集合P2中各个物理机的最优选择参数α'n,并针对各个最优选择参数α'n按从小至大的顺序进行排序,选择第k个最优选择参数所对应的物理机,作为低载物理机集合Punder中第m个物理机中第lm个虚拟机的目的物理机,然后进入步骤018;
步骤018.判断低载物理机集合Punder中第m个物理机中第lm个虚拟机的CPU使用率,是否小于其所对应目的物理机不超过预设CPU使用率上限阈值的剩余CPU使用率,是则进入步骤020;否则进入步骤019;
步骤019.判断k是否等于K,是则将低载物理机集合Punder中第m个物理机中的第lm个虚拟机由Wm集合移出,并进入步骤021;否则用k的值加1针对k进行更新,并针对非低载物理机集合P2,选择最优选择参数排序中第k个最优选择参数所对应的物理机,更新作为低载物理机集合Punder中第m个物理机中第lm个虚拟机的目的物理机,并返回步骤018;
步骤020.将低载物理机集合Punder中第m个物理机中第lm个虚拟机,迁移至其对应的目的物理机当中,然后针对N个物理机中,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,并进入步骤021;
步骤021.判断lm是否等于Lm,是则进入步骤022;否则用lm的值加1针对lm进行更新,并返回步骤016;
步骤022.判断Wm集合中的元素是否与待对比集合Um中的元素相同,是则进入步骤023;否则针对低载物理机集合Punder中的第m个物理机,回滚步骤015至步骤021对其的所有操作,然后进入步骤023;
步骤023.判断m是否等于M,是则云计算平台虚拟机调度方法结束;否则用m的值加1针对m进行更新,并定义lm等于1,再返回步骤015。
2.根据权利要求1所述一种基于运行时长的云计算平台虚拟机调度方法,其特征在于:所述针对N个物理机,分别获得各个物理机当中各个虚拟机的CPU使用率,进而分别获得各个物理机的CPU使用率,具体包括如下步骤:
步骤a01.针对N个物理机,首先分别获得各个物理机当中各个虚拟机的CPU使用率然后进入步骤a02;其中,n={1、…、N},in={1、、In},In表示N个物理机当中第n个物理机中虚拟机的个数,表示N个物理机当中第n个物理机中第in个虚拟机的CPU使用率;
步骤a02.根据各个物理机当中各个虚拟机的CPU使用率按如下公式:
分别获得各个物理机的CPU使用率An。
3.根据权利要求1所述一种基于运行时长的云计算平台虚拟机调度方法,其特征在于,所述虚拟机上由当前时刻开始至虚拟机释放时刻之间的时长,通过如下步骤获得:
步骤b01.根据如下公式:
t'r=a×Dr+b
获得虚拟机上第r个任务的运行时长tr,然后进入步骤b02;其中,a、b为根据任务类型所设的预设参数,r={1、…、R},R表示虚拟机上任务的数量,Dr表示虚拟机上第r个任务所需的数据量;
步骤b02.根据如下公式:
获得虚拟机上由当前时刻开始至虚拟机释放时刻之间的时长t。
4.根据权利要求1所述一种基于运行时长的云计算平台虚拟机调度方法,其特征在于,所述步骤004中,针对过载物理机集合Pover中第g个物理机,选择该物理机中最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机过程中,若该物理机中存在至少两个最长运行时长所分别对应的虚拟机,则随机选择其中一个最长运行时长所对应的虚拟机,作为过载物理机集合Pover中第g个物理机的待迁移虚拟机。
5.根据权利要求1所述一种基于运行时长的云计算平台虚拟机调度方法,其特征在于:所述步骤007中,所述针对各个最优选择参数αh按从小至大的顺序进行排序,其中,若存在至少两个相同的最优选择参数时,则该各个相同的最优选择参数之间随机进行排序。
6.根据权利要求1所述一种基于运行时长的云计算平台虚拟机调度方法,其特征在于:所述步骤014中,针对低载物理机集合Punder中各个物理机,按运行时长由大至小顺序进行排序过程中,若存在至少两个运行时长相同的物理机时,则针对该各个运行时长相同的物理机之间,按其CPU使用率由大至小的顺序进行排序;进而实现低载物理机集合Punder中各个物理机的排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610248661.5A CN105847385B (zh) | 2016-04-20 | 2016-04-20 | 一种基于运行时长的云计算平台虚拟机调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610248661.5A CN105847385B (zh) | 2016-04-20 | 2016-04-20 | 一种基于运行时长的云计算平台虚拟机调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105847385A true CN105847385A (zh) | 2016-08-10 |
CN105847385B CN105847385B (zh) | 2018-11-13 |
Family
ID=56590219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610248661.5A Active CN105847385B (zh) | 2016-04-20 | 2016-04-20 | 一种基于运行时长的云计算平台虚拟机调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105847385B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469092A (zh) * | 2016-09-06 | 2017-03-01 | 王欣刚 | 虚拟机映射方法及装置 |
CN109213595A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载均衡调度方法、装置及计算机可读存储介质 |
CN109325344A (zh) * | 2018-09-13 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种云环境中防御侧信道攻击的虚拟机迁移方法及系统 |
CN110309036A (zh) * | 2018-03-27 | 2019-10-08 | 华为技术有限公司 | 一种cpu占用率检测方法及检测设备 |
CN116302451A (zh) * | 2023-05-18 | 2023-06-23 | 广州豪特节能环保科技股份有限公司 | 一种云计算数据中心离线节能调度的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825946A (zh) * | 2014-02-26 | 2014-05-28 | 南京邮电大学 | 一种基于网络感知的虚拟机放置方法 |
US20140157271A1 (en) * | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | User datagram protocol (udp) packet migration in a virtual machine (vm) migration |
CN104268004A (zh) * | 2014-10-17 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种云计算操作系统下的虚拟机迁移方法 |
CN104461673A (zh) * | 2013-09-18 | 2015-03-25 | 华为技术有限公司 | 一种虚拟机迁移判定方法及装置 |
CN104572279A (zh) * | 2014-12-23 | 2015-04-29 | 国云科技股份有限公司 | 一种支持节点绑定的虚拟机动态调度方法 |
-
2016
- 2016-04-20 CN CN201610248661.5A patent/CN105847385B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140157271A1 (en) * | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | User datagram protocol (udp) packet migration in a virtual machine (vm) migration |
CN104461673A (zh) * | 2013-09-18 | 2015-03-25 | 华为技术有限公司 | 一种虚拟机迁移判定方法及装置 |
CN103825946A (zh) * | 2014-02-26 | 2014-05-28 | 南京邮电大学 | 一种基于网络感知的虚拟机放置方法 |
CN104268004A (zh) * | 2014-10-17 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种云计算操作系统下的虚拟机迁移方法 |
CN104572279A (zh) * | 2014-12-23 | 2015-04-29 | 国云科技股份有限公司 | 一种支持节点绑定的虚拟机动态调度方法 |
Non-Patent Citations (2)
Title |
---|
MICHAEL CARDOSA等: ""Exploiting Spatio-Temporal Tradeoffs for Energy-Aware MapReduce in the Cloud"", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
李妍霏: ""云计算中的能耗计量模型和节能优化机制"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469092A (zh) * | 2016-09-06 | 2017-03-01 | 王欣刚 | 虚拟机映射方法及装置 |
CN106469092B (zh) * | 2016-09-06 | 2019-11-12 | 王欣刚 | 虚拟机映射方法及装置 |
CN109213595A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载均衡调度方法、装置及计算机可读存储介质 |
CN109213595B (zh) * | 2017-07-07 | 2023-12-26 | 中兴通讯股份有限公司 | 负载均衡调度方法、装置及计算机可读存储介质 |
CN110309036A (zh) * | 2018-03-27 | 2019-10-08 | 华为技术有限公司 | 一种cpu占用率检测方法及检测设备 |
CN109325344A (zh) * | 2018-09-13 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种云环境中防御侧信道攻击的虚拟机迁移方法及系统 |
CN116302451A (zh) * | 2023-05-18 | 2023-06-23 | 广州豪特节能环保科技股份有限公司 | 一种云计算数据中心离线节能调度的方法及系统 |
CN116302451B (zh) * | 2023-05-18 | 2023-08-08 | 广州豪特节能环保科技股份有限公司 | 一种云计算数据中心离线节能调度的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105847385B (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546700B (zh) | 一种资源调度以及资源迁移的方法及设备 | |
CN105847385B (zh) | 一种基于运行时长的云计算平台虚拟机调度方法 | |
Mi et al. | Online self-reconfiguration with performance guarantee for energy-efficient large-scale cloud computing data centers | |
CN105893148B (zh) | 一种基于rm策略的偶发任务低能耗调度方法 | |
CN106506657A (zh) | 一种基于多目标的云计算虚拟机分配调整方法 | |
CN101938416A (zh) | 一种基于动态重配置虚拟资源的云计算资源调度方法 | |
CN103916438B (zh) | 基于负载预测的云测试环境调度方法及其系统 | |
CN108549583A (zh) | 大数据处理方法、装置、服务器及可读存储介质 | |
Cao et al. | Energy efficient allocation of virtual machines in cloud computing environments based on demand forecast | |
CN108684075B (zh) | 集中式基站架构下的处理资源分配方法 | |
CN105975049B (zh) | 一种任务同步偶发任务低能耗调度方法 | |
Long et al. | A three-phase energy-saving strategy for cloud storage systems | |
CN106230986A (zh) | 一种基于电力PaaS云平台的资源适配调度系统及方法 | |
Fernández-Cerero et al. | Energy policies for data-center monolithic schedulers | |
CN105868004A (zh) | 一种基于云计算的业务系统的调度方法及调度装置 | |
CN112559122A (zh) | 一种基于电力专用安防设备的虚拟化实例管控方法及系统 | |
CN103023802B (zh) | 一种面向web集群的低能耗调度系统和方法 | |
CN104391736B (zh) | 虚拟机的休眠模式设置方法和装置 | |
CN105528054B (zh) | 集群系统综合调度节能方法及装置 | |
CN111242801A (zh) | 一种电力系统调控云电网运行分析平台 | |
CN105930202B (zh) | 一种三阈值的虚拟机迁移方法 | |
CN110825212B (zh) | 节能调度方法及装置、计算机可存储介质 | |
CN110308991B (zh) | 一种基于随机任务的数据中心节能优化方法及系统 | |
CN106227600B (zh) | 一种基于能量感知的多维虚拟资源分配方法 | |
Gao et al. | Energy-aware load balancing in heterogeneous cloud data centers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |