一种基于资源管理平台的任务分配方法及系统与流程

文档序号:19943017发布日期:2020-02-14 23:26阅读:276来源:国知局
一种基于资源管理平台的任务分配方法及系统与流程

本申请涉及人工智能技术领域,特别是涉及一种基于资源管理平台的任务分配方法及系统。



背景技术:

随着人工智能技术和容器化技术的快速发展,越来越多的人工智能模型在分布式资源管理平台上进行训练与测试。现有的人工智能模型是利用数据集进行训练与测试的,并且针对于不同模型的应用场景选择不同的数据集。相对应的,分布式资源管理平台需要根据模型的应用场景下载对应的数据集进行模型的训练与测试。当需要在资源管理平台上处理人工智能模型的训练任务或者测试任务时,资源管理平台先将任务分配给部分节点,在处理任务前将所需要的数据集下载到处理任务的节点上。

但是人工智能模型训练与测试任务所需的数据集中包含的数据较多,现有的资源管理平台是根据节点的自身性能等进行任务分配的,处理任务前需要花费大量的时间和资源用于在各个处理任务的节点上下载数据集,影响处理任务的速度和效率。



技术实现要素:

基于上述问题,本申请提供一种基于资源管理平台的任务分配方法及系统,能够解决现有技术中,在资源管理平台上处理人工智能模型的训练或者测试任务时,由于大量节点需要下载数据集导致的时间和资源浪费的问题。

本申请实施例公开了如下技术方案:

第一方面,本申请实施例提供了一种基于资源管理平台的任务分配方法,其特征在于,所述方法包括:

接收人工智能模型训练和/或测试任务以及处理任务所需的数据集的名称;

获取多个节点的数据集分布信息;其中,所述数据集分布信息包括该节点中具有的数据集的名称以及各个数据集的大小;

根据所述节点中具有的数据集的名称,判断所述节点是否具有所需数据集;若节点中具有所需的数据集,根据节点中具有的所需数据集的大小,选择所需数据集的大小满足预设要求的节点进行任务分配。

可选的,所述根据节点中具有的所需数据集的大小,选择所需数据集的大小满足预设要求的节点进行任务分配,包括:

根据节点中具有的所需数据集的大小,通过节点的数据集评分策略,得到该节点的数据集分值,选择数据集分值满足预设分值的节点进行任务分配。

可选的,所述节点的数据集评分策略,具体包括:

按照公式计算该节点中具有的数据集大小相对值sizei;其中i为该节点的编号,nodenum为集群中具有该数据集的节点的数量,allnum为集群中节点的总数量,datasizei为该目标节点所具有的所需数据集的大小;

判断所述节点数据集大小的相对值sizei与所需数据集的最小值minsize和所需数据集的最大值maxsize之间的大小关系;若该节点的数据集大小相对值小于所需数据集最小值,则令该节点的数据集大小相对值等于所需数据集最小值;若该节点的数据集大小相对值大于所需数据集最大值,则令该节点的数据集大小相对值等于所需数据集最大值;

按照公式计算该节点的数据集分值datascorei。

可选的,所述方法还包括:获取节点的数据集更新时间;所述得到节点的数据集分值,包括:

依据节点的数据集更新时间,判断处理本次任务之前,节点中具有的所需数据集是否更新;如果否,则使用上次任务分配时计算的该节点的数据集分值。

可选的,所述获取节点的数据集分布信息包括:获得由代理单元发送的节点的数据集分布信息。

可选的,代理单元发送节点的数据集分布信息,包括:在节点的数据集发生变化时,代理单元发送节点的数据集分布信息。

可选的,所述根据节点中具有的所需数据集的大小,选择所需数据集的大小符合预设要求的节点进行任务分配,包括:

根据节点的自身性能以及节点中具有的所需数据集的大小,选择自身性能以及所需数据集的大小都满足预设要求的节点进行任务分配。

可选的,所述所需数据集的大小符合预设要求的节点的数量不能满足任务分配的要求时,还包括:选择具有所需数据集数量不能满足预设要求的或者不具有所需数据集的节点进行任务分配。

可选的,所述方法还包括:任务分配到各个节点上后,检查节点是否具有所需数据集以及所需数据集的大小是否满足处理任务的需求,若该节点不具有所需的数据集或者具有的数据集数量大小不足,下载所述所需数据集。

第二方面,本申请实施例提供了一种基于资源管理平台的任务分配系统,其特征在于,包括:

