一种资源分配方法及装置制造方法及图纸

技术编号:18426050 阅读:24 留言:0更新日期:2018-07-12 01:55
本申请公开了一种资源调度方法及装置,用以解决现有技术中存在资源使用率低的问题。该方法包括:资源调度器确定第i个用户的主导份额,并确定第a个节点的主导空闲资源;然后从N个用户中选择主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;并根据M个节点的主导空闲资源,从所述M个节点中选择第一节点;其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;最后所述资源调度器将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。

A method and device for resource allocation

The application discloses a resource scheduling method and device to solve the problem of low utilization rate of resources in the existing technology. The method includes: the resource scheduler determines the dominant share of the I user and determines the dominant idle resource of the a node; then selects the first user with the smallest dominant share from the N users, and selects the first task from the task of the unallocated resource of the first user; and based on the dominant idle resources of the M node, The first node is selected from the M node; in which the dominant idle resource of the selected first node is the same as the dominant share of the selected first user; the resource scheduler finally schedules the resources in the selected first node to the selected first user to use the scheduling of the first user to use scheduling. The resources are used to perform the first task of the selection.

【技术实现步骤摘要】
一种资源分配方法及装置
本申请涉及信息
,尤其涉及一种资源分配方法及装置。
技术介绍
大规模数据的处理对计算机性能和计算资源的要求越来越高,为了高效处理大规模数据,各种分布式计算框架如hadoop、spark等,以及分布式资源统一管理与调度平台如mesos、yarn逐渐发展起来。支持多用户公平且节点间负载均衡的资源分配是分布式计算框架以及分布式资源统一管理与调度平台的核心。在支持用户公平的资源分配时,现有技术方案是采用主导资源公平(英文:DominantResourceFairness,简称:DRF)算法,该算法的主要思想是在多维度资源环境下,一个用户的资源分配应该由用户的主导份额(dominantshare)决定,主导份额是在所有已经分配给用户的多种资源中,占据总资源的最大值,该最大值对应的资源为主导资源。DRF算法的主旨是试图最大化所有用户中最小的主导资源或尽可能使不同用户的主导资源相等。DRF算法进行资源分配的具体步骤:步骤1,计算当前已分配给第i个用户的每种资源的占用率(share),选择占用率中的最大值为第i个用户的主导份额si:其中,uij表示用户i对资源j的占用量,rj表示资源j的可分配资源总量,m表示资源总类型数。可分配资源总量即为接收到调度请求时,分布式系统中可分配给用户的资源总量。步骤2,每次从拥有最低的主导份额的用户中选择一个任务,若系统中有足够的可用资源则为该选择的任务分配资源,启动该选择的任务执行。步骤3,重复第一步和第二步,直到不存在可用资源或不存在需要执行的任务。在支持节点间负载均衡的资源分配时,现有技术方案是基于任务个数实现节点间负载均衡。节点间负载均衡方案常用的包括三种方案:轮询方式、最小连接数方式以及随机方式。轮询方式是将多个任务,依次轮询分配到多个节点上。最小连接数方式是统计每个节点当前处理的任务数,每次为当前处理任务数最少的节点分配任务。随机方式是指采用一个随机数生成器,每次分配任务时,将随机数生成器生成的数据作为当前选择的节点号,并为节点号对应的节点进行任务分配。综上,现有技术中提供的方案中,将用户公平和节点负载均衡两个维度分开考虑,忽略了用户公平与节点负载均衡之间的相关性,从而导致资源使用效率低。
技术实现思路
本申请提供一种资源调度方法及装置,用以解决现有技术中存在资源使用率低的问题。第一方面,本申请提供了一种资源调度方法,所述方法用于为分布式系统的N个用户的任务分配资源,该方法包括:所述资源调度器从所述N个用户中选择主导份额最小的第一用户,其中,所述主导份额为一个用户占用的资源的资源占用率的最大值,所述资源占用率为一项资源被所述用户占用的数量与所述资源的可分配资源总量的比值;所述N为大于1的正整数;所述资源调度器从所述第一用户的未被分配资源的任务中选择第一任务;所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,所述第一节点的主导空闲资源与所述第一用户的主导份额对应的资源相同,所述主导空闲资源为一个节点中空闲比率最大的资源,所述空闲比率为一项资源的当前空闲资源量与所述资源的资源总量的比值,所述M为大于1的正整数;所述资源调度器将所述第一节点中的资源,调度给所述第一用户,以使所述第一用户使用所述第一节点中的资源来执行所述第一任务。资源调度器每次调度任务之前需要先确定第i个用户的主导份额以及确定第a个节点的主导空闲资源,具体的,可以通过如下方式实现:资源调度器确定第i个用户的主导份额以及确定第a个节点的主导空闲资源。其中,所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N表示用户总数。其中,所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数。所述资源调度器在确定第i个用户的主导份额以及确定第a个节点的主导空闲资源后,从所述N个用户中选择确定的主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;再根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;在调度时,具体是将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。由于主导份额少的用户的任务被优先分配资源,实现了用户之间的公平性,然后基于节点的主导空闲资源选择节点,并将选择的节点的资源分配给选择的用户。由于选择的节点的主导空闲资源与选择的用户的主导份额对应的资源相同,从而实现了不同类型的用户分配给不同类型的节点,进而实现了节点资源负载均衡,在一定程度上降低了资源共享干扰问题。在一种可能的设计中,所述M个节点被划分为不同组,其中,同一组的节点的主导空闲资源相同。比如,将M个节点划分为CPU资源组,以及内存资源组。CPU资源组中包括的各个节点的主导空闲资源均为CPU资源,内存资源组中包括的各个节点的主导空闲资均为内存资源。从而所述从M个节点中选择第一节点时,可以通过如下方式实现:所述资源调度器从所述不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;所述资源调度器根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。通过上述设计,节点根据当前负载情况(用户主导份额)动态划分到不同组,用于接收不同类型的任务,实现了节点资源负载均衡,并且能够避免共享资源之间的干扰。在一种可能的设计中,所述第一节点是主导空闲资源与所述第一用户的主导份额对应的资源相同的节点中主导空闲资源的空闲比率最大的节点。具体的,所述第一节点是所述M个节点中主导空闲资源的空闲比率最大的节点。即,在选择从M个节点中选择第一节点时,选择主导空闲资源的空闲比率最大的第一节点。在一种可能的设计中,在主导空闲资源与选择的第一用户的主导份额对应的资源相同的节点为至少两个时,所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,具体可以通过如下方式实现:所述资源调度器确定主导空闲资源与选择的第一用户的主导份额对应的资源相同的至少两个节点;所述资源调度器从所述至少两个节点中,选择第一用户主导占用率最大的节点,其中一个节点的第一用户主导占用率为所述第一用户占用所述节点的资源的用户占用率的最大值,一项资源的用户占用率为所述资源中所述用户占用的占用量与所述资源的可分配总量的比值。所述资源调度器从所述至少两个节点中,选择第一节点时,先确定选择的所述第一用户对于所述至少两个节点中每个节点的用户主导占用率,具体可以通过如下方式实现:所述资源调度器确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述用户主导占用率为m种资源对应的用户占用率中的最大值;本文档来自技高网
...

