一种分布式系统任务分配的方法和装置制造方法及图纸

技术编号:18426052 阅读:37 留言:0更新日期:2018-07-12 01:55
本申请涉及分布式系统领域,尤其涉及分布式系统中的资源调度技术。在一种任务分配的方法中,获取用户的已分配资源的份额,从待分配任务列表中选择一个待分配任务,并基于最高阈值,将待分配任务分配到剩余资源能够满足所述待分配任务的第一计算节点,且所述待分配任务分配到所述第一计算节点后,所述第一计算节点中存在至少一种被监测资源的剩余量大于或等于与所述一种被监测资源相对应的最高阈值的计算节点中。通过本申请提供的方案,可以减少分布式系统中资源碎片的产生,提高分布式系统的资源利用率。

A method and device for task allocation in distributed system

This application concerns the field of distributed system, especially the resource scheduling technology in distributed system. In a task assignment method, the share of the allocated resource of the user is obtained, a task to be allocated from the list of tasks to be allocated, and based on the maximum threshold, is assigned to the remaining resource that the remaining resources can satisfy the first computing node of the assigned task, and the assigned task is assigned to the stated section. After a computing node, the first calculation node has at least one of the remaining quantities of the monitored resource greater than or equal to the calculation node of the highest threshold corresponding to one of the monitored resources. The scheme provided by this application can reduce the generation of resource fragments in distributed system and improve the resource utilization of distributed system.

