资源调度方法与设备技术

技术编号:15191476 阅读:98 留言:0更新日期:2017-04-20 09:12
本申请的目的是提供一种资源调度方法与设备。与现有技术相比,本申请通过获取分布式系统中的资源调度请求,当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列,根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求;从而使获取的资源调度请求在未直接分配到空闲资源的情况下,根据该资源调度请求的优先级信息,将其添加至对应的目标机器的资源请求队列中,以使其更高效的分配到空闲资源。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种用于资源调度的技术。
技术介绍
随着科技的发展,尤其是大数据时代的到来,通过计算机处理的业务越来越多,需要占用的计算机资源也越来越多,传统的基于客户/服务器模型的集中计算已经无法承载日趋复杂的网络应用,于是出现了分布式计算。分布式计算主要用于把一个需要占用巨大计算资源的作业分解成若干个子作业,然后为这些子作业分别分配分散的、处于空闲状态的计算资源并进行计算处理,最后把这些计算结果综合起来得到最终的结果。目前,在分布式系统中常见的资源分配方案为,将资源请求按照优先级进行排队,然后周期性的从队列中取出资源请求重新提交,这种设计虽然简单,但存在如下问题:(1)由于无法预知什么时候会有空闲的机器资源,机器释放出空闲资源的时间与提交资源请求的时间,可能会出现不匹配的情况,例如,在周期性的提交资源请求时,可能并没有空闲的可用机器资源;而在机器出现空闲资源时,又可能没有赶上周期性提交资源请求的时间窗口,前者会降低资源调度器的调度效率,后者则会延迟资源请求拿到资源的时间。(2)资源请求在机器层面上有多样性,例如,有的资源请求申请机器A的资源,而有的资源请求申请机器B的资源,等等。当某台机器出现空闲的可用资源时,它并不知道队列中哪个资源请求申请的是它自己的资源,故只能按照资源请求的优先级一个个尝试分配,这样就可能造成大量的无用遍历和分配。(3)资源请求在资源大小上有多样性,例如,有的资源请求申请1个CPU、2G内存;有的资源请求申请2个CPU(CentralProcessingUnit)、4G内存,等等。当某台机器出现空闲的可用资源时,它并不知道队列中哪个资源请求申请的资源比当前自身可用的资源小,故只能按照资源请求的优先级一个个尝试分配,这样就可能造成大量的无用遍历和分配。
技术实现思路
本申请的目的是提供一种用于资源调度的方法与设备,以解决提高处于排队状态的资源请求的资源分配效率、准确性。根据本申请的一个方面,提供了一种资源调度方法,其中,该方法包括:获取分布式系统中的资源调度请求;当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列;根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求。根据本申请的另一方面,还提供了一种资源调度设备,其中,该设备包括:资源调度请求获取装置,用于获取分布式系统中的资源调度请求;资源调度请求添加装置,用于当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列;资源调度请求处理装置,用于根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求。与现有技术相比,本申请通过获取分布式系统中的资源调度请求,当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列,根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求;从而使获取的资源调度请求在未直接分配到空闲资源的情况下,根据该资源调度请求的优先级信息,将其添加至对应的目标机器的资源请求队列中,以使其更高效的分配到空闲资源。而且,本申请还可以通过将前述资源请求队列分为按目标机器所提供资源的资源维度设置的若干资源请求维度队列,例如,CPU维度队列、内存维度队列等,当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求维度队列,根据空闲资源大小,找到其中在所有资源维度上均小于/等于空闲资源大小的资源调度请求中优先级最高的资源调度请求,为所述资源调度请求分配所请求资源;从而高效快速的找到可以分配资源的资源调度请求,进一步减少了对资源调度请求的遍历次数。此外,本申请还可以通过将资源调度请求在每个资源维度上根据优先级信息构成二叉树的方式,实现符合分配资源的资源调度请求的查找,并进一步地,设置所述二叉树节点值包括所述节点的左子树所有节点对应资源请求的在所述维度上的资源需求最小值,及右子树所有节点对应资源请求的在所述维度上的资源需求最小值,从而进一步提高找到可以分配资源的资源调度请求的效率、准确度。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种资源调度方法的流程图;图2示出根据本申请一个优选实施例的一种资源调度方法的流程图;图3-1示出根据本申请另一个优选实施例的在CPU维度上将满足要求的资源调度请求基于优先级信息建立最大堆示意图;图3-2示出基于图3-1的在CPU维度上将满足要求的资源调度请求基于优先级信息建立最大堆示意图;图4示出根据本申请另一个实施例的在内存维度上基于优先级信息将资源调度请求建立二叉树的示意图;图5示出根据本申请另一个方面的一种资源调度设备的示意图;图6示出根据本申请一个优选实施例的一种资源调度设备的示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本专利技术作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本申请的技术方案,进行清楚和完整的描述。参图1所示,展示了根据本申请一个方面提供的资源调度方法流程图,其中,该方法包括:S1获取分布式系统中的资源调度请求;S2当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列;S3根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求。具体地,在所述步骤S1中,获取分布式系统中的资源调度请求,其中的资源调度请求即为分布式系统中请求分配资源的资源请求,具体地,当用户需要提交一个作业时,作业管理器便本文档来自技高网
...
资源调度方法与设备

