【技术实现步骤摘要】
本专利技术涉及计算机领域,尤其涉及一种用于资源调度的技术。
技术介绍
随着科技的发展,尤其是大数据时代的到来,通过计算机处理的业务越来越多,需要占用的计算机资源也越来越多,传统的基于客户/服务器模型的集中计算已经无法承载日趋复杂的网络应用,于是出现了分布式计算。分布式计算主要用于把一个需要占用巨大计算资源的作业分解成若干个子作业,然后为这些子作业分别分配分散的、处于空闲状态的计算资源并进行计算处理,最后把这些计算结果综合起来得到最终的结果。目前,在分布式系统中常见的资源分配方案为,将资源请求按照优先级进行排队,然后周期性的从队列中取出资源请求重新提交,这种设计虽然简单,但存在如下问题:(1)由于无法预知什么时候会有空闲的机器资源,机器释放出空闲资源的时间与提交资源请求的时间,可能会出现不匹配的情况,例如,在周期性的提交资源请求时,可能并没有空闲的可用机器资源;而在机器出现空闲资源时,又可能没有赶上周期性提交资源请求的时间窗口,前者会降低资源调度器的调度效率,后者则会延迟资源请求拿到资源的时间。(2)资源请求在机器层面上有多样性,例如,有的资源请求申请机器A的资源,而有的资源请求申请机器B的资源,等等。当某台机器出现空闲的可用资源时,它并不知道队列中哪个资源请求申请的是它自己的资源,故只能按照资源请求的优先级一个个尝试分配,这样就可能造成大量的无用遍历和分配。(3)资源请求在资源大小上有多样性,例如,有的资源请求申请1个CPU、2G内存;有的资源请求申请2个CPU(CentralProcessingUnit)、4G内存,等等。当某台机器出现空闲的可用资源时 ...
【技术保护点】
一种资源调度方法,其中,该方法包括:获取分布式系统中的资源调度请求;当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列;根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求。
【技术特征摘要】
1.一种资源调度方法,其中,该方法包括:获取分布式系统中的资源调度请求;当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列;根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求。2.根据权利要求1所述的方法,其中,所述根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求包括:当在所述资源请求队列的当前可调度的一个或多个资源请求中所述资源调度请求的优先级最高时,为所述资源调度请求分配所请求资源;利用所分配的资源处理所述资源调度请求。3.根据权利要求1或2所述的方法,其中,所述资源请求队列包括按所述目标机器所提供资源的资源维度设置的资源请求维度队列;其中,所述当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列包括:当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求维度队列;其中,所述根据所述目标机器的当前可用资源信息及所述资源调度请求在所述资源请求队列中的优先级信息,调度处理所述资源调度请求包括:检测在所述资源请求维度队列的按所述资源维度当前可调度的一个或多个资源请求中所述资源调度请求的优先级是否最高;当在所述资源请求维度队列的按所述资源维度当前可调度的一个或多个资源请求中所述资源调度请求的优先级最高时,检测所述目标机器的当前可用资源在其他维度上是否满足所述所述资源调度请求所请求资源;若所述目标机器的当前可用资源在其他维度上满足所述所述资源调度请求所请求资源,为所述资源调度请求分配所请求资源;利用所分配的资源处理所述资源调度请求。4.根据权利要求3所述的方法,其中,所述资源维度包括以下至少任一
\t项:在所述目标机器所提供资源的权重最高的维度;在所述目标机器所提供资源的利用率最高的维度;在所述目标机器所提供资源的请求最多的维度;在所述目标机器所提供资源的数量最少的维度。5.根据权利要求3或4所述的方法,其中,所述资源请求维度队列包括多个维度子队列,各维度子队列对应在所述资源维度上的不同资源需求范围,每个维度子队列中的资源请求在所述资源维度上的资源需求落入对应的资源需求范围;其中,所述当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至所述目标机器对应的资源请求队列包括:当目标机器的可用资源低于所述资源调度请求所请求资源时,将所述资源调度请求添加至对应的目标维度子队列,其中,所述资源调度需求在所述资源维度上的资源需求落入所述目标维度子队列对应的资源需求范围。6.根据权利要求5所述的方法,其中,所述检测在所述资源请求维度队列的按所述资源维度当前可调度的一个或多个资源请求中所述资源调度请求的优先级是否最高包括:当所述目标机器的当前可用资源在所述资源维度上满足所述目标维度子队列对应的资源需求范围,且所述资源调度请求在所述目标维度子队列中优先级最高,检测所述资源调度请求在所属的最大堆中优先级是否最高,其中,所述最大堆还包括每个其他维度子队列中优先级最高的其他资源调度请求,所述目标机器的当前可用资源在所述资源维度上满足所述其他维度子队列对应的资源需求范围。7.根据权利要求5或6所述的方法,其中,每个维度子队列中的资源请求根据各资源需求对应的优先级信息构成二叉树,其中,所述二叉树的节点代表所述每个维度子队列中的资源请求。8.根据权利要求7所述的方法,其中,所述二叉树的每个节点的值还包括该节点的左子树所有节点对应资源请求的在所述维度上的资源需求最小值,及右子树所有节点对应资源请求的在所述维度上的资源需求最小值。9.根据权利要求1至8中任一项所述的方法,其中,该方法还包括:获取分布式系统中释放的空闲资源;根据所述空闲资源对应目标机器的当前可用资源...
【专利技术属性】
技术研发人员:张杨,冯亦挥,欧阳晋,韩巧焕,汪方,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。