【技术实现步骤摘要】
一种分布式系统任务分配的方法和装置
本申请涉及分布式系统领域,尤其涉及分布式系统中的资源调度技术。
技术介绍
在各种分布式计算框架(如hadoop、spark等)以及分布式资源统一管理与调度平台(如mesos和yarn)中,细粒度、多维度的资源调度是分布式计算框架和分布式资源统一管理与调度平台的一个核心问题。而在资源调度时,如何实现资源的公平分配和资源利用率的提高是一个关键问题,也是当前分布式资源管理与调度
中的热门话题。目前一些主流的分布式资源管理与调度框架如Mesos、Yarn等都采用了DRF(DominantResourceFairness,主导资源公平)算法。该算法的主要思想是在多维度资源环境下,一个用户的资源分配应该由用户的dominantshare(主导份额)决定,dominantshare是在所有已经分配给用户的多种资源中,占据总资源的最大值,该值对应的资源为主导资源。DRF算法的主旨是试图最大化所有用户中最小的dominantshare,或者尽可能使不同用户的主导资源相等。DRF算法虽然保证了用户资源公平性,但对任务的分配存在资源碎片问题。即通过DRF算法进行资源调度后,可能出现每个节点的剩余资源都不足以满足某一任务的资源需求,但是从分布式系统整体来看,各个节点上该种剩余资源的总和却又大于该任务的资源需求,从而造成了资源碎片。资源碎片问题会导致资源利用率降低,并且由于资源碎片不能被应用,导致一些任务执行延迟,时间性能降低。
技术实现思路
本文描述了一种分布式系统任务分配方法,装置及系统,以减少分布式系统中的资源碎片,提高系统资源利用率和任务执行效率。一方面,本申请的实施例提供一种基于DRF算法的分布式系统任务分配的方法。方法包括当基于DRF算法进行分配时,若要分配的计算节点在分配了待分配任务后的一种被监测资源的剩余量小于与所述一种被监测资源相对应的最高阈值,则不将该待分配任务分配到该计算节点中。由此,分后待分配任务后的计算节点仍然有一定的剩余量用以执行其他任务,从而降低了资源碎片的产生。被检测资源是指在分布式系统中的各类资源中,需要对碎片的产生进行监控的资源。在具体的实施例中,被监测资源可以通过人工进行预设或者指定,在另一些具体的实施例中,也可以通过管理系统动态的确定和调整被监控资源。例如,通过对资源碎片产生的监控,将产生资源碎片多的资源作为别监控资源。在一种实现方式中,方法包括获取用户的已分配的资源的份额,份额是指用户的已分配的一种资源占资源与分布式系统中的可分配总量的比值,用户的已分配的资源中份额最高的资源为用户的主导资源,主导资源对应的份额为用户的主导份额;从待分配任务列表中选择一个待分配任务,待分配任务为在多个用户中主导份额最低的用户的任务;若所述多个计算节点中存在第一计算节点,将所述待分配任务分配给第一计算节点,其中,所述第一计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第一计算节点后,所述第一计算节点中存在至少一种被监测资源,所述一种被监测资源的剩余量大于或等于与该被监测资源对应的最高阈值。通过本方法,可以在保证用户资源均衡的前提下,实现前述降低资源碎片的目的,提高资源利用率。在该种实现的一种可能的实施方式中,方法还包括还包括,若所述多个计算节点中不存在第一计算节点,且存在第二计算节点,将所述待分配任务分配给第二计算节点,其中,所述第二计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第二节点后,所述第二节点种至少存在一种被监测资源,所述一种被监测资源的剩余量小于或等于与所述被检测资源相对应的最低阈值,所述最低阈值小于所述最高阈值。在另一种实现方式中,方法包括获取用户的已分配的资源的份额,份额是指用户的已分配的一种资源占资源与分布式系统中的可分配总量的比值,用户的已分配的资源中份额最高的资源为用户的主导资源,主导资源对应的份额为用户的主导份额;从待分配任务列表中选择一个待分配任务,待分配任务为在多个用户中主导份额最低的用户的任务;若所述多个计算节点中存在第一计算节点,将所述待分配任务分配给第一计算节点,其中,所述第一计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第一计算节点后,所述第一计算节点中存在至少一种被监测资源,所述一种被监测资源的剩余量大于或等于与该被监测资源对应的最高阈值或者剩余量小于或等于与该被监测资源对应的最低阈值,其中最低阈值低于最高阈值。通过本方法,可以在保证用户资源均衡的前提下,实现前述降低资源碎片的目的,提高资源利用率,且产生低于最低阈值的可容忍碎片时仍然会进行分配,从而提高了算法的任务分配效率。在另一种实现方式中,在另一种实现方式中,方法包括获取用户的已分配的资源的份额,份额是指用户的已分配的一种资源占资源与分布式系统中的可分配总量的比值,用户的已分配的资源中份额最高的资源为用户的主导资源,主导资源对应的份额为用户的主导份额;从待分配任务列表中选择一个待分配任务,待分配任务为在多个用户中主导份额最低的用户的任务;若所述多个计算节点中存在第一计算节点,将所述待分配任务分配给第一计算节点,其中,所述第一计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第一计算节点后,所述第一计算节点中存在至少一种被监测资源,所述一种被监测资源的剩余量小于或等于与该被监测资源对应的最低阈值,其中最低阈值低于最高阈值。或者,若所述多个计算节点中不存在第一计算节点,且存在第二计算节点,将所述待分配任务分配给第二计算节点,其中,所述第二计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第二节点后,所述第二节点种至少存在一种被监测资源,所述一种被监测资源的剩余量大于或等于与所述被检测资源相对应的最高阈值,所述最低阈值小于所述最高阈值。通过本方法,可以在保证用户资源均衡的前提下,实现前述降低资源碎片的目的,提高资源利用率,且产生低于最低阈值的可容忍碎片时仍然会进行分配,从而提高了算法的任务分配效率。在一种实现方式中,最高阈值大于或等于所述待分配任务列表中至少一个待分配任务对所述被监测资源的需求量。由此,能够保证每次分配后的剩余资源量能够至少之星一个待分配任务,从而减少碎片的产生。在一种实现方式中,最高阈值大于或等于所述待分配任务列表中一种被监测资源的需求量最小的N个未分配任务中每个任务的一种被监测资源的需求量的最大值,其中,N为大于或等于1且小于等于所述待分配任务列表中未分配任务总数的整数。所谓最小的N个未分配任务是指将未分配任务的被检测资源的需求量从小到大排列,取其中前N个未分配任务。由此,最高阈值的取值能够保证计算节点的被监测资源的剩余资源量能够至少执行一个未分配的任务,且能够使最大阈值的取值尽可能的小,从而提高分配效率。在一种是实现方式中,需要第一计算节点中任意一种被监测资源的剩余量均大于或等于与所述任意一种被监测资源相对应的最高阈值。由此,可以使得第一计算节点中每种被监测资源的剩余量均能够大于最高阈值,从而减少所有被监测资源的资源碎片本文档来自技高网...

【技术保护点】
1.一种分布式系统任务分配的方法,其特征在于,所述方法用于将多个用户的待分配任务分配到分布式系统中的多个计算节点中,所述方法包括:获取用户的已分配资源的份额,所述份额为已分配给所述用户的一种资源的数量与所述资源在所述分布式系统中的可分配总量的比值,所述用户的已分配的资源中份额最高的资源为所述用户的主导资源,所述主导资源对应的份额为所述用户的主导份额;从任务列表中选择一个待分配任务,所述待分配任务为在所述多个用户中主导份额最低的用户的任务;若所述多个计算节点中存在第一计算节点,将所述待分配任务分配给第一计算节点,其中,所述第一计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第一计算节点后,所述第一计算节点中存在至少一种被监测资源,所述一种被监测资源的剩余量大于或等于与该被监测资源对应的最高阈值。

