可重新配置的分布式处理制造技术

技术编号:20022874 阅读:24 留言:0更新日期:2019-01-06 03:02
对数据集合的分布式处理包括接收用于对分布式处理系统进行配置的信息。形成组件的第一配置,组件的所述第一配置包括分布在计算资源(190至194)之中的数据元素的源(110)以及被配置用于处理数据元素的工作器(240)。每个数据元素包括分区值,所述分区值根据分区规则来标识所述工作器的子集。在第一处理时期内从所述源接受所述数据集合的第一部分的数据元素,并且通过所述第一配置来路由所述数据元素。在接受所述数据集合的第一部分之后,启动配置更改,变成第二配置。执行组件的配置之间的一系列两次或更多次转变以得到一系列经修改的配置,所述经修改的配置中的最后一个对应于所述第二配置。在第二处理时期内从所述第二配置的源接受其他的数据元素。

【技术实现步骤摘要】
【国外来华专利技术】可重新配置的分布式处理相关申请的交叉引用本申请要求于2016年5月17日提交的美国申请序列号62/337,422的优先权。
技术介绍
本专利技术涉及一种用于可重新配置分布式处理的方法,并且更具体地涉及可响应于处理位点数量的变化或者数据生成器或消费者位点数量的变化而进行重新配置的分布式处理方法。对数据元素集进行分布式处理可以使用多个数据元素生成器(即,每个都是数据生成的位点),例如,不同的计算机服务器,或者多处理器系统内的物理处理器或逻辑处理器,每个数据元素生成器都为待处理的部分数据提供数据访问(例如,来自数据库)或数据存储(例如,来自盘文件系统)。类似地,处理的结果可以被发送至多个数据消耗位点(例如,处理、存储、传输),所述多个数据消耗位点也可以是计算机服务器或处理器的集。处理其本身可以分布在不同的处理位点之中,例如,每个位点与不同的物理资源(比如,单独的计算机服务器或者服务器上的处理器)、或逻辑资源(比如,服务器上的操作系统进程、和/或操作系统进程内的处理线程)相关联。一种用于协调所述处理的方法是确定生成器位点、处理位点、和消费者位点例如在基于图形的数据流架构中的安排。
技术实现思路
在2016年3月3日公开的标题为“ExecutingGraph-BasedProgramSpecifications(执行基于图形的程序规范)”的美国专利公开2016/0062776中描述了一种用于分布式处理的方法,所述美国专利通过引用结合在此。本系统的一个方面是实施“forall(全面)”操作,其中,对数据集合的所有数据元素进行处理而不一定需要对集合的元素进行严格排序。通常,数据元素源分布在多个计算资源(例如,服务器)上,并且对数据元素的处理结果分布在多个计算资源上。在一些情况下,对数据集合的数据元素的处理不具有对元素处理的排序和/或并发性方面的约束,并且计算负载和/或存储负载在资源之中的分布很大程度上基于效率考虑因素。在其他情况下,可能存在两种类型的约束中的一种或两种。第一约束,以下称为“分区约束”,涉及维持某些数据元素子集的严格排序。为了具体说明此约束,每个元素可以包括“分区密钥”字段,并且所述约束是对具有(a)相同分区密钥值并且是(b)从数据源的同一部分(即,从同一存储设备或同一服务器)检索出的数据元素的约束,保证数据元素到达处理位点的顺序与数据元素从此数据源检索出来的顺序相同。通常,可以同时处理对到达处理位点的数据元素的处理。第二约束,以下称为“并发性约束”,涉及防止在处理位点处对某些数据元素子集中的元素进行并发处理。为了具体说明此约束,每个元素可以包括“并发性密钥”字段,并且所述约束是关于不可以在处理位点处同时对具有相同并发性密钥的两个数据元素进行处理的约束。系统可以将所述约束中的任一者单独地应用到处理数据元素中,或者可以对处理一起施加这两个约束。在一些示例中,保证具有相同并发性密钥值的两个数据元素具有相同的分区密钥值(例如,并发性密钥是分区密钥的“扩展”),然而,更一般地,并发性密钥值独立于数据元素的分区密钥值。在并发性密钥是分区密钥的扩展(或者所述分区对于具有相同并发性密钥的数据元素而言另外唯一)的情况下,并发性约束保证在系统的任何处理位点处不同时对具有相同并发性密钥的两个数据元素进行处理。需要提供一种方法,用于在计算资源集上分配对数据集合的元素的“forall”处理,其方式为使得满足以上标识的分区约束和/或并发性约束。还需要一种对处理进行分配的方法,以允许对计算资源进行重新配置或重新定位,同时继续满足分区约束和定序约束。在一个方面,通常,一种用于对数据集合进行分布式处理的方法包括通过输入设备或端口接收用于配置分布式处理系统的信息,所述配置包括形成所述分布式处理系统的组件的第一配置。所述第一配置包括所述数据集合的数据元素的多个源以及被配置用于处理所述数据集合的数据元素的多个工作器,其中,所述源和所述工作器分布在多个计算资源之中。每个数据元素包括分区值,所述分区值根据组件的所述第一配置的分区规则来标识所述第一配置的所述多个工作器的子集。在至少两个处理时期期间在所述分布式处理系统中处理数据,所述处理包括以下步骤。在第一处理时期内从所述源接受所述数据集合的第一部分的数据元素,并且通过所述第一配置来路由这些数据元素。完成对所述第一部分的这些数据元素中的至少一些的处理,而所述第一部分的其他数据元素(即,除了已经完成处理的数据元素之外的数据元素)在所述第一配置的组件处保持排队。在接受所述数据集合的第一部分之后,启动所述分布式处理系统从所述第一配置到第二配置的配置更改。在启动所述配置更改之后,执行所述系统的组件的配置之间的一系列两次或更多次转变,以形成组件的一系列经修改的配置。在每次转变之后,在所述经修改的配置的组件之间传送数据元素。所述经修改的配置中的最后一个对应于所述第二配置,由此完成从所述第一配置到所述第二配置的转变。在完成到所述第二配置的转变之后,在第二处理时期内从所述第二配置的多个源接受所述数据集合中的其他数据元素。方面可以包括以下特征中的一项或多项。所述多个计算资源包括经由通信链路联接的多个处理器。所述多个计算资源包括在所述多个处理器中的每一个上执行的至少一个处理线程,每个计算资源与不同的处理线程相关联。每个数据元素源被联接到被配置用于从所述源接受数据元素的分区器模块,并且其中,每个分区器配置有所述分区规则以将数据元素引导至根据所述分区规则所标识的工作器。执行所述系统的组件的配置之间的所述一系列两次或更多次转变中的第一转变包括:中止所述分区器模块的操作,停止在所述分区器模块处从所述源接受数据元素,对多个分区模块重新配置经修改的分区规则,以及联接从源接受的至少一个数据元素队列,以向重新配置有所述经修改的分区的分区模块提供数据元素。每个分区器模块与联接到所述分区器模块的源被托管在同一计算资源上,其中,执行数据元素从所述源到所述分区器的传递而无需处理器之间的通信。所述多个工作器包括一个或多个工作器,所述一个或多个工作器中的每个工作器被联接到被配置用于从多个分区器模块接受数据元素的接受器模块。执行所述系统的组件的配置之间的所述一系列两次或更多次转变中的第一转变包括:中止所述分区器模块的操作,停止在所述分区器模块处从所述源接受数据元素,中止多个接受器模块的操作,对所述多个分区模块重新配置经修改的分区规则,以及联接所述多个接受器模块的至少一个接受器模块队列,以向重新配置有所述经修改的分区的分区模块提供数据元素。每个接受器模块与联接到所述接受器模块的工作器被托管在同一计算资源上,其中,执行数据元素从所述接受器模块到所述工作器的传递而无需处理器之间的通信。第一分区器模块与第一接受器模块被托管在同一计算资源上、并且与第二接受器模块被托管在不同的计算资源上,并且其中,路由所述数据元素包括将数据元素从所述第一分区器模块传递到所述第一接受器模块而无需处理器之间的通信,并且其中,路由所述数据元素包括在对数据元素进行处理器之间的通信以传递到所述第二接受器模块之前在所述第一分区器模块处使所述数据元素排队。所述多个工作器包括一个或多个工作器,所述一个或多个工作器中的每个工作器被联接到被配置用于从多个分区器模块接受数据元素的接受器模块。以本文档来自技高网...

