本公开涉及一种数据处理技术。更具体地说,本公开涉及一种类单机的分布式数据处理系统及其数据处理方法。
背景技术:
1、在深度学习普及的现在,越来越多的模型以及规模越来越大的数据使得深度学习的训练已经不能在单台计算设备上实现。为此人们提出了分布式计算。随着分布式计算的普及,大型的作业或大张量会通过分割而将不同部分的数据部署到不同的分布式数据处理系统的各个计算设备上进行处理,并在各个部分计算过程需要进行中间参数的交互。这样,在具体作业的处理过程中,部署在一个计算设备上的计算中间参数或结果会成为另一个计算设备上的计算任务的输入数据,这会引起计算设备之间的数据传输开销。而且,深度学习的进行各种并行数据处理的数据处理节点成千上万或几百万,这些节点在各个设备之间的数据的传输和交换采用人工方式来反复调整和安排,这会耗费技术人员的大量的精力,导致大量的人工浪费。尤其是能够进行这种人工调整的人员都是高层次的人才,如果这些高层次人才将时间浪费在人工调整的琐碎工作中,必然导致人才浪费。如果用户能够在一种分布式系统中像单机一样执行深度学习中的各种并行的数据处理,不用关心集群中计算、通信的细节,只需关心逻辑上的数据与计算,依然像单机单卡那样思考数据处理问题,进行分布式训练,这会极大简化技术人员的工作内容,这是本领域技术人员所需要的。将技术人员从这种巨量的安排工作中解脱出来,是本领域长期以来期望的结果。
2、因此,人们需要一种能够使得技术人员像面对单机单卡那样思考数据处理问题,进行分布式数据训练的包含多个分布式数据处理设备的集成化系统,使得技术人员在进行数据处理时,无需考虑基于分布式数据处理设备间的数据交换和传输问题。
技术实现思路
1、本发明的一个目的是解决至少上述问题,具体而言,本公开提供一种类单机的分布式数据处理系统,由分布式部署的多个数据处理设备集成,用于执行分布式数据处理,包括:设备拓扑关系获取组件,用于获取分布式部署的多个数据处理设备之间的拓扑关系,并按照拓扑层级进行设备的一级或多级编号,从而使得每个数据处理设备具备位置标识;用户需求计算容量分配组件,基于用户的指定,为用户所需要执行的数据处理从所述分布式部署的多个数据处理设备中分配用户指定数量的位置标识连续的数据处理设备;初始逻辑节点生成组件,接收用户输入的任务配置数据,生成用于所指定的数据处理设备的初始逻辑节点拓扑图;候选sbp签名加载组件,获取每个初始逻辑节点的类型,并按照加载规则为每个初始逻辑节点加载一个或多个候选sbp签名;sbp分布描述符初始配置组件,基于任务配置数据,获取待处理数据的并行处理模式,并基于用户申请的用于执行数据处理设备,赋予每个作为源逻辑节点的输入张量的初始输入数据的sbp分布描述符以及与所赋予的sbp分布描述符对应的数据处理设备的位置标识;以及sbp分布描述符推导组件,用于从源逻辑节点开始,逐级遍历初始逻辑节点拓扑图的每个逻辑节点,基于每个逻辑节点的候选sbp签名,推导出每个逻辑节点的输出张量的sbp分布描述符以及与所推导出的sbp分布式对应的数据处理设备的位置标识。
2、根据本公开的类单机的分布式数据处理系统,其还包括:候选sbp签名选择组件,针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,选择当前初始逻辑节点的候选sbp分布式签名中与所述上游逻辑节点的输出端对应输入端的sbp分布描述符相同的候选sbp分布式签名作为所述当前始逻辑节点的结果sbp分布式签名。
3、根据本公开的类单机的分布式数据处理系统,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,并选择与最小的变换传输代价对应的候选sbp签名作为所述当前始逻辑节点的结果sbp分布式签名。
4、根据本公开的类单机的分布式数据处理系统,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,以及计算所有当前初始逻辑节点的变换传输代价的组合代价和,并选择最小的组合代价和所对应的各个当前初始逻辑节点的候选sbp签名作为各个当前始逻辑节点的结果sbp分布式签名。
5、根据本公开的类单机的分布式数据处理系统,其还包括:变换逻辑节点插入组件,当所述候选sbp签名选择组件在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时为所述当前始逻辑节点选择了结果sbp分布式签名之后,在当前始逻辑节点的对应的计算节点的所述输入端和对应的上游逻辑节点对应的各个计算节点的输出端之间插入变换逻辑节点,以便将上游逻辑节点对应的各个计算节点的输出端所输出的由输出端的sbp分布描述符描述的逻辑张量变换为当前结果逻辑节点对应的各个计算节点的对应的输入端所要输入的由输入端的sbp分布描述符描述的逻辑张量。
6、根据本公开的另一个方面,还提供了一种根据本公开的类单机的分布式数据处理系统的数据处理方法,所述单机系统由分布式部署的多个数据处理设备集成,用于执行分布式数据处理,所述方法包括:通过设备拓扑关系获取组件获取分布式部署的多个数据处理设备之间的拓扑关系,并按照拓扑层级进行设备的一级或多级编号,从而使得每个数据处理设备具备位置标识;通过用户需求计算容量分配组件基于用户的指定,为用户所需要执行的数据处理从所述分布式部署的多个数据处理设备中分配用户指定数量的位置标识连续的数据处理设备;通过初始逻辑节点生成组件接收用户输入的任务配置数据,生成用于所指定的数据处理设备的初始逻辑节点拓扑图;通过候选sbp签名加载组件获取每个初始逻辑节点的类型,并按照加载规则为每个初始逻辑节点加载一个或多个候选sbp签名;通过sbp分布描述符初始配置组件基于任务配置数据,获取待处理数据的并行处理模式,并基于用户申请的用于执行数据处理设备,赋予每个作为源逻辑节点的输入张量的初始输入数据的sbp分布描述符以及与所赋予的sbp分布描述符对应的数据处理设备的位置标识;以及通过sbp分布描述符推导组件从源逻辑节点开始,逐级遍历初始逻辑节点拓扑图的每个逻辑节点,基于每个逻辑节点的候选sbp签名,推导出每个逻辑节点的输出张量的sbp分布描述符以及与所推导出的sbp分布式对应的数据处理设备的位置标识。
7、根据本公开的类单机的分布式数据处理系统的数据处理方法,其还包括:通过候选sbp签名选择组件,针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,选择当前初始逻辑节点的候选sbp分布式签名中与所述上游逻辑节点的输出端对应输入端的sbp分布描述符相同的候选sbp分布式签名作为所述当前始逻辑节点的结果sbp分布式签名。
8、根据本公开的类单机的分布式数据处理系统的数据处理方法,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,并选择与最小的变换传输代价对应的候选sbp签名作为所述当前始逻辑节点的结果sbp分布式签名。
9、根据本公开的类单机的分布式数据处理系统的数据处理方法,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,以及计算所有当前初始逻辑节点的变换传输代价的组合代价和,并选择最小的组合代价和所对应的各个当前初始逻辑节点的候选sbp签名作为各个当前始逻辑节点的结果sbp分布式签名。
10、根据本公开的类单机的分布式数据处理系统的数据处理方法,其还包括:通过变换逻辑节点插入组件在所述候选sbp签名选择组件在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时为所述当前始逻辑节点选择了结果sbp分布式签名之后,在当前始逻辑节点的对应的计算节点的所述输入端和对应的上游逻辑节点对应的各个计算节点的输出端之间插入变换逻辑节点,以便将上游逻辑节点对应的各个计算节点的输出端所输出的由输出端的sbp分布描述符描述的逻辑张量变换为当前结果逻辑节点对应的各个计算节点的对应的输入端所要输入的由输入端的sbp分布描述符描述的逻辑张量。
11、通过根据本公开的类单机的分布式数据处理系统及其数据处理方法,系统能够自动安排所有并行数据在参与数据处理的数据处理设备之间的传输和交换,因此可以接收的数据处理任务无需技术人员对并行处理的数据的交换和传输进行安排,这就使得技术人员在知道采用本公开的类单机的分布式数据处理系统进行数据处理时,无需花费精力关注被并行处理的数据在分布式数据处理设备之间的交换和传输问题,只需要关注逻辑上的数据与计算即可。这会实现并行数据处理中数据的交换和传输方式自动化,极大地降低了人工开发成本。
12、本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
1.一种类单机的分布式数据处理系统,由分布式部署的多个数据处理设备集成,用于执行分布式数据处理,包括:
2.根据权利要求1所述的类单机的分布式数据处理系统,其还包括:
3.根据权利要求2所述的类单机的分布式数据处理系统,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,并选择与最小的变换传输代价对应的候选sbp签名作为所述当前始逻辑节点的结果sbp分布式签名。
4.根据权利要求2所述的类单机的分布式数据处理系统,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,以及计算所有当前初始逻辑节点的变换传输代价的组合代价和,并选择最小的组合代价和所对应的各个当前初始逻辑节点的候选sbp签名作为各个当前始逻辑节点的结果sbp分布式签名。
5.根据权利要求3或4所述的类单机的分布式数据处理系统,其还包括:
6.一种类单机的分布式数据处理系统的数据处理方法,所述单机系统由分布式部署的多个数据处理设备集成,用于执行分布式数据处理,所述方法包括:
7.根据权利要求6所述的类单机的分布式数据处理系统的数据处理方法,其还包括:
8.根据权利要求6所述的类单机的分布式数据处理系统的数据处理方法,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,并选择与最小的变换传输代价对应的候选sbp签名作为所述当前始逻辑节点的结果sbp分布式签名。
9.根据权利要求7所述的类单机的分布式数据处理系统的数据处理方法,其中所述候选sbp签名选择组件针对每个经过sbp分布描述符推导后的当前初始逻辑节点,基于其每个候选sbp分布式签名的上游逻辑节点的输出端的sbp分布描述符,在当前初始逻辑节点的所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符与其对应上游初始逻辑节点的输出张量的sbp分布描述符都不相同时,计算将上游逻辑节点的输出端的sbp分布描述符所描述的张量变换为所有候选sbp签名的输入端所需要的输入张量的sbp分布描述符所描述的张量所产生变换传输代价,以及计算所有当前初始逻辑节点的变换传输代价的组合代价和,并选择最小的组合代价和所对应的各个当前初始逻辑节点的候选sbp签名作为各个当前始逻辑节点的结果sbp分布式签名。
10.根据权利要求8或9所述的类单机的分布式数据处理系统的数据处理方法,其还包括:
