用于图形数据的分布式计算的系统和方法技术方案

技术编号:12992059 阅读:98 留言:0更新日期:2016-03-10 02:30
用于图形数据的分布式计算的方法和系统允许边收集和顶点收集,每一种收集都在多个计算单元之间进行分割。在一个实施例中,这些方法采用两阶段计算周期,重复两阶段计算周期直至计算完成。在第一阶段中,多个处理单元通过进行以下步骤来处理每一个活动边和活动顶点:读取它们的当前属性值、执行编程计算函数、更新多个边属性并且向顶点发送数据消息。在第二阶段中,每一个顶点更新处理器通过进行以下步骤来处理其多个活动顶点中的每一个活动顶点:读取其多个当前属性值以及所接收到的多条数据消息、执行编程计算函数、并且更新该顶点的多个属性值。

【技术实现步骤摘要】
相关申请的交叉引用本申请要求2014年8月29日所提交的美国临时专利申请序列号62/043,849的优先权。明确地要求该临时申请的优先权,并且该临时申请的披露通过引用以其全部内容并且出于所有目的结合在此。
本披露总体上涉及基于图形的关系,并且更具体地(但不排他地)涉及对图形数据的允许边收集和顶点收集的分布式计算。
技术介绍
对大数据集的许多类型的数据分析要求面向图形的分析、或将得益于面向图形的分析。图形是包括被称为顶点的数据对象的集合以及被称为边的顶点到顶点连接的集合的数据结构。以图形格式自然地对其中对象具有与其他对象的关系的数据进行分析。在常规的面向图形的分析中,计算遵循迭代且传播的过程。常规的计算以活动顶点和活动边的初始集开始。每一次迭代都包括对顶点和边的子集所进行的选择——这些顶点和边与活动集相邻——以成为下一次迭代的活动集。从而,计算在概念上行进通过该图形,从顶点一步步走到相邻顶点。在许多应用中,常规图形数据计算的缺点是非常大量的计算步骤。典型的计算需要考虑从源顶点至一个或多个目的顶点的每一条可能的路径。随着路径长度的增加或顶点总数量的增加,路径的数量以更快的速率增加。由于在处理大数据集时考虑高数量路径,常规的图形数据计算系统可能过慢。鉴于前述内容,为了克服常规面向图形的分析系统的上述障碍和缺陷,需要一种用于图形数据的分布式计算的改善的系统。附图说明图1是展示分布式图形计算系统的实施例的示例性顶层框图;图2是展示用于使用图1的分布式图形计算系统进行两阶段图形计算的方法的一个实施例的示例性流程图;图3是展示用于使用图2的两阶段图形计算方法来处理图形数据的一个实施例的示例性流程图;图4是展示具有边和顶点的样本图形的实施例的示例性图;图5是展示可以被存储在图1的分布式图形计算系统的顶点表(VertexTable)中的顶点数据结构的实施例的示例性图;图6是展示图5的顶点数据结构的另一个实施例的示例性图;图7是展示可以被存储在图1的分布式图形计算系统的边表(EdgeTable)中的边数据结构的实施例的示例性图;图8A是展示图5的顶点数据结构的又另一个实施例的示例性图;图8B是展示图7的边数据结构的又另一个实施例的示例性图;图9是展示使用图2的两阶段图形计算方法的用于顶点的状态机的一个实施例的示例性图;图10是示例性图,展示了通过图2的两阶段图形计算方法的阶段的示例性图形的状态的一个实施例;图11是示例性图,展示了通过图2的两阶段图形计算方法的阶段的示例性图形的状态的另一个实施例;应注意的是,附图不是按比例绘制的,并且出于展示的目的,贯穿这些附图,具有相似结构或功能的元件总体上用类似的参考号表示。还应注意的是,附图仅旨在帮助对优选实施例的描述。附图并不展示所描述的实施例的每个方面并且不限制本披露的范围。具体实施方式由于当前可用的图形计算系统因为它们要求非常大量的计算步骤而存在缺陷,提供减小的计算周期的用于图形数据的分布式计算的系统可以证明是令人期望的并且为各种各样的图形计算应用提供了基础,如寻找最佳行进路线或分析消费者和产品的图形以作出有效的推荐。根据在此所披露的一个实施例,可以通过图1中所展示的用于分布式图形计算的系统150来实现此结果。图形是包括顶点的集合以及被称为边的顶点到顶点连接的集合的数据结构。定义一条边的两个顶点中的每一个顶点被称为该边的端点顶点之一。有向边指定一个端点顶点为源顶点并且指定另一个端点顶点为目标顶点。每一个顶点和每一条边都具有多个描述性属性,可以在分布式图形计算期间对这些描述性属性的值进行读取和更新。在某些实施例中,用于分布式图形计算的系统150允许边收集和顶点收集,每一种收集都在多个计算单元之间进行分割。具体而言,参照图1,系统150包括用于协调一个或多个边处理单元(或EPU)101以及一个或多个顶点处理单元(或VPU)102的操作的主(Master)100。这些EPU101和这些VPU102通过数据传输网络103来访问图形存储单元(或GSU)104。GSU104可以包括一个或多个电子数据存储装置。例如,如在图1中所展示的,GSU104包括顶点表(VertexTable)106和边表(EdgeTable)105。合起来,存储在顶点表106和边表105中的这些值(例如,分别为顶点数据和边数据)表示图形数据。常规分布式数据处理和并行数据处理的关键挑战是对在多个处理器之间的写操作和读操作进行排序和同步。写操作改变某个数据项的值。因为此改变,写操作的时机(例如,在读操作之前或之后)可能影响计算结果。在某些实施例中,用于图形数据的分布式计算的方法采用两阶段计算周期,重复该两阶段计算周期直至计算完成。该两个阶段有利地将读与写分开,以简化对这些处理器之间的操作的同步。现在转到图2,示出了可以与系统150一起使用的两阶段图形计算方法2000的一个实施例。计算方法2000包括两个阶段:计算阶段201和更新阶段202。该两个阶段在顺序上被统称为计算-更新序列。在计算阶段201期间,系统150读取边属性值和顶点属性值并且执行计算,但是可能不修改任何边属性值或顶点属性值。计算阶段201之后是更新阶段202,在该更新阶段中,系统150基于计算阶段201中的这些计算来更新活动顶点的属性值。重复该计算-更新序列,直至满足停止决策203的条件。可以基于两阶段图形计算方法2000的应用来对满足停止决策203所需要的条件进行编程。例如,在进行预定数量的计算-更新序列迭代之后,某些应用停止。在其他应用中,当属性值达到预定目标值时,停止决策203的条件被满足。在某些实施例中,计算-更新序列的这些迭代之前可以是设置步骤200并且之后可以是完成步骤204。在某些实施例中,更新阶段202直到计算阶段201中的所有操作都已经完成之后才开始。此类实施例的优点是系统150可以轻易地避免在顶点表105中的若干个顶点的更新之间的竞态情况。竞态情况是不令人期望的情况,在这种情况下,结果取决于两个或更多个更新动作中哪一个完成的更快。在其他实施例中,如果更新阶段202的有选择性的部分所修改的数据属性将对正在进行中的计算阶段201操作没有影响,此类部分可以在计算阶段201仍然正在进行时开始。此类实施例要求对数据属性之间的相关性的认识。相反地,如果计算阶段201的所有操本文档来自技高网...