获取单元,用于接受人工智能模型训练和/或测试任务以及处理任务所需的数据集的名称;获取多个节点的数据集分布信息;其中,所述数据集分布信息包括该节点中具有的数据集的名称以及各个数据集的大小;

判断单元,用于根据所述节点中具有的数据集的名称判断所述节点是否具有所需数据集;

分配单元,用于若节点中具有所需的数据集,根据节点中具有的所需数据集的大小,选择所需数据集的大小满足预设要求的节点进行任务分配。

可选的,所述分配单元包括:

用于根据节点中具有的所需数据集的大小,通过节点的数据集评分策略,得到该节点的数据集分值,选择分值较高的节点进行任务分配。

可选的,所述分配单元用于通过节点的数据集评分策略,得到该节点的数据集分值,具体包括:

所述分配单元按照公式计算该节点中具有的数据集大小相对值sizei;其中i为该节点的编号,nodenum为集群中具有该数据集的节点的数量,allnum为集群中节点的总数量,datasizei为该目标节点所具有的所需数据集的大小;

所述分配单元判断所述节点数据集大小的相对值sizei与所需数据集的最小值minsize和所需数据集的最大值maxsize之间的大小关系;若该节点的数据集大小相对值小于所需数据集最小值,则令该节点的数据集大小相对值等于所需数据集最小值;若该节点的数据集大小相对值大于所需数据集最大值,则令该节点的数据集大小相对值等于所需数据集最大值;

所述分配单元按照公式计算该节点的数据集分值datascorei。

可选的,所述分配单元,包括:用于根据节点的自身性能以及节点中具有的所需数据集的大小,选择自身性能以及所需数据集的大小都满足预设要求的节点进行任务分配。

可选的,所述系统,包括:代理单元,用于在节点的数据集大小发生变化时,向获取单元发送目标节点的数据集分布信息。

可选的,所述系统,还包括:复检单元,用于检查节点是否具有所需数据集以及具有的所需数据集的大小是否满足处理任务的需求,若该节点不具有所需的数据集或者具有的数据集大小不满足预设要求,下载所述所需数据集。

相较于现有技术,本申请具有以下有益效果:

在本申请实施例中,资源管理平台在分配任务之前先获取节点所具有的数据集信息,通过与处理任务所需的数据集相比较,确定具有所需数据集的节点,根据节点中具有的所需数据集的大小,选择所需数据集的大小满足预设要求的节点进行任务分配。由此可见,在本申请实施例提供的方法中,任务分配时考虑到节点具有的数据集的情况,并且根据节点中具有的所需数据集的大小,将任务分配到所需数据集的大小满足预设要求的节点上,可以使得节点无需下载所需的数据集或者降低节点下载数据集的频率,避免了由于不考虑节点所具有的数据集情况导致的任务分配后节点下载所需数据集造成的时间和资源的浪费,减少了集群的网络压力并且提高了处理任务的效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种基于资源管理平台的任务分配方法的流程图;

图2为本申请实施例提供的又一种基于资源管理平台的任务分配方法的流程图;

图3为本申请实施例提供的一种基于资源管理平台的任务分配系统的结构示意图。

具体实施方式

正如前文所述,目前的资源管理平台的任务分配方法主要考虑的是各个节点的自身性能,缺乏对节点上的数据集信息的统计和分析,在任务分配时根据节点当前的自身性能对节点进行打分,进而分配任务。由于人工智能模型的训练和测试都需要数据集,所以当在资源管理平台上处理人工智能模型的训练和/或测试任务时,资源管理平台先根据当前各个节点的自身性能的情况将任务分配到各个节点上,之后获得任务的节点下载处理任务所需的数据集。

但是由于处理任务所需的数据集往往包含了大量的数据,所以这些数据集较大,每个节点下载时需要的时间较长,所需的网络资源较多,并且在下载数据集完成之后才可以启动任务的处理,所以在节点上下载所需的数据集会导致时间和资源的浪费,降低了处理任务的效率。

发明人经过研究发现,由于现有技术中的任务分配方法缺乏对节点上具有的数据集情况的分析,导致节点在处理任务时出现上述问题,所以,在现有的资源管理平台的任务分配方法中需要考虑到节点所具有的数据集的情况。需要获取各个节点上的数据集的信息,其中,这些信息必须包括节点所具有的数据集的名称,以便确定所述节点是否具有所需的数据集。由于每次处理任务所需的数据集的大小不同,有些任务只需要部分的数据集,有些任务所需的数据集较大,所以需要得到各个节点的所需数据集的大小,在分配任务时选择所需数据集的大小可以满足预设要求的节点,减少节点对数据集的下载。由此,通过对节点的数据集信息的获取和分析,将任务分配到具有所需数据集的节点上,从而避免节点对于所需数据集的下载或者减少对于所需数据集的下载,降低对网络资源的压力,提高处理任务的效率。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