【技术特征摘要】
1.一种分布式系统任务分配的方法,其特征在于,所述方法用于将多个用户的待分配任务分配到分布式系统中的多个计算节点中,所述方法包括:获取用户的已分配资源的份额,所述份额为已分配给所述用户的一种资源的数量与所述资源在所述分布式系统中的可分配总量的比值,所述用户的已分配的资源中份额最高的资源为所述用户的主导资源,所述主导资源对应的份额为所述用户的主导份额;从任务列表中选择一个待分配任务,所述待分配任务为在所述多个用户中主导份额最低的用户的任务;若所述多个计算节点中存在第一计算节点,将所述待分配任务分配给第一计算节点,其中,所述第一计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第一计算节点后,所述第一计算节点中存在至少一种被监测资源,所述一种被监测资源的剩余量大于或等于与该被监测资源对应的最高阈值。2.根据权利要求1所述方法,其特征在于,所述方法还包括,若所述多个计算节点中不存在第一计算节点,且存在第二计算节点,将所述待分配任务分配给第二计算节点,其中,所述第二计算节点为剩余资源量能够满足所述待分配任务对资源的需求量的计算节点,且所述待分配任务分配到所述第二节点后,所述第二节点种至少存在一种被监测资源,所述一种被监测资源的剩余量小于或等于与所述被检测资源相对应的最低阈值,所述最低阈值小于所述最高阈值。3.根据权利要求1或2所述方法,其特征在于,所述最高阈值大于或等于所述待分配任务列表中至少一个待分配任务对所述被监测资源的需求量。4.根据权利要求3所述方法,其特征在于,所述最高阈值大于或等于所述待分配任务列表中对所述被监测资源的需求量最小的N个未分配任务中每个任务对所述被监测资源的需求量的最大值,其中,N为大于或等于1且小于等于所述待分配任务列表中未分配任务总数的整数。5.根据权利要求1或2所述方法,其特征在于,所述第一计算节点中任意一种所述被监测资源的剩余量均大于或等于与所述任意一种被监测资源对应的最高阈值。6.根据权利要求5所述方法,其特征在于,所述最高阈值大于或等于至少一组任务中每组任务的所述一种被监测资源的最大需求量中的最大值,所述最大需求量为一组任务中每个任务的所述一种被监测资源的需求量的最大值,所述一组任务为所述待分配任务列表中的N个未分配任务,N为大于或等于1的整数。7.根据权利要求6所述方法,其特征在于,所述一组任务具体为:所述待分配任务列表中任意一种被监测资源需求量最小的N个未分配任务。8.根据权利要求1或2所述方法,其特征在于,所述方法还包括:获取采样任务数据,所述采样任务数据包含多个任务的对被监测资源的需求信息;根据所述采样任务数据,确定所述至少一种被监测资源相对应的最高阈值。9.根据权利要求8所述方法,其特征在于,所述根据所述采样任务数据,确定所述至少一种被监测资源相对应的最高阈值包括:确定被监测资源X对应的最小任务集合的被监测资源Y的最大需求量为所述被监测资源Y相对应最高阈值,其中,被监测资源X为任意一种被监测资源,被监测资源Y为所要确定相对应的最高阈值的被监测资源,所述被监测资源X对应的最小任务集合为所述采样任务数据中对所述被监测资源X的需求量最小的M个任务,所述最小任务集中每个任务对被监测资源Y的需求量的最大值为所述最小任务集的被监测资源Y的最大需求量,M为大于或等于1的正整数;或者,确定多种被监测资源对应的多个最小任务集合的被监测资源Y的最大需求量的最大值为所述被监测资源Y相对应最高阈值。10.根据权利要求8或9所述方法,其特征在于,所述方法还包括:获取至少一个更新采样任务数据,所述更新采样任务数据包括预设的时间段内执行的任务的资源需求信息;根据所述更新采样任务数据,更新至少一种资源相对应的最高阈值。11.一种管理节点,其特征在于,所述管理节点用于将多个用户的待分配任务分配到分布式系统中的多个计算节点中,所述管理节点包括:获取模块,用于获取用户的已分配资源的份额,所述份额为已分配给所述用户的一种资源的数量与所述资源在所述分布式系统中的可分配总量的比值,所述用户的已分...

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

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

1