一种资源调度方法和资源调度系统的制作方法

文档序号:8905135阅读:440来源:国知局
一种资源调度方法和资源调度系统的制作方法
【技术领域】
[0001] 本发明设及云计算领域,尤其设及一种资源调度方法和资源调度系统。
【背景技术】
[0002] 围绕数据中屯、内基础设施资源的调度,可W分为S个层面,包括:应用层的资源调 度、虚拟机层的资源调度和物理机层的资源调度。
[0003] 其中,用于大规模数据集并行运算的软件架构MapRe化ce中实现的先入先出队列 (FirstI吨utFirstOu巧ut,FIF0)、公平调度算法和计算机能力调度算法等属于应用层资 源调度算法,其目标是最优化应用层的任务吞吐量或者是最小化任务完成时间;虚拟机层 的调度算法代表的可W为Xen系统中的creditsche化ler算法,该类算法内置于虚拟化系 统内部,对单台物理机上的不同虚拟机的共享行为进行调节,其目标是保证虚拟机间对竞 争资源的公平使用;物理层的调度算法可分为静态服务器整合和虚拟机热迁移技术。静态 服务器整合是根据应用层对资源的需求结合物理服务器的性能,寻找固定的映射方式来建 立应用程序和物理服务器及虚拟机的映射,当负载出现较大波动时需要人为干预将负载过 大的物理服务器上的虚拟机迁移到负载较轻的服务器上,而虚拟机热迁移技术则是根据虚 拟机资源的使用情况动态地调整虚拟机在物理机上的分布。
[0004] 上述=种算法均针对虚拟机资源控制和调度的一些特性的资源调度产生了积极 的效果,但是,由于各个算法具有一定的局限性,各种资源控制和调度技术由于其本身的目 标和范围等特性,与其它调度技术可能存在制约或不兼容的情况,难W进行整合。例如,物 理机层的调度算法根据虚拟机资源的使用情况需要达到节能的目的时,可动态地调整虚拟 机在物理机上的分布,例如减少虚拟机的数量,但是如果应用层的资源调度算法需要达到 最小化任务完成时间,又需要充足的虚拟机来完成,该样就造成了两种调度技术的制约, 使得调度技术不兼容,资源分配不合理。

【发明内容】