【技术保护点】
1.一种用于对数据集合进行分布式处理的方法,所述方法包括:通过输入设备或端口接收用于配置分布式处理系统的信息,所述配置包括形成所述分布式处理系统的组件的第一配置,所述第一配置包括所述数据集合的数据元素的多个源以及被配置用于处理所述数据集合的数据元素的多个工作器,所述源和所述工作器分布在多个计算资源之中,其中,每个数据元素包括分区值,所述分区值根据所述第一配置的分区规则来标识所述第一配置的所述多个工作器的子集;以及在至少两个处理时期期间在所述分布式处理系统中处理数据,所述处理包括:在第一处理时期内从所述源接受所述数据集合的第一部分的数据元素,并且通过所述第一配置来路由所述数据元素并完成对所述数据元素中的至少一些的处理,其中,所述第一部分的所述数据元素中的其他数据元素在所述第一配置的组件处保持排队;在接受所述数据集合的第一部分之后,启动所述分布式处理系统从所述第一配置到第二配置的配置更改;在启动所述配置更改之后,执行所述系统的组件的配置之间的一系列两次或更多次转变以得到组件的一系列经修改的配置,并且在每次转变之后致使在所述经修改的配置的组件之间进行数据元素的传送,其中,所述经修改的配置中的最后一个对应于所述第二配置,由此完成从所述第一配置到所述第二配置的转变;以及在完成到所述第二配置的转变之后,在第二处理时期内从所述第二配置的多个源接受所述数据集合中的其他数据元素。...