【技术保护点】
1.一种资源调度方法,其特征在于,所述方法用于为分布式系统的N个用户的任务分配资源,所述方法包括:资源调度器确定第i个用户的主导份额;所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N为大于1的正整数;所述资源调度器确定第a个节点的主导空闲资源,所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数;所述资源调度器从所述N个用户中选择主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;所述资源调度器将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。...

【技术特征摘要】
1.一种资源调度方法,其特征在于,所述方法用于为分布式系统的N个用户的任务分配资源,所述方法包括:资源调度器确定第i个用户的主导份额;所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N为大于1的正整数;所述资源调度器确定第a个节点的主导空闲资源,所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数;所述资源调度器从所述N个用户中选择主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;所述资源调度器将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。2.如权利要求1所述的方法,其特征在于,所述M个节点被划分为不同组,其中,同一组的节点的主导空闲资源相同;所述资源调度器从M个节点中选择第一节点,包括:所述资源调度器从所述不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;所述资源调度器根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。3.如权利要求1或2所述的方法,其特征在于,所述第一节点是所述M个节点中主导空闲资源的空闲比率最大的节点。4.如权利要求1至3任一项所述的方法,其特征在于,所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,包括:所述资源调度器确定主导空闲资源与选择的第一用户的主导份额对应的资源相同的至少两个节点;所述资源调度器确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述用户主导占用率为m种资源对应的用户占用率中的最大值;第d种资源对应的用户占用率为第c个节点中已分配给选择的所述第一用户的第d种资源的资源量与所述第c个节点中第d种资源的可分配资源总量的比值;所述第c个节点为所述至少两个节点中的任一个,所述d取遍不大于m的所有正整数;所述资源调度器从所述至少两个节点中,选择对应所述第一用户的用户主导占用率最小的第一节点。5.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:在确定所有节点的主导空闲资源与选择的第一用户的主导份额对应的资源均不相同时,所述资源调度器从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户,并从所述第二用户的未分配资源的任务中选择第二任务;所述资源调度器从M个节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与选择的第二用户的主导份额对应的资源相同的第二节点;所述资源调度器将选择的第二节点中的资源,调度给选择的所述第二用户,以使所述第二用户使用调度的资源来执行选择的所述第二任务。6.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:所述资源调度器在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,则确定不对第a个节点进行资源调度。7.一种资源调度...

【专利技术属性】
技术研发人员:曾艳罗站城林宗芳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1