第一实施例

参见图1,该图为本申请实施例提供的一种基于资源管理平台的任务分配方法的流程图。

需要说明的是,本申请的实施例提供的方法可以应用于分布式的资源管理平台,例如kubernetes等资源管理平台。

在本实施例中,所述方法例如可以通过如下步骤s101-s104实现。

s101:接受人工智能模型训练和/或测试任务以及处理任务所需的数据集的名称。

需要说明的是,本申请实施例中不限定人工智能模型的类型。本申请实施例中的提及的人工智能模型可以是深度学习或者机器学习中的算法模型。

需要说明的是,本申请实施例中的任务可以是模型的训练任务或者是测试任务,此处不限定需要处理任务的类型。

需要说明的是,本申请实施例中提及到的数据集可以是本领域技术人员在对人工智能模型进行训练时常用的经典的数据集,具体的数据集选择可以根据实际的人工智能模型的需要确定。例如,所述数据集可以是mnist数据集;又如,所述数据集可以是imagenet数据集。

需要说明的是,本申请实施例中不限定资源管理平台获取任务以及数据集名称的具体方式,在一种可能的实现方式中可以由技术人员向资源管理平台提交。

s102:获取多个节点的数据集分布信息;其中,所述数据集分布信息包括该节点中具有的数据集的名称以及各个数据集的大小。

需要说明的是,本申请实施例中提及的多个节点可以是资源管理平台中的全部节点。

需要说明的是,本申请实施例中不限定数据集分布信息中数据集大小的表现形式,在一种可能的实现方式中,可以是具体的具有数据集大小的数值表示。在另一种可能的实现方式中,可以是具有的数据集大小占数据集总大小的百分比。

需要说明的是,本申请实施例中不限定获取数据集分布信息的具体方式,在一种可能的实现方式中,可以从相关信息储存的单元中获取缓存的节点的数据集分布信息。

s103:根据所述节点中具有的数据集的名称判断所述节点是否具有所需数据集。

需要说明的是,本申请实施例不限定比较的具体方式,在一种可能的实现方式中,通过直接对比处理任务所需的数据集的名称和节点中具有的数据集名称来判断该节点是否具有所需数据集;在另一种可能的实现方式中,先预设的各个数据集对应的数字,通过对比数字来判断该节点是否具有所需数据集。

s104:若节点中具有所需的数据集,根据节点中具有的所需数据集的大小,选择所需数据集的大小满足预设要求的节点进行任务分配。

需要说明的是,本申请实施例中不限定所需数据集大小预设要求,可以根据处理任务的实际情况进行设置,其中,数据集大小的预设要求可以与处理任务所需的数据集大小不同。

需要说明的是,本申请实施例中提及的对节点进行任务分配可以根据各个节点的具体情况以及集群中节点具有数据集的情况,对每个待分配任务的节点按照实际情况进行不同数量的任务分配。

在本实施例中,首先接受人工智能模型训练和/或测试任务以及处理任务所需的数据集的名称,并且获取节点的数据集分布信息;其次,对比所需的数据集的名称与节点中具有的数据集的名称;最后,根据具有所需数据集的节点中的所需数据集的大小,选择具有所需数据集的大小满足预设要求的节点进行任务分配。可见,通过获取节点中的数据集的信息,确定具有所需数据集的节点,并且将任务分配给所需数据集的大小满足预设要求的节点,使得任务分配给具有数据集的节点,降低了分配任务的节点下载数据集的频率或者减少了节点下载数据集的大小,可以缓解资源管理平台下载大量的数据集造成的网络压力,并且减少了由于节点下载数据集的时间,提高了在资源管理平台上处理任务的效率。

第二实施例

在上述第一实施例中,选择具有所需数据集的大小满足预设要求的节点进行任务分配,对于节点具有的所需数据集的大小难以量化。并且,在实际分配任务的情况中,当集群中具有少数的具有的所需数据集的大小满足预设要求的节点时,根据上述分配方法,容易导致大量的任务分配到少数的节点中,造成各个被分配任务的节点负载过大。

针对上述情况,本申请提供了另一种基于资源管理平台的任务分配方法,图2为本申请实施例提供的又一种基于资源管理平台的任务分配方法的流程图。

下面对该实施例进行详细的说明。