[0005] 本发明实施例提供一种资源调度方法和资源调度系统,能够解决调度技术不兼容 造成的资源分配不合理的问题。
[0006] 第一方面,提供一种资源调度系统,包括管理结点和物理节点,其中:
[0007] 管理结点,用于根据用户的调度策略获取达到所述调度策略的目标时每个应用程 序对应的资源集合,所述资源集合包括任一应用程序运行于虚拟机上时每个虚拟机占用的 资源量,并将所述资源集合发送给每个物理节点;
[0008] 所述物理节点,用于根据所述资源集合确定所述物理节点上每个虚拟机分配的最 小资源量,再将分配所述最小资源量后所述物理节点的剩余资源量按比例分配给所述物理 节点上的每个虚拟机;
[0009] 所述物理节点,还用于将分配后所述物理节点上的每个虚拟机得到的总资源量发 送给所述管理结点;
[0010] 所述管理结点,还用于根据所述物理节点上的每个虚拟机对应的总资源量与所述 物理节点上的每个虚拟机当前的资源使用量获取所述物理节点的资源使用率,进而根据所 述资源使用率调度各个物理节点的资源负载。
[0011] 结合第一方面,在第一方面的第一种可能实现的方式中,所述管理结点具体用 于:
[0012] 根据所述用户的调度策略的效用函数获取达到所述调度策略的目标时每个应用 程序对应的资源集合;
[0013] 其中,所述效用函数包括:
[0014]
表示所述调 度策略的目标,所述目标为所述用户购买所述虚拟机资源的费用最小或所述虚拟机完成 任务的时间最短,cost,表示分配给第k个应用程序的第t个虚拟机VMt的单位资源单 位时间内的价格,Rt表示分配给所述第k个应用程序的第t个虚拟机占用的资源量,f_ time(Rt,missiont)表示所述第t个虚拟机完成所分配的任务量missiorit时所占用的时 间。
[0015] 结合第一方面或第一方面的第一种可能实现的方式,在第一方面的第二种可能实 现的方式中,所述物理节点具体用于:
[0016] 根据所述每个应用程序对应的所述资源集合中所述任一应用程序运行于所述虚 拟机上时每个虚拟机占用的资源量,确定属于所述物理节点上的每个虚拟机应分配的最小 资源量,所述物理节点上的任一虚拟机占用的最小资源量为所述任一虚拟机在所述每个应 用程序中对应的资源量之和;
[0017] 获取所述物理节点的剩余资源量,所述剩余资源量为所述物理节点的总资源量减 去为所述物理节点上的每个虚拟机确定的所述最小资源量;
[0018] 将所述剩余资源量按比例分配给所述物理节点上的每个虚拟机,所述物理节点上 的任一虚拟机分配到的所述剩余资源量为所述任一虚拟机的最小资源量占所述物理节点 已分配的资源量的比例与所述剩余资源量的乘积,所述已分配的资源量为所述物理节点上 的每个虚拟机的最小资源量之和。
[0019] 结合第一方面的第二种可能实现的方式,在第一方面的第=种可能实现的方式 中,所述管理结点具体用于:
[0020] 根据公式
获取所述物理节点的资源使用率,与。,4表示第i 个物理节点的资源使用率,表示所述第i个物理节点上的第j个虚拟机对应的总资源 量,馬。df,表示所述第i个物理节点对应的资源总量,^胃,,表示所述第i个物理节点上的第j个虚拟机当前的资源使用量;
[0021] 若所述管理结点需要均衡所述各个物理节点的负载,则获取所述各个物理节点的 资源使用率的方差最小时,所述各个物理节点上的虚拟机资源分布;
[0022] 若所述管理结点需要减少所述物理节点的个数,则先按照所述各个物理节点的资 源总量从大到小的顺序将所述各个物理节点进行排列,而后依次将虚拟机分配至物理节点 上,直至当前分配的物理节点的资源总量均被分配完再对下一物理节点进行分配;
[0023] 确定在将所有虚拟机均分配至物理节点上之后,是否存在未分配虚拟机的物理节 点,若存在,则关闭所述未分配虚拟机的物理节点。
[0024] 第二方面,提供一种资源调度方法,包括:
[0025] 管理结点根据用户的调度策略获取达到所述调度策略的目标时每个应用程序对 应的资源集合,所述资源集合包括任一应用程序运行于虚拟机上时每个虚拟机占用的资源 量,并将所述资源集合发送给每个物理节点;
[0026] 所述物理节点根据所述资源集合确定所述物理节点上每个虚拟机分配的最小资 源量,再将分配所述最小资源量后所述物理节点的剩余资源量按比例分配给所述物理节点 上的每个虚拟机;
[0027] 所述物理节点将分配后所述物理节点上的每个虚拟机得到的总资源量发送给所 述管理结点;
[0028] 所述管理结点根据所述物理节点上的每个虚拟机对应的总资源量与所述物理节 点上的每个虚拟机当前的资源使用量获取所述物理节点的资源使用率,进而根据所述资源 使用率调度各个物理节点的资源负载。
[0029] 结合第二方面,在第二方面的第一种可能实现的方式中,所述管理结点根据用户 的调度策略获取达到所述调度策略的目标时每个应用程序对应的资源集合包括:
[0030] 所述管理结点根据所述用户的调度策略的效用函数获取达到所述调度策略的目 标时每个应用程序对应的资源集合;
[0031] 其中,所述效用函数包括:
[0032]
表示所述调 度策略的目标,所述目标为所述用户购买所述虚拟机资源的费用最小或所述虚拟机完成 任务的时间最短,cost,表示分配给第k个应用程序的第t个虚拟机VMt的单位资源单 位时间内的价格,Rt表示分配给所述第k个应用程序的第t个虚拟机占用的资源量,f_ time(R。missiorit)表示所述第t个虚拟机完成所分配的任务量missiorit时所占用的时间。
[0033] 结合第二方面或第二方面的第一种可能实现的方式,在第二方面的第二种可能实 现的方式中,所述物理节点根据所述资源集合确定所述物理节点上每个虚拟机分配的最小 资源量,再将分配所述最小资源量后所述物理节点的剩余资源量按比例分配给所述物理节 点上的每个虚拟机包括:
[0034] 所述物理节点根据所述每个应用程序对应的所述资源集合中所述任一应用程序 运行于所述虚拟机上时每个虚拟机占用的资源量,确定属于所述物理节点上的每个虚拟 机应分配的最小资源量,所述物理节点上的任一虚拟机占用的最小资源量为所述任一虚拟 机在所述每个应用程序中对应的资源量之和;
[00巧]所述物理节点获取所述物理节点的剩余资源量,所述剩余资源量为所述物理节点 的总资源量减去为所述物理节点上的每个虚拟机确定的所述最小资源量;
[0036] 所述物理节点将所述剩余资源量按比例分配给所述物理节点上的每个虚拟机,所 述物理节点上的任一虚拟机分配到的所述剩余资源量为所述任一虚拟机的最小资源量占 所述物理节点已分配的资源量的比例与所述剩余资源量的乘积,所述已分配的资源量为所 述物理节点上的每个虚拟机的最小资源量之和。
[0037] 结合第二方面的第二种可能实现的方式,在第二方面的第=种可能实现的方式 中,所述根据所述物理节点上的每个虚拟机对应的总资源量与所述物理节点上的每个虚拟 机当前的资源使用量获取所述物理节点的资源使用率,进而根据所述资源使用率调度各个 物理节点的资源负载包括:
[0038] 根据公式
获取所述物理节点的资源使用率,表示第i 个物理节点的资源使用率,表示所述第i个物理节点上的第j个虚拟机对应的总资源 量,巧表示所述第i个物理节点对应的资源总量,表示所述第1个物理节点上的第j个虚拟机当前的资源使用量;
[0039] 若所述管理结点需要均衡所述各个物理节点的负载,则获取所述各个物理节点的 资源使用率的方差最小时,所述各个物理节点上的虚拟机资源分布;
[0040] 若所述管理结点需要减少所述物理节点的个数,则先按照所述各个物理节点的资 源总量从大到小的顺序将所述各个物理节点进行排列,而后依次将虚拟机分配至物理节点 上,直至当前分配的物理节点的资源总量均被分配完再对下一物理节点进行分配;
[0041] 确定在将所有虚拟机均分配至物理节点上之后,是否存在未分配虚拟机的物理节 点,若存在
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1