H04L12/803 H04L12/863 H04L12/851 H04L29/08
1.一种基于队列的异构资源多目标调度策略,包括以下步骤:
a.利用HPAC算法处理任务分配
数据中心的资源调度一般分为任务分配与任务调度两个阶段,在任务分配阶段,本发明利用提出的HPAC算法将用户提交的云任务分配到指定PM,HPAC的主要思想是:根据PM的计算能力(由能力因子决定)将任务相对均匀的分配到各个PM,以期达到各个PM的负载均衡。
1)考虑资源异构性,计算数据中心各个PM的能力因子α。首先,在所有PM中选择配置最小的一个PM,索引为j,将PM j的α设置为1,利用以下公式计算其他PM的能力因子。
其中,K为资源种类,C ik为PM i的k资源数量。
2)对于t时刻到达的任务集合W(t),依次处理W(t)中的第m类任务(m=1,2,3...,M,假定有M种任务)。若第一次处理m类任务,则随机选择一个PM i,将t时刻所有的m类任务分配到PM i(每一个PM拥有m个队列,分别缓存第m类任务),并保存i *=i;若已处理过m类任务,则首先随机选择一个PM i,然后利用以下公式进行PM选择,将选择的结果保存到i *。
其中, 表示m队列的长度,即PM i中m类任务的等待数量,W(t)表示t时刻到达的任务集合。
b.利用MIUS算法处理任务调度
在任务调度阶段,本发明利用提出的MIUS算法进行VM的选择、创建并执行任务。随着各个PM的运行,PM的剩余资源是动态变化的,因此,需要首先确定PM能够容纳任务的种类与数量(由可用配置集决定)。接着,根据队列中等待任务的情况(由各个队列的长度 m=1,2,...,M决定)与各个任务对利用率的影响(由影响因子决定)选择最终的VM配置 并根据 创建VM并执行任务。
1)随着PM执行任务,PM的可用资源是变化的。利用当前PM的可用资源可以计算出PM当前的可用配置集Λ(t)。
其中,a mk表示任务m对资源k的需求量,C ik表示PM i中k资源数量,N m表示m类任务可放入的数量。例如,某数据中心有1个PM,该PM的CPU与内存配置分别为3GHz,3GB,假设任务有两种:一种需要CPU与内存为1GHz,1GB,另一种需要2GHz,2GB。则利用以上公式可以计算出该PM的当前可用配置集Λ(t)={(1,1),(1,0),(2,0),(3,0),(0,1)}。
2)计算任务对利用率的影响因子,其中u mi表示PM i中m类任务对资源利用率的影响。
3)一个PM拥有m个队列,分别缓存第m类任务,利用以下公式可以计算当前时刻最佳的配置
4)按照最佳配置 创建虚拟机,执行任务。
本发明属于云计算IaaS领域,具体涉及一种在异构云数据中心进行资源调度的策略。
云计算IaaS层的资源调度是实现云计算应用的关键技术,云数据中心由大量的异构服务器(PM)组成,普遍存在异构性,包括资源异构、任务异构以及虚拟机异构,异构性会直接影响调度策略的性能,从而影响整个云数据中心的服务质量。因此,针对异构性进行研究与调度能够更合理地利用资源,保证云提供商的利益。
多目标调度是在一种资源调度策略中同时实现多个目标值,利用多目标优化的思想解决资源调度问题。早期的策略主要为分解多目标优化,其思想核心是将多目标问题转化为单目标问题,普遍采用线性加权求和方法。但是,这种方法严重受制于权值的设置与目标给定的次序,同时,公共函数与限制条件可能是不可微或非线性的,这也给线性加权求解的思路加大了难度。
当前的多目标调度策略主要集中于同构资源的研究,虽然近年来陆续有学者开始对异构资源下的多目标调度进行研究,但这方面研究仍处于起步阶段,提出的相关策略存在资源利用率低、能耗高等问题。因此,需要有一个有效的策略针对云数据中心的异构性进行合理的资源调度。
为了解决上述问题,本发明公开了一种基于队列的异构资源多目标调度策略,针对云数据中心资源异构的特点,本文借助分层优化多目标的思想处理资源利用率、QoS、负载均衡以及能耗等多目标。在保证服务质量(QoS)与能耗的情况下,提高资源利用率,并实现一定的负载均衡。本发明的目的是通过以下技术方案实现的:
a.利用HPAC算法处理任务分配
数据中心的资源调度一般分为任务分配与任务调度两个阶段,在任务分配阶段,本发明利用提出的HPAC算法将用户提交的云任务分配到指定PM,HPAC的主要思想是:根据PM的计算能力(由能力因子决定)将任务相对均匀的分配到各个PM,以期达到各个PM的负载均衡。
1)计算PM能力因子。考虑资源异构性,计算数据中心各个PM的能力因子α。首先,在所有PM中选择配置最小的一个PM,索引为j,将PMj的α设置为1,利用以下公式计算其他PM的能力因子。
其中,K为资源种类,Cik为PMi的k资源数量。
2)分配任务到PM。对于t时刻到达的任务集合W(t),依次处理W(t)中的第m类任务(m=1,2,3...,M,假定有M种任务)。若第一次处理m类任务,则随机选择一个PMi,将t时刻所有的m类任务分配到PMi(每一个PM拥有m个队列,分别缓存第m类任务),并保存i*=i;若已处理过m类任务,则首先随机选择一个PMi,然后利用以下公式进行PM选择,将选择的结果保存到i*。
其中,表示m队列的长度,即PMi中m类任务的等待数量,W(t)表示t时刻到达的任务集合。例如,0时刻到达的任务有5种,分别的数量为1,2,3,4,5,则W(0)=(1,2,3,4,5)。
b.利用MIUS算法处理任务调度
在任务调度阶段,本发明利用提出的MIUS算法进行VM的选择、创建并执行任务。随着各个PM的运行,PM的剩余资源是动态变化的,因此,需要首先确定PM能够容纳任务的种类与数量(由可用配置集决定)。接着,根据队列中等待任务的情况(由各个队列的长度决定)与各个任务对利用率的影响(由影响因子决定)选择最终的VM配置并根据创建VM并执行任务。
1)计算可用配置集。随着PM执行任务,PM的可用资源是变化的。利用当前PM的可用资源可以计算出PM当前的可用配置集Λ(t)。
其中,amk表示任务m对资源k的需求量,Cik表示PMi中k资源数量,Nm表示m类任务可放入的数量。例如,某数据中心有1个PM,该PM的CPU与内存配置分别为3GHz,3GB,假设任务有两种:一种需要CPU与内存为1GHz,1GB,另一种需要2GHz,2GB。则利用以上公式可以计算出该PM的当前可用配置集Λ(t)={(1,1),(1,0),(2,0),(3,0),(0,1)}。
2)计算任务对利用率的影响因子。umi表示PMi中m类任务对资源利用率的影响,umi越大,表示m任务对利用率的提高越快。
3)选择最佳配置。在本发明中,每一个PM拥有m个队列,分别缓存第m类任务。利用以下公式可以计算当前时刻最佳的配置
4)按照最佳配置创建虚拟机,执行任务。
本发明的有益效果如下:
本发明通过HPAC算法保证数据中心各个PM之间的负载均衡,通过MIUS算法保证任务的QoS,同时最大化PM的资源利用率,以此提高整个数据中心的资源利用率。并且,通过CloudSim仿真实验,验证了本发明能够降低云数据中心的能耗。
图1本发明策略流程示意图。
图2数据中心配置示意图。
图3初始数据中心示意图。
图4HPAC算法完成任务分配示意图。
图5MIUS算法完成任务调度示意图。
附图1是本发明的策略流程示意图。
附图2由两个表组成,分别表示数据中心的PM配置以及VM类型。
下面结合附图3、4、5,具体说明本发明的实施方式。
附图3是数据中心示意图,此时,W(t)=(2,2,2),即产生了6个任务。
1)根据PM配置按照公式(1)计算PM能力因子,由于附图2已包含各个PM的能力因子,可省略。
2)新任务W(t)到达后,中央调度器(Central Scheduler)根据HPAC算法进行3种任务的分配。首先考虑任务1,假设i*=1,并假设随机选中了PM2,根据公式(2)可知,i*=1,即选择PM1作为任务1的PM,如附图4所示。任务2与任务3的处理与任务1类似,不再赘述。
3)在各个PM中,任务的处理以MIUS算法进行。仅考虑PM1,由于已有任务在PM1中执行,
因此,需要更新PM1的可行配置集Λ(t),根据公式(3)可知,PM1的可用配置集为
Λ(t)={(3,0,0),(2,1,0),(1,0,1),(0,2,0)}
4)根据公式(4)计算三种VM分别对PM1资源利用率的影响因子,可得
u11=0.25,u21=0.375,u31=0.375
5)根据队列情况,利用公式(5)可知,
6)按照的值进行VM创建,如附图5所示。
本文发布于:2024-09-22 22:30:12,感谢您对本站的认可!
本文链接:https://www.17tex.com/tex/1/72737.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |