分布式任务处理与异步模型训练系统、方法、设备及介质技术方案

技术编号:36204073 阅读:15 留言:0更新日期:2023-01-04 11:58
本申请实施例提供一种分布式任务处理与异步模型训练系统、方法、设备及介质。针对由多个第一节点和多个第二节点组成的分布式任务处理系统,第一节点可以从多个第二节点获取所需的多个任务数据以执行任务,第二节点可以通过物理网卡向多个第一节点提供多个任务数据。在能够不依赖全局同步信息的情况下,对第二节点下发到物理网卡的多个任务数据进行调度规划,既通过控制并发数保证任务数据从第二节点到第一节点的传输速度,又通过多个第一节点的调度优先级调整各个任务数据的发送优先级,使得多个第二节点可以在同一发送窗口发送同一第一节点的任务数据,便于第一节点同步获取所需的多个任务数据,解决事务长尾问题,提升整体的任务处理效率。体的任务处理效率。体的任务处理效率。

【技术实现步骤摘要】
分布式任务处理与异步模型训练系统、方法、设备及介质


[0001]本申请涉及互联网
,尤其涉及一种分布式任务处理与异步模型训练系统、方法、设备及介质。

技术介绍

[0002]PS

Worker架构是深度学习异步训练常见的解决方案之一。在PS

Worker架构中,将节点分为两类:参数服务器(Parameter Server,PS)和工作节点(Worker),PS用于存储模型训练所需的参数,Worker负责模型训练得到参数的梯度。在每个训练迭代过程中,Worker从PS获取模型训练所需的参数,然后基于参数进行模型训练得到参数的梯度,并将得参数的梯度返回给PS,PS聚合各Worker返回的参数的梯度,然后更新参数以用于后续迭代过程。
[0003]由于PS侧会同时收到来自多个Worker的多个任务请求,PS通过多线程处理任务请求后将需要返回的报文(即模型训练所需的参数)通过硬件网卡发送,在任务请求数量较多的情况下,硬件网卡侧需要同时发送大量的报文,不同任务请求对应的报文会共享网卡带宽,较大的并发数将会导致每个报文的到达时间都被延长,影响整体训练速度。因此,在PS使用的网卡资源有限的情况下,如何提升PS的响应速度是分布式训练过程中的一个重要课题。

技术实现思路

