CN105468452A - 一种资源池的分配方法及资源调度器 - Google Patents
一种资源池的分配方法及资源调度器 Download PDFInfo
- Publication number
- CN105468452A CN105468452A CN201410450080.0A CN201410450080A CN105468452A CN 105468452 A CN105468452 A CN 105468452A CN 201410450080 A CN201410450080 A CN 201410450080A CN 105468452 A CN105468452 A CN 105468452A
- Authority
- CN
- China
- Prior art keywords
- resource pool
- particle
- resource
- optimum
- application task
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种资源池的分配方法及资源调度器,该方法包括:将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将该应用任务的多个子任务划分为一个或多个集合;建立目标函数,该目标函数为各所述集合利用分配到的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为该应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配方案;按照求解得到的资源池分配方案进行分配。本发明通过建立目标函数,利用粒子群算法对云环境中异构资源池分配管理进行优化改进,能够快速且高效地为云计算应用任务选择最优的资源池分配方案。
Description
技术领域
本发明涉及通信领域,具体涉及一种资源池的分配方法及资源调度器。
背景技术
目前云计算环境中,业务通常只在某个云计算资源池中完成,相比于传统的串行事务处理模式,提出了异构云计算基础设施即服务(InfrastructureasaService,简称IaaS)资源池,即将异构的私有云和公有云组合起来作为一个大的资源池供云计算资源调度器调度。在异构云计算IaaS资源池中,应用程序和服务可以被分解为更小的组件,称为子任务。如图1所示,一个应用被划分为8个子任务,一个应用程序的子任务工作的逻辑顺序被称为工作流,它通常是由一个有向非循环图表示。一个节点代表一个子任务,而弧线表示他们的数据依赖关系。每个节点工作完成后,根据依赖关系到下一个节点执行相应的工作。云计算资源调度器负责,将多个子任务分配到一个或多个云计算资源池(包括私有云和公有云)中执行,以保证工作流在满足服务质量的执行时间内完成。云计算资源调度器与多个云计算资源池(包括私有云和公有云)自动交互,收集有关资源信息和各个资源池的性能参数,存储在云调度器中,用户提交工作流程后,云计算资源调度器运行调度算法来启动决策过程。
例如,处理大量图像的应用程序可以通过不同的工作分解成较小的子任务,并行处理。由于多个子任务之间具有相互依赖性,并且每个IaaS资源池的计算能力和带宽能力都不同,因此,为各个子任务选择不同的资源池存在有多种备选的分配方案,不同的分配方案可能会带来不同的性能/处理能力,而目前缺乏一种为一个应用程序选择最佳的资源池组合成的方案。
发明内容
本发明需要解决的技术问题是提供一种资源池的分配方法及资源调度器,快速且高效地为云计算应用任务选择最优的资源池分配方案。
为了解决上述技术问题,本发明提供了一种资源池的分配方法,包括:
将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将所述应用任务的多个子任务划分为一个或多个集合;
建立目标函数,所述目标函数为各所述集合利用分配到的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;
为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配方案;
按照求解得到的资源池分配方案进行分配。
进一步地,所述方法还包括:设置资源池分配约束条件,包括以下的一种或多种:代价、时延和可靠性;
在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,所述方法还包括:
从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案。
进一步地,所述从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案,包括:
计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠性,当不满足以下任一条件时筛除掉该资源分配方案:
所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值;
所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值;
所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈值。
进一步地,所述利用粒子群算法求解使所述目标函数值最小的资源池分配方案,包括:
第1步:对粒子的位置和速度进行随机初始化,并且将粒子的个体最优设为当前位置,将粒子的群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为0;
其中,所述应用任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位置;
第2步:计算每个粒子的适应值,所述应用任务的一个资源分配方案计算得到的目标函数值代表所述粒子群算法中每个粒子的适应值;
第3步:对于每个粒子,将其适应值与个体最优的适应值进行比较,如果粒子当前的适应值比其个体最优的适应值要好,则其个体最优被当前位置所替代;
第4步:若该粒子的个体最优的适应值比群体最优的适应值要好,则群体最优被该粒子的个体最优所替代,将该粒子的个体最优作为本次迭代的群体最优;
第5步:对每个粒子,根据粒子群速度更新公式和粒子群位置更新公式对粒子的速度和位置进行更新;
第6步:进化迭代次数加1,如果所述进化迭代次数没有达到预定的结束条件,则转至第2步。否则,取当前群体最优输出,并结束。
为了解决上述技术问题,本发明还提供了一种资源调度器,包括:
划分模块,用于将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将所述应用任务的多个子任务划分为一个或多个集合;
目标函数建立模块,用于建立目标函数,所述目标函数为各所述集合利用分配到的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;
求解模块,用于为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配方案;
资源池分配模块,用于按照求解得到的资源池分配方案进行分配。
进一步地,所述求解模块,还用于设置资源池分配约束条件,包括以下的一种或多种:代价、时延和可靠性;
还用于在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案。
进一步地,所述求解模块,用于从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案,包括:
计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠性,当不满足以下任一条件时筛除掉该资源分配方案:
所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值;
所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值;
所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈值。
进一步地,所述求解模块,用于利用粒子群算法求解使所述目标函数值最小的资源池分配方案,包括:
对粒子的位置和速度进行随机初始化,并且将粒子的个体最优设为当前位置,将粒子的群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为0;其中,所述应用任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位置;
计算每个粒子的适应值,所述应用任务的一个资源分配方案计算得到的目标函数值代表所述粒子群算法中每个粒子的适应值;
对于每个粒子,将其适应值与个体最优的适应值进行比较,如果粒子当前的适应值比其个体最优的适应值要好,则其个体最优被当前位置所替代;
若该粒子的个体最优的适应值比群体最优的适应值要好,则群体最优被该粒子的个体最优所替代,将该粒子的个体最优作为本次迭代的群体最优;
对每个粒子,根据粒子群速度更新公式和粒子群位置更新公式对粒子的速度和位置进行更新;
进化迭代次数加1,如果所述进化迭代次数没有达到预定的结束条件,则转至计算每个粒子的适应值的步骤;否则,取当前群体最优输出。
与现有技术相比,本发明提供的资源池的分配方法及资源调度器,通过建立目标函数,利用粒子群算法对云环境中异构资源池分配管理进行优化改进,能够快速且高效地为云计算应用任务选择最优的资源池分配方案。
附图说明
图1是现有技术中云计算资源调度器为应用任务分配资源池的原理图;
图2是实施例中资源池的分配方法流程图;
图3是一个应用示例中资源池的分配方法流程示意图;
图4是实施例中资源调度器的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例:
如图2所示,本实施例提供了一种资源池的分配方法,包括以下步骤:
S101:将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将所述应用任务的多个子任务划分为一个或多个集合;
依赖关系是指任务之间执行时的前驱、后继关系和并发执行等关系。可以将串行的子任务划分一个集合,将并行的子任务划分为不同的集合。例如,如图3所示,将一个应用任务划分为8个子任务,这8个子任务工作的逻辑顺序如图3中的有向非循环图所示,其中,子任务1、2串行工作,构成集合1,子任务3、4、5串行工作构成集合2,子任务6、7串行工作构成集合3,子任务8构成集合4,集合2、3并行工作。每个集合可以部署在多个可选择的资源池中,由此存在多个备选方案。
S102:建立目标函数,所述目标函数为各所述集合利用分配到的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;
其中,计算能力通常指占用资源池CPU的比例,带宽资源指占用资源池带宽资源的比例。
S103:为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配方案;
S104:按照求解得到的资源池分配方案进行分配。
在一个应用示例中,假设有m个集合,n个可选资源池,计算某一集合分配到某一个资源池占用该资源池的计算能力和带宽资源为:fn(xm)=α×Comp(xm)+β×Bandw(xm),其中,x表示某一集合,f表示某一资源池,Comp(x)表示资源池的计算能力,Bandw(x)表示资源池的带宽资源,α和β是权重因子,用来调节Comp(x)和Bandw(x)的相对重要性。所述目标函数可以用下面这个公式表示:
Zr=∑fn(xm)
其中,fn(xm)表示某一集合m选择某一资源池n,占用该资源池的计算能力和带宽资源。Zr表示所述应用任务的一个资源池分配方案占用资源池的总计算能力和总带宽资源。
所述方法还包括:设置资源池分配约束条件,包括以下的一种或多种:代价、时延和可靠性;
在步骤S103中,在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,所述方法还包括:
从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案。
其中,所述从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案,包括:
计算所述应用任务的一个资源分配方案占用资源池的总代价C(r)、总时延D(r)和总可靠性R(r),当不满足以下任一条件时筛除掉该资源分配方案:
所述应用任务的一个资源分配方案占用资源池的总代价C(r)大于预设的代价阈值Co;
所述应用任务的一个资源分配方案占用资源池的总时延D(r)大于预设的时延阈值Do;
所述应用任务的一个资源分配方案占用资源池的总可靠性R(r)小于预设的可靠性阈值Ro。
其中,代价可以是一个子任务使用一个资源池时所需要支付的费用,通常由资源池提供者定义。例如,子任务使用云计算的资源池通常需要付费,即租用资源池的资源。例如,使用亚马逊的EC2服务需要付费。应用任务的一个资源分配方案占用资源池的总代价就是集合占用资源池支付的总费用。时延可以是在资源池中执行任务所需要的时间。对于串行子任务,需将时延依次相加,对于并行任务,则选择并行任务中最长的一个时间相加,最后求得应用任务的一个资源分配方案占用资源池的总时延。
可靠性表示资源池可用时间与总观察时间的比值,总观察时间,例如一周或一个月这样一段时间,对所有资源池进行评估,可用时间是测量一段时间内,资源池无故障的运行时间。每个资源池的总观察时间是相同的,整个任务的可靠性由各个集合可靠性相乘得到。例如,每个集合可靠性是0.5,即50%的概率不可靠,那么任务的可靠性是0.54,即只有4个集合都可靠的时候,整个任务才是可靠的。
本实施例通过设置资源池分配约束条件将资源分配方案的求解范围进一步缩小,进一步提高采用粒子群算法求解最佳资源池分配方案的效率。
在一个应用示例中,如图3所示,将一个应用任务划分为8个子任务,这8个子任务工作的逻辑顺序如图3中的有向非循环图所示,其中,任务1、2串行工作,构成集合1,任务3、4、5串行工作构成集合2,任务6、7串行工作构成集合3,任务8构成集合4,集合2、3并行工作。每个集合可以部署在多个可选择的资源池中,由此存在多个备选方案。
然后,建立目标函数:Zr=∑fn(xm),所述目标函数为各个集合分配到相应的资源池执行任务占用资源池的总计算能力和总带宽资源;
其中,fn(xm)=α×Comp(xm)+β×Bandw(xm),m=1,2,3,4,n为可选资源池的个数,表示某一集合m选择某一资源池,占用该资源池的计算能力和带宽资源。Zr表示所述应用任务的某一个资源池分配方案占用资源池的总计算能力和总带宽资源。Comp(x)表示资源池的计算能力,Bandw(x)表示资源池的带宽资源,α和β是权重因子,用来调节Comp(x)和Bandw(x)的相对重要性。
其中,对于每个集合,将其子任务占用资源池的计算能力和带宽资源求和,例如,对于集合1,其占用某一资源池的计算能力和带宽资源就是子任务1和子任务2占用某一资源池的计算能力和带宽资源的和。
每个集合可以部署在多个可选择的资源池中,由此存在多个备选方案。为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应用任务的一个资源池分配方案;而本实施例的目的就是选出最优的资源池分配方案。
进一步地,可以通过设置资源池分配约束条件,筛除掉不符合所述资源池分配约束条件的资源分配方案。
所述从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案,包括:
计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠性C(r)、D(r)和R(r),当不满足以下任一条件时筛除掉该资源分配方案:
所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值Co;
所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值Do;
所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈值Ro。
其中,对于每个集合,占用某一资源池的时延和代价就是集合中所有子任务占用某一资源池的时延和代价的和;占用某一资源池的可靠性就是集合中所有子任务占用某一资源池的可靠性的乘积;例如,集合1占用某一资源池的时延和代价就是子任务1和子任务2占用某一资源池的时延和代价的和,集合1占用某一资源池的可靠性就是子任务1和子任务2占用某一资源池的可靠性的乘积。
所述应用任务的一个资源分配方案占用资源池的总代价和总时延就是所有集合占用某一资源池的时延和代价的和;需要说明的是,当两个或多个集合是并行拓扑结构时,则选择其中时延较大的一个集合的时延作为这些集合共同的时延,例如,如图3所示,集合2和集合3构成并行拓扑结构,时延是集合2、3的时延最大者,所述应用任务的一个资源分配方案占用资源池的总时延=D1+max(D2,D3)+D4。
其中,Co、Do、Ro由资源调度器根据实际情况设置。
最后,针对目标函数,利用粒子群算法求解。
粒子群算法的流程如下:
第1步:对粒子的位置和速度进行随机初始化,并且将个体的历史最优,即个体最优设为当前位置,将群体中最优的个体位置,即群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为0;
其中,所述应用任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位置,即一个解;
第2步:计算每个粒子的适应值;
所述应用任务的一个资源分配方案计算得到的目标函数值Zr代表所述粒子群算法中每个粒子的适应值。
第3步:对于每个粒子,将其适应值与个体最优的适应值进行比较,如果粒子当前的适应值比其个体最优的适应值要好,则其个体最优被当前位置所替代;
第4步:若该粒子的个体最优的适应值比群体最优的适应值要好,则群体最优被该粒子的个体最优所替代,将该粒子的个体最优作为本次迭代的群体最优;
第5步:对每个粒子,根据粒子群速度更新公式和粒子群位置更新公式对粒子的速度和位置进行更新;
第6步:进化迭代次数加1,如果所述进化迭代次数没有达到预定的结束条件,则转至第2步,否则,取当前群体最优输出,并结束。
其中,结束条件是迭代的次数限制,由使用者根据实际情况设置;
其中,粒子群速度更新公式和粒子群位置更新公式分别为:
上式中,k是迭代次数,是第b个粒子在第i维的位置,其飞行速度为该粒子当前搜索到的最优位置,即粒子的个体最优值为整个粒子群当前搜索到的最优位置,即群体最优为ω是惯性权重,可以通过经验值进行设置和调整;ξ和η是[0,1]之间的随机数,用以保持群体的多样性;c1和c2是学习因子。
如图4所示,本实施例提供了一种资源调度器,包括:
划分模块,用于将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将所述应用任务的多个子任务划分为一个或多个集合;
目标函数建立模块,用于建立目标函数,所述目标函数为各所述集合利用分配到的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;
求解模块,用于为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配方案;
资源池分配模块,用于按照求解得到的资源池分配方案进行分配。
其中,所述求解模块,还用于设置资源池分配约束条件,包括以下的一种或多种:代价、时延和可靠性;
还用于在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案。
其中,所述求解模块,用于从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案,包括:
计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠性,当不满足以下任一条件时筛除掉该资源分配方案:
所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值;
所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值;
所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈值。
其中,所述求解模块,用于利用粒子群算法求解使所述目标函数值最小的资源池分配方案,包括:
对粒子的位置和速度进行随机初始化,并且将粒子的个体最优设为当前位置,将粒子的群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为0;其中,所述应用任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位置;
计算每个粒子的适应值,所述应用任务的一个资源分配方案计算得到的目标函数值代表所述粒子群算法中每个粒子的适应值;
对于每个粒子,将其适应值与个体最优的适应值进行比较,如果粒子当前的适应值比其个体最优的适应值要好,则其个体最优被当前位置所替代;
若该粒子的个体最优的适应值比群体最优的适应值要好,则群体最优被该粒子的个体最优所替代,将该粒子的个体最优作为本次迭代的群体最优;
对每个粒子,根据粒子群速度更新公式和粒子群位置更新公式对粒子的速度和位置进行更新;
进化迭代次数加1,如果所述进化迭代次数没有达到预定的结束条件,则转至计算每个粒子的适应值的步骤;否则,取当前群体最优输出。
从上述实施例可以看出,相对于现有技术,上述实施例中提供的资源池的分配方法及资源调度器,通过建立目标函数,利用粒子群算法对云环境中异构资源池分配管理进行优化改进,能够快速且高效地为云计算应用任务选择最优的资源池分配方案。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的发明内容,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种资源池的分配方法,包括:
将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将所述应用任务的多个子任务划分为一个或多个集合;
建立目标函数,所述目标函数为各所述集合利用分配到的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;
为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配方案;
按照求解得到的资源池分配方案进行分配。
2.如权利要求1所述的方法,其特征在于:
所述方法还包括:设置资源池分配约束条件,包括以下的一种或多种:代价、时延和可靠性;
在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,所述方法还包括:
从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案。
3.如权利要求2所述的方法,其特征在于:
所述从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案,包括:
计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠性,当不满足以下任一条件时筛除掉该资源分配方案:
所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值;
所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值;
所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈值。
4.如权利要求2所述的方法,其特征在于:
所述利用粒子群算法求解使所述目标函数值最小的资源池分配方案,包括:
第1步:对粒子的位置和速度进行随机初始化,并且将粒子的个体最优设为当前位置,将粒子的群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为0;
其中,所述应用任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位置;
第2步:计算每个粒子的适应值,所述应用任务的一个资源分配方案计算得到的目标函数值代表所述粒子群算法中每个粒子的适应值;
第3步:对于每个粒子,将其适应值与个体最优的适应值进行比较,如果粒子当前的适应值比其个体最优的适应值要好,则其个体最优被当前位置所替代;
第4步:若该粒子的个体最优的适应值比群体最优的适应值要好,则群体最优被该粒子的个体最优所替代,将该粒子的个体最优作为本次迭代的群体最优;
第5步:对每个粒子,根据粒子群速度更新公式和粒子群位置更新公式对粒子的速度和位置进行更新;
第6步:进化迭代次数加1,如果所述进化迭代次数没有达到预定的结束条件,则转至第2步;否则,取当前群体最优输出,并结束。
5.一种资源调度器,包括:
划分模块,用于将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将所述应用任务的多个子任务划分为一个或多个集合;
目标函数建立模块,用于建立目标函数,所述目标函数为各所述集合利用分配到的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;
求解模块,用于为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配方案;
资源池分配模块,用于按照求解得到的资源池分配方案进行分配。
6.如权利要求5所述的资源调度器,其特征在于:
所述求解模块,还用于设置资源池分配约束条件,包括以下的一种或多种:代价、时延和可靠性;
还用于在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案。
7.如权利要求6所述的资源调度器,其特征在于:
所述求解模块,用于从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案,包括:
计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠性,当不满足以下任一条件时筛除掉该资源分配方案:
所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值;
所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值;
所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈值。
8.如权利要求6所述的资源调度器,其特征在于:
所述求解模块,用于利用粒子群算法求解使所述目标函数值最小的资源池分配方案,包括:
对粒子的位置和速度进行随机初始化,并且将粒子的个体最优设为当前位置,将粒子的群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为0;其中,所述应用任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位置;
计算每个粒子的适应值,所述应用任务的一个资源分配方案计算得到的目标函数值代表所述粒子群算法中每个粒子的适应值;
对于每个粒子,将其适应值与个体最优的适应值进行比较,如果粒子当前的适应值比其个体最优的适应值要好,则其个体最优被当前位置所替代;
若该粒子的个体最优的适应值比群体最优的适应值要好,则群体最优被该粒子的个体最优所替代,将该粒子的个体最优作为本次迭代的群体最优;
对每个粒子,根据粒子群速度更新公式和粒子群位置更新公式对粒子的速度和位置进行更新;
进化迭代次数加1,如果所述进化迭代次数没有达到预定的结束条件,则转至计算每个粒子的适应值的步骤;否则,取当前群体最优输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410450080.0A CN105468452B (zh) | 2014-09-04 | 2014-09-04 | 一种资源池的分配方法及资源调度器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410450080.0A CN105468452B (zh) | 2014-09-04 | 2014-09-04 | 一种资源池的分配方法及资源调度器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468452A true CN105468452A (zh) | 2016-04-06 |
CN105468452B CN105468452B (zh) | 2019-04-12 |
Family
ID=55606187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410450080.0A Active CN105468452B (zh) | 2014-09-04 | 2014-09-04 | 一种资源池的分配方法及资源调度器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468452B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326188A (zh) * | 2016-08-31 | 2017-01-11 | 中国人民解放军信息工程大学 | 基于反向学习半径粒子群优化的任务划分系统及其方法 |
CN106776003A (zh) * | 2016-11-18 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种系统资源分配方法及装置 |
CN106970836A (zh) * | 2017-03-20 | 2017-07-21 | 联想(北京)有限公司 | 执行任务的方法和系统 |
CN107239337A (zh) * | 2016-03-28 | 2017-10-10 | 北京智梵网络科技有限公司 | 虚拟化资源的分配和调度方法及系统 |
CN109445946A (zh) * | 2018-11-01 | 2019-03-08 | 西北工业大学 | 一种无人机云端任务部署方法及装置 |
CN109710392A (zh) * | 2018-12-21 | 2019-05-03 | 万达信息股份有限公司 | 一种基于混合云的异构资源调度方法 |
CN107450986B (zh) * | 2017-07-27 | 2020-06-19 | 上海介方信息技术有限公司 | 一种基于软件通信体系结构的资源调度方法 |
CN111582531A (zh) * | 2019-02-19 | 2020-08-25 | 顺丰科技有限公司 | 模型创建方法和分配优化方法、装置、设备及存储介质 |
CN113032155A (zh) * | 2021-05-25 | 2021-06-25 | 深圳大学 | 一种时空数据可视化任务驱动的云边端资源协同调度方法 |
US11093281B2 (en) | 2018-03-30 | 2021-08-17 | Nec Corporation | Information processing apparatus, control method, and program to control allocation of computer resources for different types of tasks |
CN113300982A (zh) * | 2020-06-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 资源分配方法、设备、系统及存储介质 |
CN114064259A (zh) * | 2020-08-03 | 2022-02-18 | 北京超星未来科技有限公司 | 一种面向异构计算资源的资源调度方法及装置 |
CN114064258A (zh) * | 2020-08-03 | 2022-02-18 | 北京超星未来科技有限公司 | 一种面向异构计算资源的非实时资源调度方法及装置 |
CN114172963A (zh) * | 2021-10-15 | 2022-03-11 | 合肥工业大学 | 基于资源利用率的多粒度的任务与服务匹配方法和系统 |
CN114217947A (zh) * | 2021-11-04 | 2022-03-22 | 北京百度网讯科技有限公司 | 任务执行方法、装置、电子设备及可读存储介质 |
CN114896063A (zh) * | 2022-05-10 | 2022-08-12 | 中国农业银行股份有限公司 | 一种用于作业链的资源调度方法及装置 |
CN115567537A (zh) * | 2022-09-20 | 2023-01-03 | 中国联合网络通信集团有限公司 | 一种资源的调度方法和设备 |
CN115796523A (zh) * | 2022-11-30 | 2023-03-14 | 北京华如科技股份有限公司 | 一种资源分配方法及装置 |
WO2023077750A1 (zh) * | 2021-11-04 | 2023-05-11 | 苏州浪潮智能科技有限公司 | 异构资源中神经网络计算任务的分配方法、装置和设备 |
CN118095580A (zh) * | 2024-04-29 | 2024-05-28 | 中天科技(清远)有限公司 | 一种机电工程用设备信息化管控系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100333109A1 (en) * | 2009-06-30 | 2010-12-30 | Sap Ag | System and method for ordering tasks with complex interrelationships |
CN102591712A (zh) * | 2011-12-30 | 2012-07-18 | 大连理工大学 | 一种云计算中依赖任务的解耦并行调度方法 |
CN102724220A (zh) * | 2011-03-29 | 2012-10-10 | 无锡物联网产业研究院 | 任务协同方法、装置及物联网系统 |
CN103679564A (zh) * | 2013-12-26 | 2014-03-26 | 国家电网公司 | 一种用于配电网拓扑分析分布式计算的任务分配方法 |
CN103699446A (zh) * | 2013-12-31 | 2014-04-02 | 南京信息工程大学 | 基于量子粒子群优化算法的多目标工作流动态调度方法 |
-
2014
- 2014-09-04 CN CN201410450080.0A patent/CN105468452B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100333109A1 (en) * | 2009-06-30 | 2010-12-30 | Sap Ag | System and method for ordering tasks with complex interrelationships |
CN102724220A (zh) * | 2011-03-29 | 2012-10-10 | 无锡物联网产业研究院 | 任务协同方法、装置及物联网系统 |
CN102591712A (zh) * | 2011-12-30 | 2012-07-18 | 大连理工大学 | 一种云计算中依赖任务的解耦并行调度方法 |
CN103679564A (zh) * | 2013-12-26 | 2014-03-26 | 国家电网公司 | 一种用于配电网拓扑分析分布式计算的任务分配方法 |
CN103699446A (zh) * | 2013-12-31 | 2014-04-02 | 南京信息工程大学 | 基于量子粒子群优化算法的多目标工作流动态调度方法 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239337A (zh) * | 2016-03-28 | 2017-10-10 | 北京智梵网络科技有限公司 | 虚拟化资源的分配和调度方法及系统 |
CN106326188A (zh) * | 2016-08-31 | 2017-01-11 | 中国人民解放军信息工程大学 | 基于反向学习半径粒子群优化的任务划分系统及其方法 |
CN106326188B (zh) * | 2016-08-31 | 2019-05-07 | 中国人民解放军信息工程大学 | 基于反向学习半径粒子群优化的任务划分系统及其方法 |
CN106776003A (zh) * | 2016-11-18 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种系统资源分配方法及装置 |
CN106970836A (zh) * | 2017-03-20 | 2017-07-21 | 联想(北京)有限公司 | 执行任务的方法和系统 |
CN107450986B (zh) * | 2017-07-27 | 2020-06-19 | 上海介方信息技术有限公司 | 一种基于软件通信体系结构的资源调度方法 |
US11093281B2 (en) | 2018-03-30 | 2021-08-17 | Nec Corporation | Information processing apparatus, control method, and program to control allocation of computer resources for different types of tasks |
CN109445946A (zh) * | 2018-11-01 | 2019-03-08 | 西北工业大学 | 一种无人机云端任务部署方法及装置 |
CN109445946B (zh) * | 2018-11-01 | 2023-03-31 | 西北工业大学 | 一种无人机云端任务部署方法及装置 |
CN109710392A (zh) * | 2018-12-21 | 2019-05-03 | 万达信息股份有限公司 | 一种基于混合云的异构资源调度方法 |
CN109710392B (zh) * | 2018-12-21 | 2023-08-01 | 万达信息股份有限公司 | 一种基于混合云的异构资源调度方法 |
CN111582531A (zh) * | 2019-02-19 | 2020-08-25 | 顺丰科技有限公司 | 模型创建方法和分配优化方法、装置、设备及存储介质 |
CN113300982A (zh) * | 2020-06-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 资源分配方法、设备、系统及存储介质 |
CN113300982B (zh) * | 2020-06-08 | 2022-08-23 | 阿里巴巴集团控股有限公司 | 资源分配方法、设备、系统及存储介质 |
CN114064259A (zh) * | 2020-08-03 | 2022-02-18 | 北京超星未来科技有限公司 | 一种面向异构计算资源的资源调度方法及装置 |
CN114064258A (zh) * | 2020-08-03 | 2022-02-18 | 北京超星未来科技有限公司 | 一种面向异构计算资源的非实时资源调度方法及装置 |
CN114064259B (zh) * | 2020-08-03 | 2024-06-14 | 北京超星未来科技有限公司 | 一种面向异构计算资源的资源调度方法及装置 |
CN113032155A (zh) * | 2021-05-25 | 2021-06-25 | 深圳大学 | 一种时空数据可视化任务驱动的云边端资源协同调度方法 |
CN114172963A (zh) * | 2021-10-15 | 2022-03-11 | 合肥工业大学 | 基于资源利用率的多粒度的任务与服务匹配方法和系统 |
CN114172963B (zh) * | 2021-10-15 | 2023-07-28 | 合肥工业大学 | 基于资源利用率的多粒度的任务与服务匹配方法和系统 |
WO2023077750A1 (zh) * | 2021-11-04 | 2023-05-11 | 苏州浪潮智能科技有限公司 | 异构资源中神经网络计算任务的分配方法、装置和设备 |
CN114217947A (zh) * | 2021-11-04 | 2022-03-22 | 北京百度网讯科技有限公司 | 任务执行方法、装置、电子设备及可读存储介质 |
CN114896063A (zh) * | 2022-05-10 | 2022-08-12 | 中国农业银行股份有限公司 | 一种用于作业链的资源调度方法及装置 |
CN115567537A (zh) * | 2022-09-20 | 2023-01-03 | 中国联合网络通信集团有限公司 | 一种资源的调度方法和设备 |
CN115567537B (zh) * | 2022-09-20 | 2024-06-21 | 中国联合网络通信集团有限公司 | 一种资源的调度方法和设备 |
CN115796523A (zh) * | 2022-11-30 | 2023-03-14 | 北京华如科技股份有限公司 | 一种资源分配方法及装置 |
CN115796523B (zh) * | 2022-11-30 | 2023-07-18 | 北京华如科技股份有限公司 | 一种资源分配方法及装置 |
CN118095580A (zh) * | 2024-04-29 | 2024-05-28 | 中天科技(清远)有限公司 | 一种机电工程用设备信息化管控系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105468452B (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468452A (zh) | 一种资源池的分配方法及资源调度器 | |
Izakian et al. | Comparison of heuristics for scheduling independent tasks on heterogeneous distributed environments | |
CN108337109B (zh) | 一种资源分配方法及装置和资源分配系统 | |
Fard et al. | A multi-objective approach for workflow scheduling in heterogeneous environments | |
EP3015981B1 (en) | Networked resource provisioning system | |
Yu et al. | Workflow scheduling algorithms for grid computing | |
Ghafarian et al. | Cloud-aware data intensive workflow scheduling on volunteer computing systems | |
Kaur et al. | A systematic review on task scheduling in Fog computing: Taxonomy, tools, challenges, and future directions | |
CN104239154B (zh) | 一种Hadoop集群中的作业调度方法和作业调度器 | |
CN104580396A (zh) | 一种任务调度方法、节点及系统 | |
CN110362392A (zh) | 一种etl任务调度方法、系统、设备及存储介质 | |
CN111813500B (zh) | 一种多目标云工作流调度方法及装置 | |
CN106650993B (zh) | 一种基于马尔科夫决策过程的动态资源优化方法 | |
Biswas et al. | Multi-level queue for task scheduling in heterogeneous distributed computing system | |
US10261833B2 (en) | Scheduling tasks to resources for a network using fuzzy logic | |
CN115983559A (zh) | 项目资源调度方法、装置、设备及存储介质 | |
Garg et al. | Multi-objective workflow grid scheduling based on discrete particle swarm optimization | |
Garg et al. | Multi-objective optimization to workflow grid scheduling using reference point based evolutionary algorithm | |
Deniziak et al. | Cost optimization of real-time cloud applications using developmental genetic programming | |
CN106802822A (zh) | 一种基于飞蛾算法的云数据中心认知资源调度方法 | |
Ananth et al. | Cooperative game theoretic approach for job scheduling in cloud computing | |
Ramezani et al. | Task scheduling in cloud environments: A survey of population‐based evolutionary algorithms | |
Fan et al. | Associated task scheduling based on dynamic finish time prediction for cloud computing | |
Noormohammadpour et al. | Rcd: Rapid close to deadline scheduling for datacenter networks | |
Quarati et al. | Moea-based brokering for hybrid clouds |
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 |