s201:接收人工智能模型训练和/或测试任务以及处理任务所需的数据集的名称。

s202:获取由代理单元发送的节点的数据集分布信息;其中,所述数据集分布信息包括该节点中具有的数据集的名称以及各个数据集的大小。

需要说明的是,本申请实施例所述的代理单元可以部署在集群的各个节点上,与节点一一对应。

需要说明的是,本申请实施例中的数据集分布信息还可以包括各个数据集的更新时间等信息。

需要说明的是,本申请实施例不限定代理单元发送节点的数据集分布信息的触发时间,在一种可能的实现方式中,当代理单元检测到节点上的数据集变化时,例如新增数据集。删除数据集。更新数据集等情况下,发送新的数据集分布信息。

s203:根据所述节点中具有的数据集的名称判断所述节点是否具有所需数据集。

s204:根据节点中具有的所需数据集的大小,通过节点的数据集评分策略,得到该节点的数据集分值,选择分值满足预设分值的节点进行任务分配。

需要说明的是,本申请实施例中不限定具体的节点的数据集评分策略,数据集评分策略可以根据资源管理平台中节点和任务分配的实际情况进行制定。在一种可能的实现方式中,可以通过计算节点中具有的所需数据集大小与处理任务所需数据集的大小的比值作为节点的数据集评分,根据各个节点的数据集相对大小的比值确定所需数据集的大小满足预设要求的节点。

s205:当所需数据集的大小符合预设要求的节点的数量不能满足任务分配的要求时,选择具有所需数据集的数量不能满足预设要求的或者不具有所需数据集的节点进行任务分配。

需要说明的是,本申请实施例中不限定具体的处理任务所需的节点的数量,可以根据处理任务以及各个节点的性能进行具体数量的设置。

需要说明的是,本申请实施例中对数据集的大小不能满足要求或者不具有数据集的节点的选择策略不做限定,本领域技术人员可以根据资源管理平台上节点的性能情况和处理任务的需要进行预先设置。

本实施例中通过设置节点的数据集评分策略可以准确地量化节点中具有的所需的数据集大小,便于对节点进行选择;并且在所需数据集的大小满足预设要求的节点数量不足的情况下,将任务分配到具有较少的或者不具有数据集的节点上,避免了当具有所需数据集的节点较少的情况下,将大量的任务分配到数量较少的节点上,导致单个节点的负载过大,影响任务处理。

第三实施例

在上述两个示例性的实施例中,对于节点的任务分配是考虑到节点上具有的所需数据集的情况,在分配任务时,选择具有所需数据集较大的节点进行任务分配,如此可以保证处理任务时减少对数据集的下载。但是,在一些情况下,具有所需数据集较大的节点在自身性能等方面也许不能满足处理任务的需要,仅考虑节点中是否具有数据集可能不能选择出现有条件下处理任务最高效的节点。针对所述情况,本申请提供了一种基于资源管理平台的任务分配方法的另一实施例。

本实施例与前两个实施例的主要区别在于,对于选择分配任务的节点不仅仅考虑到节点所具有的所需数据集的情况,还考虑到节点本身的计算能力和储存能力。

在本实施例中,根据节点的自身性能以及节点中具有的所需数据集的大小,选择自身性能以及所需数据集的大小满足预设要求的节点进行任务分配。

需要说明的是,本申请实施例中对于节点的自身性能以及节点中具有的所需数据集的大小不做具体的限定,对于表示节点的自身性能的具体的数据也不做限定,可以根据处理数据的实际情况进行设定,

需要说明的是,本申请实施例不限定对于节点中各个性能的判断,在一种可能的实现方式中,可以根据设置好的节点性能打分策略实现,通过计算节点不同性能的分数的加权值得到对于该节点的总的评价值。可以理解的是,在另一种实现方式中,可以结合资源管理平台自身的打分策略,结合节点的数据集分值进一步得到对于该节点的整体性能的评价分值。

本申请实施例在原有考虑节点的数据集信息的基础上进一步考虑到节点本身的性能,将上述的节点性能加入到对节点的考量中,确保选择的节点在自身性能和数据集两个方面都可以满足处理任务的需求,提高资源管理平台处理任务的效率。

第四实施例

以上对本申请实施例提供的基于资源管理平台的任务分配方法方法进行了介绍,以下结合具体场景对本申请实施例提供的方法进行介绍。