[0004]本申请的多个方面提供一种分布式任务处理与异步模型训练系统、方法、设备及介质,用以提高整体的任务处理效率和响应及时性。
[0005]本申请实施例提供一种一种分布式任务处理系统,用于对目标作业任务进行处理,目标作业任务包括可并行执行的多个子任务,该系统包括:用于执行多个子任务的多个第一节点,以及用于为多个第一节点提供执行子任务所需的任务数据的多个第二节点;每个第一节点对应多个第二节点中的至少两个第二节点,用于向至少两个第二节点分别发送任务请求,并根据至少两个第二节点根据任务请求提供的至少两个任务数据执行对应的子任务;其中,至少两个第二节点向同一第一节点提供不同的任务数据;每个第二节点对应多个第一节点中的至少两个第一节点,用于接收至少两个第一节点发送的至少两个任务请求,获取至少两个任务请求对应的至少两个任务数据;根据至少两个第一节点的调度优先级,按照预设的并发数N,在每个发送窗口从至少两个任务数据中读取N个任务数据,通过物理网卡将N个任务数据发送给当前被调度到的N个第一节点;其中,N是正整数,且小于第一节点的数量。
[0006]本申请实施例还提供一种异步模型训练系统,用于执行面向深度学习的异步模型训练任务,异步模型训练任务包括可并行执行的多个模型训练子任务,该系统包括多个参数服务器和多个工作节点;每个工作节点,用于向多个参数服务器中至少两个参数服务器发送参数获取请求,并根据至少两个参数获取请求提供的至少两个模型参数执行对应的模型训练子任务;其中,至少两个参数服务器向同一工作节点提供不同的模型参数;每个参数
服务器负责为多个工作节点中至少两个工作节点提供模型参数,用于接收至少两个工作节点发送的参数获取请求,获取至少两个参数获取请求对应的至少两个模型参数并将至少两个模型参数封装成至少两个报文;根据至少两个工作节点的调度优先级,按照预设的并发数N,在每个发送窗口从至少两个报文中读取N个报文,通过物理网卡将N个报文发送给当前被调度到的N个工作节点;其中,N是正整数,且小于工作节点的数量。
[0007]本申请实施例还提供一种分布式任务处理方法,应用于分布式任务处理系统中多个第二节点中的任一第二节点,该方法包括:接收分布式任务处理系统中多个第一节点中的至少两个第一节点发送的至少两个任务请求,获取至少两个任务请求对应的至少两个任务数据;根据至少两个第一节点的调度优先级,按照预设的并发数N,在每个发送窗口从至少两个任务数据中读取N个任务数据;通过物理网卡将N个任务数据发送给当前被调度到的N个第一节点,以使每个第一节点根据至少两个第二节点发送的至少两个任务数据执行目标作业任务中对应的子任务;其中,N是正整数,且小于第一节点的数量。
[0008]本申请实施例还提供一种节点设备,可作为分布式任务处理系统中多个第二节点中的任一第二节点实现,该设备包括:存储器和处理器;存储器,用于存储计算机程序,处理器与存储器耦合,用于执行计算机程序,以用于实现分布式任务处理方法中的步骤。
[0009]本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现分布式任务处理方法中的步骤。
[0010]在本申请实施例中,针对由多个作为任务执行方的第一节点和多个作为任务数据提供方的第二节点组成的分布式任务处理系统,第一节点可以从多个第二节点获取所需的多个任务数据以执行任务,第二节点可以通过物理网卡向多个第一节点分别提供任务数据。在能够不依赖全局同步信息的情况下,对第二节点下发到物理网卡的多个任务数据进行调度规划,既通过控制并发数保证任务数据从第二节点到第一节点的传输速度,又通过多个第一节点的调度优先级调整不同第一节点的任务数据的发送优先级,使得多个第二节点可以在同一发送窗口(简称为同步)发送同一第一节点的多个任务数据,便于第一节点同步获取所需的多个任务数据,从而缩短第一节点视角下的任务响应时间,提升整体的任务处理效率。特别是在分布式任务处理系统实现为由多个参数服务器和多个工作节点组成异步模型训练系统的情况下,有效地缩短工作节点视角下的任务响应时间,解决事务长尾问题,提升整体的模型训练效率。
附图说明
[0011]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0012]图1为本申请实施例提供的一种分布式任务处理系统的结构示意图;
[0013]图2为本申请实施例提供的一种异步模型训练系统的结构示意图;
[0014]图3为本申请实施例提供的一种分布式任务处理方法的流程图;
[0015]图4为本申请实施例提供的一种分布式任务处理装置的结构示意图;
[0016]图5为本申请实施例提供的一种节点设备的结构示意图。
具体实施方式
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]在PS使用的网卡资源有限的情况下,如何提升PS的响应速度是分布式训练过程中的一个重要课题。为此,本申请实施例提供一种分布式任务处理与异步模型训练系统、方法、设备及介质。在本申请实施例中,针对由多个作为任务执行方的第一节点和多个作为任务数据提供方的第二节点组成的分布式任务处理系统,第一节点可以从多个第二节点获取所需的多个任务数据以执行任务,第二节点可以通过物理网卡本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式任务处理系统,其特征在于,用于对目标作业任务进行处理,所述目标作业任务包括可并行执行的多个子任务,所述系统包括:用于执行所述多个子任务的多个第一节点,以及用于为所述多个第一节点提供执行子任务所需的任务数据的多个第二节点;每个第一节点对应所述多个第二节点中的至少两个第二节点,用于向所述至少两个第二节点分别发送任务请求,并根据所述至少两个第二节点根据所述任务请求提供的至少两个任务数据执行对应的子任务;其中,所述至少两个第二节点向同一第一节点提供不同的任务数据;每个第二节点对应所述多个第一节点中至少两个第一节点,用于接收所述至少两个第一节点发送的至少两个任务请求,获取所述至少两个任务请求对应的至少两个任务数据;根据所述至少两个第一节点的调度优先级,按照预设的并发数N,在每个发送窗口从所述至少两个任务数据中读取N个任务数据,通过物理网卡将所述N个任务数据发送给当前被调度到的N个第一节点;其中,N是正整数,且小于所述第一节点的数量。2.根据权利要求1所述的系统,其特征在于,每个第二节点具体用于:获取所述至少两个第一节点对应的目标参数,根据所述至少两个第一节点的调度优先级,结合所述至少两个第一节点对应的目标参数,对所述至少两个任务数据进行排序;按照预设的并发数N,在每个发送窗口从排序后的至少两个任务数据中读取排在最前面的N个任务数据;其中,所述目标参数用于保证每个第一节点对应的任务数据在设定时间内能够被发送出去。3.根据权利要求2所述的系统,其特征在于,每个第二节点获取所述至少两个第一节点对应的目标参数,包括:针对所述至少两个第一节点中每个第一节点,从每个第一节点发送的任务请求中获取所述第一节点的当前任务轮数,作为所述第一节点对应的目标参数,所述当前任务轮数表示第一节点当前执行子任务的轮数。4.根据权利要求3所述的系统,其特征在于,每个第二节点还用于维护第一发送任务队列,所述第一发送任务队列用于存储所述多个任务数据;相应地,每个第二节点根据所述至少两个第一节点的调度优先级,结合所述至少两个第一节点对应的目标参数,对所述至少两个任务数据进行排序,包括:每当获取到一个任务请求对应的任务数据时,根据所述任务数据以及所述第一发送任务队列中已有任务数据对应的第一节点的当前任务轮数,确定所述任务数据在所述第一发送任务队列中的目标位置范围,其中,同一位置范围内的任务数据对应的第一节点的当前任务轮数相同;根据所述任务数据以及所述目标位置范围内已有任务数据对应的第一节点的调度优先级,将所述任务数据插入所述目标位置范围内已有任务数据中。5.一种异步模型训练系统,其特征在于,用于执行面向深度学习的异步模型训练任务,所述异步模型训练任务包括可并行执行的多个模型训练子任务,所述系统包括多个参数服务器和多个工作节点;每个工作节点,用于向所述多个参数服务器中至少两个参数服务器发送参数获取请求,并根据所述至少两个参数获取请求提供的至少两个模型参数执行对应的模型训练子任务;其中,所述至少两个参数服务器向同一工作节点提供不同的模型参数;
每个参数服务器负责为所述多个工作节点中至少两个工作节点提供模型参数,用于接收所述至少两个工作节点发送的参数获取请求,获取所述至少两个参数获取请求对应的至少两个模型参数并将所述至少两个模型参数封装成至少两个报文;根据所述至少两个工作节点的调度优先级,按照预设的并发数N,在每个发送窗口从所述至少两个报文中读取N个报文,通过物理网卡将所述N个报文发送给当前被调度到的N个工作节点;其中,N是正整数,且小于所述工作节点的数量。6.一种分布式任务处理方法,其特征在于,应用于分布式任务处理系统中多个第二节点中的任一第二节点,所述方法包括:接收所述分布式任务处理系统中多个第一节点中的至少两个第一节点发送的至少两个任务请求,获取所述至少两个任务请求对应的至少两个任务数据;根据所述至少两个第一节点的调度优先级,按照预设的并发数N,在每个发送窗口从所述至少两个任务数...

【专利技术属性】
技术研发人员:张泽超董建波李豪
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1