【技术保护点】
一种资源调度方法,其中,该方法包括:获取分布式系统中的资源调度请求;当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列;根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求。

【技术特征摘要】
1.一种资源调度方法,其中,该方法包括:获取分布式系统中的资源调度请求;当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列;根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求。2.根据权利要求1所述的方法,其中,所述根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求包括:当在所述资源请求队列的当前可调度的一个或多个资源请求中所述资源调度请求的优先级最高时,为所述资源调度请求分配所请求资源;利用所分配的资源处理所述资源调度请求。3.根据权利要求1或2所述的方法,其中,所述资源请求队列包括按所述目标机器所提供资源的资源维度设置的资源请求维度队列;其中,所述当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列包括:当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求维度队列;其中,所述根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求包括:检测在所述资源请求维度队列的按所述资源维度当前可调度的一个或多个资源请求中所述资源调度请求的优先级是否最高;当在所述资源请求维度队列的按所述资源维度当前可调度的一个或多个资源请求中所述资源调度请求的优先级最高时,检测所述目标机器的当前可用资源在其他维度上是否满足所述所述资源调度请求所请求资源;若所述目标机器的当前可用资源在其他维度上满足所述所述资源调度请求所请求资源,为所述资源调度请求分配所请求资源;利用所分配的资源处理所述资源调度请求。4.根据权利要求3所述的方法,其中,所述资源维度包括以下至少任一
\t项:在所述目标机器所提供资源的权重最高的维度;在所述目标机器所提供资源的利用率最高的维度;在所述目标机器所提供资源的请求最多的维度;在所述目标机器所提供资源的数量最少的维度。5.根据权利要求3或4所述的方法,其中,所述资源请求维度队列包括多个维度子队列,各维度子队列对应在所述资源维度上的不同资源需求范围,每个维度子队列中的资源请求在所述资源维度上的资源需求落入对应的资源需求范围;其中,所述当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列包括:当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至对应的目标维度子队列,其中,所述资源调度需求在所述资源维度上的资源需求落入所述目标维度子队列对应的资源需求范围。6.根据权利要求5所述的方法,其中,所述检测在所述资源请求维度队列的按所述资源维度当前可调度的一个或多个资源请求中所述资源调度请求的优先级是否最高包括:当所述目标机器的当前可用资源在所述资源维度上满足所述目标维度子队列对应的资源需求范围,且所述资源调度请求在所述目标维度子队列中优先级最高,检测所述资源调度请求在所属的最大堆中优先级是否最高,其中,所述最大堆还包括每个其他维度子队列中优先级最高的其他资源调度请求,所述目标机器的当前可用资源在所述资源维度上满足所述其他维度子队列对应的资源需求范围。7.根据权利要求5或6所述的方法,其中,每个维度子队列中的资源请求根据各资源需求对应的优先级信息构成二叉树,其中,所述二叉树的节点代表所述每个维度子队列中的资源请求。8.根据权利要求7所述的方法,其中,所述二叉树的每个节点的值还包括该节点的左子树所有节点对应资源请求的在所述维度上的资源需求最小值,及右子树所有节点对应资源请求的在所述维度上的资源需求最小值。9.根据权利要求1至8中任一项所述的方法,其中,该方法还包括:获取分布式系统中释放的空闲资源;根据所述空闲资源对应目标机器的当前可用资源...

【专利技术属性】
技术研发人员:张杨冯亦挥欧阳晋韩巧焕汪方
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1