【技术保护点】
一种用于对具有一条或多条边的图形进行分布式计算的计算机实现的方法,该一条或多条边中的每一条边连接一个源顶点和一个端点顶点,该方法包括:读取该一条或多条边的属性值以及该一条或多条边的这些源顶点的属性值;对所读取的这些属性值执行计算;以及基于所执行的这些计算来更新该一条或多条边的和该一条或多条边的这些端点顶点的这些属性值,其中,所述执行没有修改所读取的这些属性值中的任何一个属性值。

【技术特征摘要】
2014.08.29 US 62/043,8491.一种用于对具有一条或多条边的图形进行分布式计算的计算机实
现的方法,该一条或多条边中的每一条边连接一个源顶点和一个端点顶
点,该方法包括:
读取该一条或多条边的属性值以及该一条或多条边的这些源顶点的
属性值;
对所读取的这些属性值执行计算;以及
基于所执行的这些计算来更新该一条或多条边的和该一条或多条边
的这些端点顶点的这些属性值,
其中,所述执行没有修改所读取的这些属性值中的任何一个属性值。
2.如权利要求1所述的计算机实现的方法,进一步包括维护所读取的
属性值之间的一个相关性列表。
3.如权利要求2所述的计算机实现的方法,其中,所述更新这些属性
值基于所维护的该相关性列表而发生,从而使得在所述执行计算期间没有
冲突。
4.如权利要求1所述的计算机实现的方法,进一步包括将该一条或多
条边分割为一个或多个边处理单元并且将这些源顶点和这些端点顶点分
割为一个或多个顶点处理单元。
5.如权利要求4所述的计算机实现的方法,其中,该一个或多个边处
理单元相互独立地工作并且该一个或多个顶点处理单元相互独立地工作。
6.如权利要求1所述的计算机实现的方法,进一步包括将一个数据消
息从所选择的一条边传输至所选择的该边的端点顶点,
其中,该数据消息包括所选择的该边的源顶点的一个标识码和所选择
的该边的属性值中的至少一项。
7.如权利要求6所述的计算机实现的方法,其中,所述更新这些端点
顶点的属性值也是基于所传输的数据消息进行的。
8.如权利要求1所述的计算机实现的方法,其中,该一个或多个边各
自是活动的或不活动的之一,并且所述读取、执行和更新不针对不活动边
执行。
9.如权利要求1所述的计算机实现的方法,其中,每一个源顶点和每

\t一个端点顶点是活动的或不活动的之一,并且所述读取、执行和更新不针
对不活动顶点执行。
10.如权利要求1所述的计算机实现的方法,其中,该一条或多条
边的属性值进一步被存储在一个边数据结构中,该边数据结构包括以下各
项中的至少一项:该边的源顶点的标识、该边的源顶点的存储器地址、该
边的端点顶点的标识、以及该边的边类型。
11.一种用于对具有一条或多条边的图形进行分布式计算的系统,
该一条或多...

【专利技术属性】
技术研发人员:陈立靳若明许昱
申请(专利权)人:SQL图表有限公司
类型:发明
国别省市:美国;US

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

1