在该场景中,所述的资源管理平台为kubernetes,算法技术人员将人工智能模型的训练任务提交到kubernetes资源管理平台上,并且指定数据集的名称为dataset。预先在每个节点上设置的代理单元,在节点的数据集信息发生改变时,将各个节点的数据集分布信息提交到资源管理平台kubernetes。其中,代理单元提交的数据集分布信息中包含节点中的数据集名称dataseti和各个数据集的大小datasizei,各个数据集的大小与数据集的名称是对应的,i代表节点的编号。kubernetes中的任务分配单元根据节点中的数据集名称和处理任务所需的数据集的名称,判断各个节点是否具有所需的数据集。将具有所需数据集的节点中具有的所需数据集的大小进行比较,选择所需数据集的大小满足预设要求的节点进行任务分配。其中,为了方便节点的选择,根据预设的节点的数据集评分策略对节点进行评分。由于kubernetes资源管理平台具有节点的性能的打分策略,所以基于kubernetes平台的原有的节点打分策略,结合节点的数据集分值对节点进行任务分配。按照公式计算该节点中具有的数据集大小相对值sizei;其中nodenum为集群中具有该数据集的节点的数量,allnum为集群中节点的总数量。为了防止得到的节点的分值为负值,判断所述节点数据集大小的相对值sizei与所需数据集的最小值minsize和所需数据集的最大值maxsize之间的大小关系。其中,所需数据集最大值与最小值是算法人员在提交任务时根据处理任务的实际情况设置的。若该节点的数据集大小相对值小于所需数据集最小值,则令该节点的数据集大小相对值等于所需数据集最小值;若该节点的数据集大小相对值大于所需数据集最大值,则令该节点的数据集大小相对值等于所需数据集最大值。由于kubernetes具有原有的节点调度策略,所以按照公式得到该节点的数据集分值datascorei。其中,weight为数据集分值在kubernetes的调度策略中的权重值,weight可以取10。将得到的节点的数据集分值与kubernetes原有的节点评分分值相加,对于没有所需数据集的节点,数据集分值为零,选择分值能够满足处理任务要求的节点进行任务分配。当满足要求的节点数量较少的情况下,可以选择分值未满足要求的节点。并且在任务分配完成之后,检查各个节点中具有的所需数据集的大小,对于不具有所需的数据集或者具有的数据集数量大小不足的节点,下载所述所需数据集。

第五实施例

参见图3,该图为本申请实施例提供的一种基于资源管理平台的任务分配系统的结构示意图。

所述系统300例如可以具体包括:获取单元301、判断单元302和分配单元303。

获取单元301,可以用于接受人工智能模型训练和/或测试任务以及处理任务所需的数据集的名称;获取节点的数据集分布信息;其中,所述数据集分布信息包括该节点中具有的数据集的名称以及各个数据集的大小;

判断单元302,可以用于根据所述节点中具有的数据集的名称判断所述节点是否具有所需数据集;

分配单元303,可以用于若节点中具有所需的数据集,根据节点中具有的所需数据集的大小,选择所需数据集的大小满足预设要求的节点进行任务分配。

在一些可能的实施方式中,所述分配单元可以用于根据节点中具有的所需数据集的大小,通过节点的数据集评分策略,得到该节点的数据集分值,选择分值较高的节点进行任务分配。

在一些可能的实施方式中,所述分配单元用于根据节点的自身性能以及节点中具有的所需数据集的大小,选择自身性能以及所需数据集的大小都满足预设要求的节点进行任务分配。

系统还可以包括,代理单元,可以用于在节点的数据集大小发生变化时,向获取单元发送目标节点的数据集分布信息。

在一些可能的实施方式中,系统还可以包括复检单元,用于检查节点是否具有所需数据集以及具有的所需数据集的大小是否满足预设要求,若该节点不具有所需的数据集或者具有的数据集大小不满足预设要求,下载所述所需数据集。

由于所述系统300是与以上方法实施例提供的方法对应的系统,故,关于所述系统300的各个单元的描述可以参考以上方法实施例的描述部分,此处不再赘述。

本实施例中,通过获取单元接收任务和所需的数据集名称以及各个节点的数据集分布信息。判断单元根据所需数据集的名称和节点的数据集分布信息,确定具有所需数据集的节点,并对具有的所需数据集的大小满足预设要求的节点进行任务分配。在任务分配时考虑到节点的数据集的情况,将任务分配到具有所需数据集的节点上,减少了节点对于处理任务的所需数据集的下载,减轻了资源管理平台的集群的网络压力,节约了节点下载数据集的时间,提高了分布式资源管理平台处理需要数据集的人工智能模型的任务的效率。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1