CN112256402B - 一种云平台数据中心资源预测与调度方法及系统 - Google Patents
一种云平台数据中心资源预测与调度方法及系统 Download PDFInfo
- Publication number
- CN112256402B CN112256402B CN202011188089.0A CN202011188089A CN112256402B CN 112256402 B CN112256402 B CN 112256402B CN 202011188089 A CN202011188089 A CN 202011188089A CN 112256402 B CN112256402 B CN 112256402B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- physical
- cloud platform
- data center
- chromosome
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000001514 detection method Methods 0.000 claims abstract description 55
- 210000000349 chromosome Anatomy 0.000 claims description 93
- 238000005265 energy consumption Methods 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 12
- 230000009191 jumping Effects 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 10
- 230000005012 migration Effects 0.000 claims description 6
- 238000013508 migration Methods 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 4
- 230000035772 mutation Effects 0.000 claims description 4
- 229920006395 saturated elastomer Polymers 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种云平台数据中心资源预测与调度方法,包括获取云平台数据中心当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测;根据下一检测周期的虚拟机资源利用信息,对云平台数据中心总体资源进行优化,并结合预先设置的虚拟机和物理机间的隶属关系,计算出云平台数据中心中每个物理机的剩余资源;根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机总体量最小。实施本发明,考虑了资源预测与调度的顺延关系,能预测动态波动的工作流资源并进行合理分配,从而实现资源调度与分配整体最优性。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种云平台数据中心资源预测与调度方法及系统。
背景技术
云计算是一种通过网络将大规模廉价的计算机连接起来组成一个大型运算系统以向用户提供运算服务的技术,集成了网格计算特性和虚拟化技术功能,常常用于处理海量节点数据计算需求和人工智能等新兴计算需求,并能基于云平台远程提供云服务,使用户可以在云中共享数据和协作任务。由于具有高可伸缩性、灵活性和成本效率等优点,使得云计算被广泛应用于数字化配电网中。
目前,云平台数据中心资源预测与调度是实现配网多终端海量数据在云侧快速处理的重要基础,首先通过资源预测提前获取未来一段时间的资源使用状态信息,为计算资源实施合理配置提供决策支持,然后合理分配每个数据计算任务的算力资源,用以避免少量中心单元出差负荷超载而影响服务质量,从而确保工作流能够较为平均地分配至正在运行的所有计算单元。
传统的资源预测与调度方法是采用贝叶斯或灰色模型进行工作流资源预测,然后采用贪婪算法或启发式算法进行资源分配。但是,传统的资源预测与调度方法主要在于单独开展资源预测与资源调度,却没有考虑资源预测与资源调度的顺延关系,缺少整体最优性,因此无法预测动态波动的工作流资源并进行合理分配。
发明内容
本发明实施例所要解决的技术问题在于,提供一种云平台数据中心资源预测与调度方法及系统,考虑了资源预测与资源调度的顺延关系,能预测动态波动的工作流资源并进行合理分配,从而实现资源调度与分配整体最优性。
为了解决上述技术问题,本发明实施例提供了一种云平台数据中心资源预测与调度方法,所述方法包括以下步骤:
获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测;
根据所预测的下一检测周期的虚拟机资源利用信息,对云平台数据中心总体资源进行优化,并结合预先设置的虚拟机和物理机间的隶属关系,计算出云平台数据中心中每个物理机的剩余资源;
根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小。
其中,所述虚拟机资源利用信息包括虚拟机的CPU利用率、虚拟机的内存利用率和虚拟机的能量消耗。
其中,所述获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测的具体步骤包括:
步骤S11、将当前检测周期的虚拟机资源利用信息数据封装成多个染色体;
步骤S12、构建初始为空的备选库,以及设置总用时阈值和初始时间为0的计时器;
步骤S13、启动所述计时器计时;
步骤S14、判断所述计时器的当前计时时间是否小于所述总用时阈值;如果是,则执行步骤S15;如果否,则跳转至步骤S19;
步骤S15、随机选择两个染色体作为父染色体并交叉计算得到第一子染色体和第二子染色体,并分别计算出两个所述父染色体、所述第一子染色体及所述第二子染色体各自的适应度;
步骤S16、判断所述第一子染色体的适应度及所述第二子染色体的适应度是否均优于两个所述父染色体的适应度;如果是,则执行步骤S17;如果否,则跳转至步骤S18;
步骤S17、将所述第一子染色体及所述第二子染色体均放入所述备选库中,返回步骤S14;
步骤S18、将两个所述父染色体进行变异计算得到第三子染色体和第四子染色体,并计算出所述第三子染色体的适应度和所述第四子染色体的适应度,且在所述第三子染色体的适应度和所述第四子染色体的适应度均优于两个所述父染色体的适应度时,将所述第三子染色体和所述第四子染色体均放入所述备选库中,返回步骤S14;
步骤S19、从所述备选库中,选择最小适应度的子染色体作为结果输出,即得到所预测的下一检测周期的虚拟机资源利用信息。
其中,通过公式计算得到每一个父染色体的适应度F(t)或每一个子染色体的适应度F(t);
其中,a、b、c均为权重系数,且均为预先设定的固定值;Δt为两次计算之间的单位时间间隔,且为预先设定的固定值;
其中, Cavg为云平台数据中心中n个物理机的CPU平均利用率;Mavg为云平台数据中心中n个物理机的内存平均利用率;E为云平台数据中心中n个物理机的总能耗;αj为布尔量,αj=1为物理机pj处于激活状态;βi,j为布尔量,且βi,j=1为虚拟机vi分配给物理机pj;/>为虚拟机j的CPU利用率;m为虚拟机个数;n为物理机个数;/>为虚拟机vi的CPU利用率;/>为虚拟机j的内存利用率;/>为虚拟机vi的内存利用率;/>为虚拟机j的总能耗;/>为虚拟机vi的总能耗;Emax为云平台数据中心中n个物理机的能耗的最大值。
其中,通过预先设置好的总体优化目标函数对云平台数据中心总体资源进行优化;其中,
所述总体优化目标函数通过公式来表示,其对应的约束条件包括以及0≤Cavg,Cmax,Mavg,Mmax≤1;
其中,Cmax为云平台数据中心中n个物理机的CPU平均利用率的最大值;Mmax为云平台数据中心中n个物理机的内存平均利用率的最大值; 及的取值,应根据所预测的下一检测周期的虚拟机资源利用信息对应取值。
其中,通过公式计算得到每个物理机的剩余资源;其中,dpj为物理机pj的剩余资源。
其中,所述根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小的具体步骤包括:
步骤S31、对所计算出的每个物理机的剩余资源进行降序排列,得到序列S,并确定升序排列后的每一物理机所隶属的虚拟机资源利用信息;其中,序列S为{S[1]、S[2]、…、S[n]};S[1]为剩余资源最多的物理机,S[n]为剩余资源最少的物理机,n为物理机总数;
步骤S32、设置计数器i=1;
步骤S33、判断i是否小于(1+n)/2;如果是,则执行步骤S34;如果否,则跳转至步骤S37;
步骤S34、根据物理机S[i+n-1]中对应的虚拟机及其资源利用信息,将物理机S[i+n-1]中对应的虚拟机及其资源利用信息分批次迁移到物理机S[i]上,并在物理机S[i+n-1]每一次迁移虚拟机后,分别判断物理机S[i]的剩余资源是否达到饱和;
步骤S35、若物理机S[i]的剩余资源在其中某一批次迁移时达到饱和,则将物理机S[i+n-1]中剩余的虚拟机继续依序向物理机S[i+1]~S[i+n-2]上迁移,直至物理机S[i+n-1]中对应的所有虚拟机迁移完毕为止后,设置i=i+1,返回步骤S33;
步骤S36、若物理机S[i+n-1]中对应的所有虚拟机迁移完毕,且物理机S[i]的剩余资源还未达到饱和,则设置i=i+1,返回步骤S33;
步骤S37、将序列S中拥有虚拟机的物理机作为最终结果输出,即得到云平台数据中心中拥有虚拟机的物理机的总体量最小,且拥有虚拟机的物理机的资源利用率最高。
其中,所述物理机S[i]的剩余资源是否达到饱和是通过物理机S[i]上的虚拟机的CPU利用率是否达到最大或虚拟机的内存利用率是否达到最大来判断的;其中,
物理机S[i]上的虚拟机的CPU利用率达到最大和/或虚拟机的内存利用率是达到最大,则物理机S[i]的剩余资源达到饱和;反之,则物理机S[i]的剩余资源未达到饱和。
本发明实施例还提供了一种云平台数据中心资源预测与调度系统,包括:
预测单元,用于获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测;
计算单元,用于根据所预测的下一检测周期的虚拟机资源利用信息,对云平台数据中心总体资源进行优化,并结合预先设置的虚拟机和物理机间的隶属关系,计算出云平台数据中心中每个物理机的剩余资源;
分配调度单元,用于根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小。
其中,所述虚拟机资源利用信息包括虚拟机的CPU利用率、虚拟机的内存利用率和虚拟机的能量消耗。
实施本发明实施例,具有如下有益效果:
1、本发明建立了最大化CPU的平均利用率Cavg、最大化内存平均利用率Mavg和最小化能耗E的多目标优化函数,考虑了考虑资源预测与资源调度的顺延关系,综合开展资源预测与资源调度,确保整体最优性;
2、本发明基于当前检测周期的虚拟机资源利用信息的基础上,预测下一检测周期的虚拟机资源利用信息,适用于是稳定的升降趋势和不稳定的波动趋势;
3、本发明基于下一检测周期的虚拟机资源利用信息的基础上,根据物理机的剩余资源合理迁移配置虚拟机,以使云平台数据中心中拥有虚拟机的物理机的总体量最小,并确保每个活动物理机的资源利用率达到最大,活动物理机的数量达到最小,从而最大限度地利用资源和减少能源消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
图1为本发明实施例提供的一种云平台数据中心资源预测与调度方法的流程图;
图2为对应图1步骤S1的流程图;
图3为对应图1步骤S3的流程图;
图4为本发明实施例提供的一种云平台数据中心资源预测与调度系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示,为本发明实施例中,提供的一种云平台数据中心资源预测与调度方法,所述方法包括以下步骤:
步骤S1、获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测;
具体过程为,周期性(如每间隔30分钟)获取云平台数据中心每一个检测周期的虚拟机资源利用信息(该虚拟机资源利用信息包括但不限于虚拟机的CPU利用率、虚拟机的内存利用率和虚拟机的能量消耗等),并基于每一个检测周期的虚拟机资源利用信息,可以对下一个检测周期的虚拟机资源利用信息进行预测,从而能适用于是稳定的升降趋势的工作流资源预测和不稳定的波动趋势的工作流资源预测。
如图2所示,该步骤S1的具体实现过程如下:
步骤S11、将当前检测周期的虚拟机资源利用信息数据封装成多个染色体;例如,将每两分钟的虚拟机资源利用信息数据封装成1条染色体;
步骤S12、构建初始为空的备选库,以及设置总用时阈值T和初始时间为0的计时器;
步骤S13、启动计时器计时t;
步骤S14、判断计时器的当前计时时间t是否小于总用时阈值T;如果是,则执行步骤S15;如果否,则跳转至步骤S19;
步骤S15、随机选择两个染色体作为父染色体并交叉计算得到第一子染色体和第二子染色体,并分别计算出两个父染色体、第一子染色体及第二子染色体各自的适应度;
步骤S16、判断第一子染色体的适应度及第二子染色体的适应度是否均优于两个父染色体的适应度;如果是,则执行步骤S17;如果否,则跳转至步骤S18;
步骤S17、将第一子染色体及第二子染色体均放入备选库中,返回步骤S14;
步骤S18、将两个父染色体进行变异计算得到第三子染色体和第四子染色体,并计算出第三子染色体的适应度和第四子染色体的适应度,且在第三子染色体的适应度和第四子染色体的适应度均优于两个父染色体的适应度时,将第三子染色体和第四子染色体均放入所述备选库中,返回步骤S14;
步骤S19、从备选库中,选择最小适应度的子染色体作为结果输出,即得到所预测的下一检测周期的虚拟机资源利用信息。
应当说明的是,通过公式(1),计算得到每一个父染色体的适应度F(t)或每一个子染色体的适应度F(t);
其中,a、b、c均为权重系数,且均为预先设定的固定值;Δt为两次计算之间的单位时间间隔,且为预先设定的固定值;
其中,
其中,Cavg为云平台数据中心中n个物理机的CPU平均利用率;Mavg为云平台数据中心中n个物理机的内存平均利用率;E为云平台数据中心中n个物理机的总能耗;αj为布尔量,αj=1为物理机pj处于激活状态;βi,j为布尔量,且βi,j=1为虚拟机vi分配给物理机pj;为虚拟机j的CPU利用率;m为虚拟机个数;n为物理机个数;/>为虚拟机vi的CPU利用率;/>为虚拟机j的内存利用率;/>为虚拟机vi的内存利用率;/>为虚拟机j的总能耗;/>为虚拟机vi的总能耗;Emax为云平台数据中心中n个物理机的能耗的最大值。
步骤S2、根据所预测的下一检测周期的虚拟机资源利用信息,对云平台数据中心总体资源进行优化,并结合预先设置的虚拟机和物理机间的隶属关系,计算出云平台数据中心中每个物理机的剩余资源;
具体过程为,首先,通过预先设置好的总体优化目标函数对云平台数据中心总体资源进行优化;其中,总体优化目标函数通过公式(2)来表示:
约束条件包括:
0≤Cavg,Cmax,Mavg,Mmax≤1;
其中,Cmax为云平台数据中心中n个物理机的CPU平均利用率的最大值;Mmax为云平台数据中心中n个物理机的内存平均利用率的最大值。
应当说明的是,公式(2)中的及/>的取值,应根据所预测的下一检测周期的虚拟机资源利用信息对应取值。
其次,结合预先设置的虚拟机和物理机间的隶属关系,并通过公式(3),计算得到云平台数据中心中每个物理机的剩余资源;
其中,dpj为物理机pj的剩余资源;此时公式(3)中的的取值,也应根据所预测的下一检测周期的虚拟机资源利用信息对应取值。
步骤S3、根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小。
具体过程为,如图3所示,该步骤S3的具体实现过程如下:
步骤S31、对所计算出的每个物理机的剩余资源进行降序排列(或升序或其它排列方式),得到序列S,并确定升序排列后的每一物理机所隶属的虚拟机资源利用信息;其中,序列S为{S[1]、S[2]、…、S[n]};S[1]为剩余资源最多的物理机,S[n]为剩余资源最少的物理机,n为物理机总数;
步骤S32、设置计数器i=1;
步骤S33、判断i是否小于(1+n)/2;如果是,则执行步骤S34;如果否,则跳转至步骤S37;
步骤S34、根据物理机S[i+n-1]中对应的虚拟机及其资源利用信息,将物理机S[i+n-1]中对应的虚拟机及其资源利用信息分批次迁移到物理机S[i]上,并在物理机S[i+n-1]每一次迁移虚拟机后,分别判断物理机S[i]的剩余资源是否达到饱和;其中,物理机S[i]的剩余资源是否达到饱和是通过物理机S[i]上的虚拟机的CPU利用率是否达到最大或虚拟机的内存利用率是否达到最大来判断的,具体为,物理机S[i]上的虚拟机的CPU利用率达到最大和/或虚拟机的内存利用率是达到最大,则物理机S[i]的剩余资源达到饱和;反之,则物理机S[i]的剩余资源未达到饱和;
步骤S35、若物理机S[i]的剩余资源在其中某一批次迁移时达到饱和,则将物理机S[i+n-1]中剩余的虚拟机继续依序向物理机S[i+1]~S[i+n-2]上迁移,直至物理机S[i+n-1]中对应的所有虚拟机迁移完毕为止后,设置i=i+1,返回步骤S33;
步骤S36、若物理机S[i+n-1]中对应的所有虚拟机迁移完毕,且物理机S[i]的剩余资源还未达到饱和,则设置i=i+1,返回步骤S33;
步骤S37、将序列S中拥有虚拟机的物理机作为最终结果输出,即得到云平台数据中心中拥有虚拟机的物理机的总体量最小,且拥有虚拟机的物理机的资源利用率最高。
如图4所示,为本发明实施例中,提供的一种云平台数据中心资源预测与调度系统,包括:
预测单元110,用于获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测;
计算单元120,用于根据所预测的下一检测周期的虚拟机资源利用信息,对云平台数据中心总体资源进行优化,并结合预先设置的虚拟机和物理机间的隶属关系,计算出云平台数据中心中每个物理机的剩余资源;
分配调度单元130,用于根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小。
其中,所述虚拟机资源利用信息包括虚拟机的CPU利用率、虚拟机的内存利用率和虚拟机的能量消耗。
实施本发明实施例,具有如下有益效果:
1、本发明建立了最大化CPU的平均利用率Cavg、最大化内存平均利用率Mavg和最小化能耗E的多目标优化函数,考虑了考虑资源预测与资源调度的顺延关系,综合开展资源预测与资源调度,确保整体最优性;
2、本发明基于当前检测周期的虚拟机资源利用信息的基础上,预测下一检测周期的虚拟机资源利用信息,适用于是稳定的升降趋势和不稳定的波动趋势;
3、本发明基于下一检测周期的虚拟机资源利用信息的基础上,根据物理机的剩余资源合理迁移配置虚拟机,以使云平台数据中心中拥有虚拟机的物理机的总体量最小,并确保每个活动物理机的资源利用率达到最大,活动物理机的数量达到最小,从而最大限度地利用资源和减少能源消耗。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (5)
1.一种云平台数据中心资源预测与调度方法,其特征在于,所述方法包括以下步骤:
获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测;
根据所预测的下一检测周期的虚拟机资源利用信息,对云平台数据中心总体资源进行优化,并结合预先设置的虚拟机和物理机间的隶属关系,计算出云平台数据中心中每个物理机的剩余资源;
根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小;
其中,所述虚拟机资源利用信息包括虚拟机的CPU利用率、虚拟机的内存利用率和虚拟机的能量消耗;
其中,所述获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测的具体步骤包括:
步骤S11、将当前检测周期的虚拟机资源利用信息数据封装成多个染色体;
步骤S12、构建初始为空的备选库,以及设置总用时阈值和初始时间为0的计时器;
步骤S13、启动所述计时器计时;
步骤S14、判断所述计时器的当前计时时间是否小于所述总用时阈值;如果是,则执行步骤S15;如果否,则跳转至步骤S19;
步骤S15、随机选择两个染色体作为父染色体并交叉计算得到第一子染色体和第二子染色体,并分别计算出两个所述父染色体、所述第一子染色体及所述第二子染色体各自的适应度;
步骤S16、判断所述第一子染色体的适应度及所述第二子染色体的适应度是否均优于两个所述父染色体的适应度;如果是,则执行步骤S17;如果否,则跳转至步骤S18;
步骤S17、将所述第一子染色体及所述第二子染色体均放入所述备选库中,返回步骤S14;
步骤S18、将两个所述父染色体进行变异计算得到第三子染色体和第四子染色体,并计算出所述第三子染色体的适应度和所述第四子染色体的适应度,且在所述第三子染色体的适应度和所述第四子染色体的适应度均优于两个所述父染色体的适应度时,将所述第三子染色体和所述第四子染色体均放入所述备选库中,返回步骤S14;
步骤S19、从所述备选库中,选择最小适应度的子染色体作为结果输出,即得到所预测的下一检测周期的虚拟机资源利用信息;
其中,通过公式计算得到每一个父染色体的适应度F(t)或每一个子染色体的适应度F(t);
其中,a、b、c均为权重系数,且均为预先设定的固定值;Δt为两次计算之间的单位时间间隔,且为预先设定的固定值;
其中, Cavg为云平台数据中心中n个物理机的CPU平均利用率;Mavg为云平台数据中心中n个物理机的内存平均利用率;E为云平台数据中心中n个物理机的总能耗;αj为布尔量,αj=1为物理机pj处于激活状态;βi,j为布尔量,且βi,j=1为虚拟机vi分配给物理机pj;/>为虚拟机j的CPU利用率;m为虚拟机个数;n为物理机个数;/>为虚拟机vi的CPU利用率;/>为虚拟机j的内存利用率;/>为虚拟机vi的内存利用率;/>为虚拟机j的总能耗;/>为虚拟机vi的总能耗;Emax为云平台数据中心中n个物理机的能耗的最大值;
其中,通过预先设置好的总体优化目标函数对云平台数据中心总体资源进行优化;其中,
所述总体优化目标函数通过公式来表示,其对应的约束条件包括以及0≤Cavg,Cmax,Mavg,Mmax≤1;
其中,Cmax为云平台数据中心中n个物理机的CPU平均利用率的最大值;Mmax为云平台数据中心中n个物理机的内存平均利用率的最大值; 及/>的取值,应根据所预测的下一检测周期的虚拟机资源利用信息对应取值。
2.如权利要求1所述的云平台数据中心资源预测与调度方法,其特征在于,通过公式计算得到每个物理机的剩余资源;其中,dpj为物理机pj的剩余资源。
3.如权利要求1所述的云平台数据中心资源预测与调度方法,其特征在于,所述根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小的具体步骤包括:
步骤S31、对所计算出的每个物理机的剩余资源进行降序排列,得到序列S,并确定升序排列后的每一物理机所隶属的虚拟机资源利用信息;其中,序列S为{S[1]、S[2]、…、S[n]};S[1]为剩余资源最多的物理机,S[n]为剩余资源最少的物理机,n为物理机总数;
步骤S32、设置计数器i=1;
步骤S33、判断i是否小于(1+n)/2;如果是,则执行步骤S34;如果否,则跳转至步骤S37;
步骤S34、根据物理机S[i+n-1]中对应的虚拟机及其资源利用信息,将物理机S[i+n-1]中对应的虚拟机及其资源利用信息分批次迁移到物理机S[i]上,并在物理机S[i+n-1]每一次迁移虚拟机后,分别判断物理机S[i]的剩余资源是否达到饱和;
步骤S35、若物理机S[i]的剩余资源在其中某一批次迁移时达到饱和,则将物理机S[i+n-1]中剩余的虚拟机继续依序向物理机S[i+1]~S[i+n-2]上迁移,直至物理机S[i+n-1]中对应的所有虚拟机迁移完毕为止后,设置i=i+1,返回步骤S33;
步骤S36、若物理机S[i+n-1]中对应的所有虚拟机迁移完毕,且物理机S[i]的剩余资源还未达到饱和,则设置i=i+1,返回步骤S33;
步骤S37、将序列S中拥有虚拟机的物理机作为最终结果输出,即得到云平台数据中心中拥有虚拟机的物理机的总体量最小,且拥有虚拟机的物理机的资源利用率最高。
4.如权利要求3所述的云平台数据中心资源预测与调度方法,其特征在于,所述物理机S[i]的剩余资源是否达到饱和是通过物理机S[i]上的虚拟机的CPU利用率是否达到最大或虚拟机的内存利用率是否达到最大来判断的;其中,
物理机S[i]上的虚拟机的CPU利用率达到最大和/或虚拟机的内存利用率是达到最大,则物理机S[i]的剩余资源达到饱和;反之,则物理机S[i]的剩余资源未达到饱和。
5.一种云平台数据中心资源预测与调度系统,其特征在于,包括:
预测单元,用于获取云平台数据中心当前检测周期的虚拟机资源利用信息,并基于当前检测周期的虚拟机资源利用信息,对云平台数据中心下一检测周期的虚拟机资源利用信息进行预测;
计算单元,用于根据所预测的下一检测周期的虚拟机资源利用信息,对云平台数据中心总体资源进行优化,并结合预先设置的虚拟机和物理机间的隶属关系,计算出云平台数据中心中每个物理机的剩余资源;
分配调度单元,用于根据所计算的每个物理机的剩余资源,对隶属各物理机上的虚拟机进行迁移,以使云平台数据中心中拥有虚拟机的物理机的总体量最小;
其中,所述虚拟机资源利用信息包括虚拟机的CPU利用率、虚拟机的内存利用率和虚拟机的能量消耗;
其中,所述预测单元是执行以下步骤来实现的,具体为:
步骤S11、将当前检测周期的虚拟机资源利用信息数据封装成多个染色体;
步骤S12、构建初始为空的备选库,以及设置总用时阈值和初始时间为0的计时器;
步骤S13、启动所述计时器计时;
步骤S14、判断所述计时器的当前计时时间是否小于所述总用时阈值;如果是,则执行步骤S15;如果否,则跳转至步骤S19;
步骤S15、随机选择两个染色体作为父染色体并交叉计算得到第一子染色体和第二子染色体,并分别计算出两个所述父染色体、所述第一子染色体及所述第二子染色体各自的适应度;
步骤S16、判断所述第一子染色体的适应度及所述第二子染色体的适应度是否均优于两个所述父染色体的适应度;如果是,则执行步骤S17;如果否,则跳转至步骤S18;
步骤S17、将所述第一子染色体及所述第二子染色体均放入所述备选库中,返回步骤S14;
步骤S18、将两个所述父染色体进行变异计算得到第三子染色体和第四子染色体,并计算出所述第三子染色体的适应度和所述第四子染色体的适应度,且在所述第三子染色体的适应度和所述第四子染色体的适应度均优于两个所述父染色体的适应度时,将所述第三子染色体和所述第四子染色体均放入所述备选库中,返回步骤S14;
步骤S19、从所述备选库中,选择最小适应度的子染色体作为结果输出,即得到所预测的下一检测周期的虚拟机资源利用信息;
其中,通过公式计算得到每一个父染色体的适应度F(t)或每一个子染色体的适应度F(t);
其中,a、b、c均为权重系数,且均为预先设定的固定值;Δt为两次计算之间的单位时间间隔,且为预先设定的固定值;
其中, Cavg为云平台数据中心中n个物理机的CPU平均利用率;Mavg为云平台数据中心中n个物理机的内存平均利用率;E为云平台数据中心中n个物理机的总能耗;αj为布尔量,αj=1为物理机pj处于激活状态;βi,j为布尔量,且βi,j=1为虚拟机vi分配给物理机pj;/>为虚拟机j的CPU利用率;m为虚拟机个数;n为物理机个数;/>为虚拟机vi的CPU利用率;/>为虚拟机j的内存利用率;/>为虚拟机vi的内存利用率;/>为虚拟机j的总能耗;/>为虚拟机vi的总能耗;Emax为云平台数据中心中n个物理机的能耗的最大值;
其中,通过预先设置好的总体优化目标函数对云平台数据中心总体资源进行优化;其中,
所述总体优化目标函数通过公式来表示,其对应的约束条件包括以及0≤Cavg,Cmax,Mavg,Mmax≤1;
其中,Cmax为云平台数据中心中n个物理机的CPU平均利用率的最大值;Mmax为云平台数据中心中n个物理机的内存平均利用率的最大值; 及/>的取值,应根据所预测的下一检测周期的虚拟机资源利用信息对应取值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011188089.0A CN112256402B (zh) | 2020-10-30 | 2020-10-30 | 一种云平台数据中心资源预测与调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011188089.0A CN112256402B (zh) | 2020-10-30 | 2020-10-30 | 一种云平台数据中心资源预测与调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256402A CN112256402A (zh) | 2021-01-22 |
CN112256402B true CN112256402B (zh) | 2024-03-29 |
Family
ID=74269055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011188089.0A Active CN112256402B (zh) | 2020-10-30 | 2020-10-30 | 一种云平台数据中心资源预测与调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256402B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799783B (zh) * | 2021-01-29 | 2023-11-03 | 桂林电子科技大学 | 一种云平台资源碎片优化的虚拟机放置方法及系统 |
CN113127205B (zh) * | 2021-04-30 | 2022-05-17 | 东北大学秦皇岛分校 | 一种云中满足截止时间约束且优化成本的工作流调度方法 |
CN113673837A (zh) * | 2021-07-29 | 2021-11-19 | 深圳先进技术研究院 | 一种云数据中心减碳排方法、系统、终端以及存储介质 |
CN116643893B (zh) * | 2023-07-27 | 2023-10-20 | 合肥中科类脑智能技术有限公司 | 算力任务的调度方法、调度装置、存储介质及服务器 |
CN117407143A (zh) * | 2023-10-27 | 2024-01-16 | 北京德仕美通电子有限公司 | 一种基于云计算的数据中心管理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657215A (zh) * | 2013-11-19 | 2015-05-27 | 南京鼎盟科技有限公司 | 云计算中虚拟化节能系统 |
CN104811491A (zh) * | 2015-04-17 | 2015-07-29 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5767480B2 (ja) * | 2011-01-31 | 2015-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体 |
-
2020
- 2020-10-30 CN CN202011188089.0A patent/CN112256402B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657215A (zh) * | 2013-11-19 | 2015-05-27 | 南京鼎盟科技有限公司 | 云计算中虚拟化节能系统 |
CN104811491A (zh) * | 2015-04-17 | 2015-07-29 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
WO2016165392A1 (zh) * | 2015-04-17 | 2016-10-20 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112256402A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256402B (zh) | 一种云平台数据中心资源预测与调度方法及系统 | |
Wu et al. | Energy and migration cost-aware dynamic virtual machine consolidation in heterogeneous cloud datacenters | |
CN110858161B (zh) | 资源分配方法、装置、系统、设备和介质 | |
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
CN110413389B (zh) | 一种资源不均衡Spark环境下的任务调度优化方法 | |
US20210034407A1 (en) | Virtual Machine Scheduling Method and Apparatus | |
CN108845874B (zh) | 资源的动态分配方法及服务器 | |
CN103916438B (zh) | 基于负载预测的云测试环境调度方法及其系统 | |
CN105491150A (zh) | 基于时间序列的负载均衡处理方法及系统 | |
CN115629865B (zh) | 一种基于边缘计算的深度学习推理任务调度方法 | |
CN111176784A (zh) | 一种基于极限学习机和蚁群系统的虚拟机整合方法 | |
Chen et al. | Maximization of value of service for mobile collaborative computing through situation-aware task offloading | |
CN117349026B (zh) | 一种用于aigc模型训练的分布式算力调度系统 | |
CN112637286B (zh) | 网络架构调整方法、装置、系统和计算机可读存储介质 | |
CN107155215B (zh) | 一种应用归属服务集群的分配方法和装置 | |
Guo | Ant colony optimization computing resource allocation algorithm based on cloud computing environment | |
CN112286623A (zh) | 一种信息处理方法及装置、存储介质 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
CN114035940A (zh) | 资源分配方法以及装置 | |
CN115421885A (zh) | 一种分布式多目标云任务的调度方法、装置及云服务系统 | |
CN111506394B (zh) | 一种Docker Swarm容器调度方法及调度系统 | |
CN113191534A (zh) | 物流资源分配方法、装置、设备及存储介质 | |
CN113075995A (zh) | 基于混合群智能的虚拟机节能整合方法、系统和存储介质 | |
Lu et al. | NPIY: A novel partitioner for improving mapreduce performance | |
Li et al. | Multi-resource collaborative optimization for adaptive virtual machine placement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |