一种资源池的分配方法及资源调度器的制造方法

文档序号:9708156阅读:525来源:国知局
一种资源池的分配方法及资源调度器的制造方法
【技术领域】
[0001] 本发明涉及通信领域,具体涉及一种资源池的分配方法及资源调度器。
【背景技术】
[0002] 目前云计算环境中,业务通常只在某个云计算资源池中完成,相比于传统的串行 事务处理模式,提出了异构云计算基础设施即服务(Infrastructure as a Service,简称 IaaS)资源池,即将异构的私有云和公有云组合起来作为一个大的资源池供云计算资源调 度器调度。在异构云计算IaaS资源池中,应用程序和服务可以被分解为更小的组件,称为 子任务。如图1所示,一个应用被划分为8个子任务,一个应用程序的子任务工作的逻辑顺 序被称为工作流,它通常是由一个有向非循环图表示。一个节点代表一个子任务,而弧线表 示他们的数据依赖关系。每个节点工作完成后,根据依赖关系到下一个节点执行相应的工 作。云计算资源调度器负责,将多个子任务分配到一个或多个云计算资源池(包括私有云 和公有云)中执行,以保证工作流在满足服务质量的执行时间内完成。云计算资源调度器 与多个云计算资源池(包括私有云和公有云)自动交互,收集有关资源信息和各个资源池 的性能参数,存储在云调度器中,用户提交工作流程后,云计算资源调度器运行调度算法来 启动决策过程。
[0003] 例如,处理大量图像的应用程序可以通过不同的工作分解成较小的子任务,并行 处理。由于多个子任务之间具有相互依赖性,并且每个IaaS资源池的计算能力和带宽能力 都不同,因此,为各个子任务选择不同的资源池存在有多种备选的分配方案,不同的分配方 案可能会带来不同的性能/处理能力,而目前缺乏一种为一个应用程序选择最佳的资源池 组合成的方案。

【发明内容】

[0004] 本发明需要解决的技术问题是提供一种资源池的分配方法及资源调度器,快速且 高效地为云计算应用任务选择最优的资源池分配方案。
[0005] 为了解决上述技术问题,本发明提供了一种资源池的分配方法,包括:
[0006] 将一个应用任务划分为多个子任务;根据子任务之间的依赖关系,将所述应用任 务的多个子任务划分为一个或多个集合;
[0007] 建立目标函数,所述目标函数为各所述集合利用分配到的资源池执行任务时,所 占用资源池的计算能力之和,及带宽资源之和;
[0008] 为一个应用任务的各个集合从多个可选资源池中选择相应的资源池,作为所述应 用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最小的资源池分配 方案;
[0009] 按照求解得到的资源池分配方案进行分配。
[0010] 进一步地,所述方法还包括:设置资源池分配约束条件,包括以下的一种或多种: 代价、时延和可靠性; toon] 在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,所述方法 还包括:
[0012] 从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方 案。
[0013] 进一步地,所述从多个资源池分配方案中筛除掉不符合所述资源池分配约束条件 的资源分配方案,包括:
[0014] 计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠 性,当不满足以下任一条件时筛除掉该资源分配方案:
[0015] 所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值;
[0016] 所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值;
[0017] 所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈 值。
[0018] 进一步地,所述利用粒子群算法求解使所述目标函数值最小的资源池分配方案, 包括:
[0019] 第1步:对粒子的位置和速度进行随机初始化,并且将粒子的个体最优设为当前 位置,将粒子的群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为〇 ;
[0020] 其中,所述应用任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位 置;
[0021] 第2步:计算每个粒子的适应值,所述应用任务的一个资源分配方案计算得到的 目标函数值代表所述粒子群算法中每个粒子的适应值;
[0022] 第3步:对于每个粒子,将其适应值与个体最优的适应值进行比较,如果粒子当前 的适应值比其个体最优的适应值要好,则其个体最优被当前位置所替代;
[0023] 第4步:若该粒子的个体最优的适应值比群体最优的适应值要好,则群体最优被 该粒子的个体最优所替代,将该粒子的个体最优作为本次迭代的群体最优;
[0024] 第5步:对每个粒子,根据粒子群速度更新公式和粒子群位置更新公式对粒子的 速度和位置进行更新;
[0025] 第6步:进化迭代次数加1,如果所述进化迭代次数没有达到预定的结束条件,则 转至第2步。否则,取当前群体最优输出,并结束。
[0026] 为了解决上述技术问题,本发明还提供了一种资源调度器,包括:
[0027] 划分模块,用于将一个应用任务划分为多个子任务;根据子任务之间的依赖关系, 将所述应用任务的多个子任务划分为一个或多个集合;
[0028] 目标函数建立模块,用于建立目标函数,所述目标函数为各所述集合利用分配到 的资源池执行任务时,所占用资源池的计算能力之和,及带宽资源之和;
[0029] 求解模块,用于为一个应用任务的各个集合从多个可选资源池中选择相应的资源 池,作为所述应用任务的一个资源池分配方案;利用粒子群算法求解使所述目标函数值最 小的资源池分配方案;
[0030] 资源池分配模块,用于按照求解得到的资源池分配方案进行分配。
[0031] 进一步地,所述求解模块,还用于设置资源池分配约束条件,包括以下的一种或多 种:代价、时延和可靠性;
[0032] 还用于在利用粒子群算法求解使所述目标函数值最小的资源池分配方案之前,从 多个资源池分配方案中筛除掉不符合所述资源池分配约束条件的资源分配方案。
[0033] 进一步地,所述求解模块,用于从多个资源池分配方案中筛除掉不符合所述资源 池分配约束条件的资源分配方案,包括 :
[0034] 计算所述应用任务的一个资源分配方案占用资源池的总代价、总时延和总可靠 性,当不满足以下任一条件时筛除掉该资源分配方案:
[0035] 所述应用任务的一个资源分配方案占用资源池的总代价大于预设的代价阈值;
[0036] 所述应用任务的一个资源分配方案占用资源池的总时延大于预设的时延阈值;
[0037] 所述应用任务的一个资源分配方案占用资源池的总可靠性小于预设的可靠性阈 值。
[0038] 进一步地,所述求解模块,用于利用粒子群算法求解使所述目标函数值最小的资 源池分配方案,包括 :
[0039] 对粒子的位置和速度进行随机初始化,并且将粒子的个体最优设为当前位置,将 粒子的群体最优设为整个粒子群当前的最优位置,将进化迭代次数设为〇 ;其中,所述应用 任务的一个资源分配方案代表所述粒子群算法中的一个粒子的位置;
[0040] 计算每个粒子的适应值,所述应用任务的一个资源分配方案计算得到的目标函数 值代表所述粒子群算法中每个粒子的适应值;
[0041] 对于每个粒子,将其适应值与个体最优的适应
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1