【技术特征摘要】
【国外来华专利技术】2016.05.17 US 62/337,4221.一种用于对数据集合进行分布式处理的方法,所述方法包括:通过输入设备或端口接收用于配置分布式处理系统的信息,所述配置包括形成所述分布式处理系统的组件的第一配置,所述第一配置包括所述数据集合的数据元素的多个源以及被配置用于处理所述数据集合的数据元素的多个工作器,所述源和所述工作器分布在多个计算资源之中,其中,每个数据元素包括分区值,所述分区值根据所述第一配置的分区规则来标识所述第一配置的所述多个工作器的子集;以及在至少两个处理时期期间在所述分布式处理系统中处理数据,所述处理包括:在第一处理时期内从所述源接受所述数据集合的第一部分的数据元素,并且通过所述第一配置来路由所述数据元素并完成对所述数据元素中的至少一些的处理,其中,所述第一部分的所述数据元素中的其他数据元素在所述第一配置的组件处保持排队;在接受所述数据集合的第一部分之后,启动所述分布式处理系统从所述第一配置到第二配置的配置更改;在启动所述配置更改之后,执行所述系统的组件的配置之间的一系列两次或更多次转变以得到组件的一系列经修改的配置,并且在每次转变之后致使在所述经修改的配置的组件之间进行数据元素的传送,其中,所述经修改的配置中的最后一个对应于所述第二配置,由此完成从所述第一配置到所述第二配置的转变;以及在完成到所述第二配置的转变之后,在第二处理时期内从所述第二配置的多个源接受所述数据集合中的其他数据元素。2.如权利要求1所述的方法,其中,所述多个计算资源包括经由通信链路联接的多个处理器。3.如权利要求2所述的方法,其中,所述多个计算资源包括在所述多个处理器中的每一个上执行的至少一个处理线程,每个计算资源与不同的处理线程相关联。4.如任一前述权利要求所述的方法,其中,每个数据元素的源被联接到被配置用于从所述源接受数据元素的分区器模块,并且其中,每个分区器配置有所述分区规则以将数据元素引导至根据所述分区规则所标识的工作器。5.如权利要求4所述的方法,其中,执行所述系统的组件的配置之间的所述一系列两次或更多次转变中的第一转变包括:中止所述分区器模块的操作,停止在所述分区器模块处从所述源接受数据元素;对多个分区模块重新配置经修改的分区规则;以及联接从源接受的至少一个数据元素队列,以向重新配置有所述经修改的分区的分区模块提供数据元素。6.如权利要求4所述的方法,其中,每个分区器模块与联接到所述分区器模块的源被托管在同一计算资源上,其中,执行数据元素从所述源到所述分区器的传递而无需处理器之间的通信。7.如权利要求4或6所述的方法,其中,所述多个工作器包括一个或多个工作器,所述一个或多个工作器中的每个工作器被联接到被配置用于从多个分区器模块接受数据元素的接受器模块。8.如权利要求7所述的方法,其中,执行所述系统的组件的配置之间的所述一系列两次或更多次转变中的第一转变包括:中止所述分区器模块的操作,停止在所述分区器模块处从所述源接受数据元素;中止多个接受器模块的操作;对所述多个分区模块重新配置经修改的分区规则;以及联接所述多个接受器模块的至少一个接受器模块队列,以向重新配置有所述经修改的分区的分区模块提供数据元素。9.如权利要求7或8所述的方法,其中,每个接受器模块与联接到所述接受器模块的工作器被托管在同一计算资源上,其中,执行数据元素从所述接受器模块到所述工作器的传递而无需处理器之间的通信。10.如权利要求7至9中任一项所述的方法,其中,第一分区器模块与第一接受器模块被托管在同一计算资源上、并且与第二接受器模块被托管在不同的计算资源上,并且其中,路由所述数据元素包括将数据元素从所述第一分区器模块传递到所述第一接受器模块而无需处理器之间的通信,并且其中,路由所述数据元素包括在对数据元素进行处理器之间的通信以传递到所述第二接受器模块之前在所述第一分区器模块处使所述数据元素排队。11.如任一前述权利要求所述的方法,其中,所述多个工作器包括一个或多个工作器,所述一个或多个工作器中的每个工作器被联接到被配置用于从多个分区器模块接受数据元素的接受器模块。12.如权利要求11所述的方法,其中,以先进先出顺序从所述分区器模块中的任何一个接收数据元素。13.如任一前述权利要求所述的方法,其中,每个数据元素进一步包括序列化值,并且其中,在所述第一处理时...

【专利技术属性】
技术研发人员:J·纽伯恩C·W·斯坦菲尔
申请(专利权)人:起元技术有限责任公司
类型:发明
国别省市:美国,US

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

1