用于数据访问和获取的集成电路、系统和方法技术方案

技术编号:32565445 阅读:16 留言:0更新日期:2022-03-09 16:50
本公开提供一种可编程装置。所述装置从处理器接收命令以及基于命令执行:识别图中的根节点;识别图中作为根节点的邻居的节点;识别图中作为邻居的邻居的节点;获取根节点相关联的数据;获取作为根节点的邻居以及邻居的邻居的节点的至少子集相关联的数据;以及将获取的数据写入存储器。本公开提高了访问和获取大图(包括分布式图)中数据的效率。(包括分布式图)中数据的效率。(包括分布式图)中数据的效率。

【技术实现步骤摘要】
用于数据访问和获取的集成电路、系统和方法


[0001]本公开总体上涉及数据处理
,尤其涉及用于数据访问和获取的集成电路、系统和方法。

技术介绍

[0002]图(graph)是一种数据结构或数据库,由计算系统存储和操作,并对对象集和对象之间的连接(关系)进行建模。对象表示为图中通过边沿(edge)连接或链接的节点(或顶点)。对象的属性和节点结构信息与表示该对象的节点相关联。
[0003]图可用于识别大数据集中的依赖关系、聚类、相似性、匹配、类别、流、成本、中心性等。图用于各种类型的应用,该应用广泛包括但不限于图分析和图神经网络(GNN),更具体地,该应用例如包括在线购物引擎、社交网络、推荐引擎、映射引擎、故障分析、网络管理和搜索引擎等。
[0004]图允许更快地获取和导航在关系系统中难以建模的复杂层次结构。图数据一般包括节点结构信息和属性。节点结构信息可以包括,例如,标识节点的信息(例如,节点ID)和标识作为节点的邻居的其他节点的信息(例如,边沿指针(edge pointer))。属性可以包括与表示对象的节点相关联的对象的特征或属性以及这些特征或属性的值。例如,如果对象表示人,那么特征或属性可能包括人的年龄和性别,在这种情况下,属性也可能包括年龄值和性别值。
[0005]图的大小在太字节(TB)的范围内。图可以包含数十亿个节点和数万亿条边沿。因此,可以将图划分为子图,并且子图可以分布在多个装置上。也就是说,大图可以被划分为存储在不同装置中的较小的子图。
[0006]在如上所述的应用中,针对感兴趣的节点(称为根节点)、作为根节点的邻居的节点以及作为邻居的邻居的节点,访问和获取数据(例如,结构信息和/或属性)。性能成本与每个节点和边沿相关联,因此访问和获取大图中数据的开销(例如,消耗的计算资源)可能很大,特别是考虑到这种操作的数量和频率。因此,为了支持图分析和图神经网络等应用中存储器请求的数量和频率,需要大量硬件,这增加了设备和设施成本以及能耗。
[0007]因此,提高访问和获取大图(包括分布式图)中数据的效率将是有益的。

技术实现思路

[0008]参照以下描述和附图可以最佳地理解本公开,所述附图用于说明本公开实施例的用于数据访问和获取的集成电路、系统和方法。
[0009]本公开的一个目的是实现高效数据访问和获取的集成电路。
[0010]根据本公开的实施例提供了方法、装置和系统,该方法、装置和系统提高了访问和获取大图(包括分布式图)中数据的效率。
[0011]更具体地说,公开了具有新硬件结构的可编程装置,用于有效地访问和获取图(包括大分布式图)中的数据。还公开了包括这种装置的系统以及使用这种装置执行的方法。
[0012]在一些实施例中,公开的可编程装置从处理器接收命令,并基于那些命令执行操作,包括:识别图中根节点;识别图中作为根节点的邻居的节点;识别图中作为邻居的邻居的节点;获取根节点相关联的数据;获取与作为根节点的邻居的节点以及作为邻居节点的邻居的节点的至少子集相关联的数据;以及将获取的数据写入存储器。
[0013]公开的可编程装置能够比由处理器更快地执行这些操作。测量结果表明,该装置执行这些操作的速度高达四倍,甚至可以预测达到更快的速度。
[0014]因此,根据本公开的实施例更有效地利用计算系统的执行诸如图分析和图神经网络的应用中的存储器请求的硬件资源。因此,所需的硬件资源较少,能耗降低,在不降低性能的情况下降低了成本。
[0015]本领域的普通技术人员在阅读了在各种附图中所示的实施例的以下详细描述之后,将认识到本公开的各种实施例的这些和其他目的及优点。
附图说明
[0016]本说明书包括附图并且将其作为本专利技术书的一部分,在附图中类似的数字表示了类似的元件,附图用于说明本公开的实施例,并与详细说明一起用于解释本公开的原理。
[0017]图1示出了根据本公开的实施例的存储在计算系统上并由计算系统执行的图的示例性分布式图结构。
[0018]图2A示出根据本公开实施例的示例性计算系统的组件的框图。
[0019]图2B示出根据本公开实施例的分布式图的子图到计算系统中的可编程装置的示例性映射。
[0020]图3示出根据本公开实施例的可编程装置的选定元件或组件的框图。
[0021]图4和5示出根据本公开的实施例的装置或计算机实现的方法的流程图。
[0022]图6示出根据本公开实施例的可编程装置的选定元件或组件的框图。
[0023]图7、8、9和10示出根据本公开的实施例的装置或计算机实现的方法的流程图。
具体实施例
[0024]现在将详细参考本公开的各种实施例,其示例在附图中示出。尽管结合这些实施例进行描述,但应该理解,它们并不旨在将本公开限制到这些实施例。相反,本公开旨在涵盖可包括在所附权利要求所定义的本公开的精神和范围内的替代、修改和等同物。此外,在本公开的以下详细描述中,为了提供对本公开的透彻理解,阐述了许多具体细节。然而,应当理解,本公开可以在没有这些特定细节的情况下实施。在其他实例中,未详细描述公知的方法、过程、组件和电路,以便不必要地模糊本公开的方面。
[0025]以下详细描述的一些部分以过程、逻辑块、处理和对计算机存储器中的数据位的操作的其他符号表示的形式呈现。这些描述和表示是数据处理领域的技术人员用来最有效地将其工作的实质传达给本领域的其他技术人员的手段。在本申请中,过程、逻辑块、处理等被认为是导致期望结果的步骤或指令的自洽序列。这些步骤是利用物理量的物理操作。通常,尽管不是必须的,这些量采取电或磁信号的形式,能够在计算系统中存储、传输、组合、比较和以其他方式操纵。事实证明,主要是出于常见用法的原因,将这些信号称为事务、位、值、元素、符号、字符、样本、像素等有时是方便的。
[0026]然而,应记住,所有这些和类似的术语都与适当的物理量相关联,并且只是适用于这些量的方便标签。除非从下面的讨论中明确指出,否则应理解,在整个本公开中,使用诸如“访问”、“接收”、“获取”、“采样”、“发送”、“写入”、“读取”、“识别”、“请求”、“存储”、“选择”、“指示”、“排序”、“放置”、“安置”、“获得”等术语的讨论指的是可编程装置或计算系统(例如,图4、5和7

10的方法)的动作和过程或类似的电子计算/可编程装置或系统(例如,图2a、2B和3的系统和设备)。计算系统或类似电子计算/可编程装置在存储器、寄存器或其他这种信息存储、传输或显示装置内操纵和转换表示为物理(电子)量的数据。
[0027]这里描述的一些元件或实施例可以在由一个或多个计算机或其他装置执行的、驻留在某种形式的计算机可读存储介质上的计算机可执行指令(例如程序模块)的一般上下文中讨论。作为示例而非限制,计算机可读存储介质可以包括非瞬时性计算机存储介质和通信介质。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于数据访问和获取的集成电路,包括:解码器,接收并解码来自处理器的命令;缓冲器;第一电路,耦合到第一存储器,所述第一存储器存储图的子图,所述图包括所述图的节点相关联的结构信息和属性值,所述第一电路接收来自所述解码器的命令,响应于所述命令获得所述图的根节点的根节点标识符,以及将所述根节点标识符写入所述缓冲器;第二电路,所述第二电路从所述缓冲器读取所述根节点标识符,接收所述图中作为所述根节点的邻居的多个第一节点以及所述图中作为所述多个第一节点的邻居的多个第二节点的节点标识符,以及输出所述根节点标识符和接收的所述节点标识符;第三电路,所述第三电路接收从所述第二电路输出的所述根节点标识符和所述节点标识符,采样从所述第二电路输出的所述节点标识符的至少子集,以及输出所述根节点标识符和采样的所述节点标识符;第四电路,所述第四电路接收从所述第三电路输出的所述根节点标识符和所述节点标识符,接收所述根节点相关联的数据以及由采样的所述节点标识符标识的节点相关联的数据,以及输出接收的所述数据;以及第五电路,所述第五电路接收从所述第四电路输出的所述数据,以及将从所述第四电路接收的所述数据写入第二存储器。2.根据权利要求1所述的集成电路,其中,当所述多个第一节点的节点标识符和所述多个第二节点的节点标识符被无序地发送时,所述第二电路将所述多个第一节点的节点标识符和所述多个第二节点的节点标识符按次序排列。3.根据权利要求1所述的集成电路,其中,所述第三电路将所述多个第一节点的节点标识符写入所述缓冲器,所述第二电路从所述缓冲器读取所述多个第一节点的节点标识符,以获取所述多个第二节点的节点标识符。4.根据权利要求1所述的集成电路,其中,由所述第四电路接收的所述数据包括属性和节点结构信息,所述属性和节点结构信息包括:所述根节点的节点标识符和属性值;所述多个第一节点中的每个节点和所述多个第二节点中的每个节点相应的节点标识符;以及节点的所述子集中每个节点相应的属性值。5.根据权利要求1所述的集成电路,还包括:配置寄存器,耦合到所述第一电路、第二电路、第三电路、第四电路和第五电路,所述配置寄存器至少包括:所述根节点的地址和样本大小,所述样本大小指示所述多个第一节点和所述多个第二节点中包括多少个节点;其中,所述配置寄存器包括标识采样方法的信息,所述第三电路使用所述采样方法来确定在所述子集中包括多少节点以及在所述子集中包括哪些节点。6.根据权利要求1所述的集成电路,还包括:加载单元,耦合到所述第二电路,所述加载单元响应于来自所述第二电路的请求,从耦合到所述加载单元的存储器中获取所述多个第一节点和所述多个第二节点的节点标识符,将所述多个第一节点和所述多个第二节点的节点标识符发送到所述第二电路;
其中,所述加载单元还耦合到所述第四电路,所述加载单元响应于来自所述第四电路的请求,获取所述根节点相关联的数据以及由采样的所述节点标识符标识的节点相关联的数据,并将获取的所述数据发送到所述第四电路。7.根据权利要求1所述的集成电路,其中,当将从所述第四电路接收的所述数据写入所述第二存储器时,所述第五电路按次序排列所述数据。8.一种用于数据访问和获取的系统,包括:处理器;多个存储器,耦合到所述处理器;以及多个互连神经网络处理装置,耦合到所述处理器,所述多个互连神经网络处理装置中每个神经网络处理装置存储图的相应子图,所述图包括所述图的节点相关联的结构信息和属性值;其中,所述多个互连神经网络处理装置中的神经网络处理装置响应于来自所述处理器的命令执行:识别所述图中的根节点;识别所述图中作为所述根节点的邻居的多个第一节点以及所述图中作为所述多个第一节点的邻居的多个第二节点;获取所述根节点相关联的数据;获取从所述多个第一节点和所述多个第二节点中选择的节点的至少子集相关联的数据;以及将获取的所述数据写入所述多...

【专利技术属性】
技术研发人员:李双辰关天婵张喆刘恒韩伟牛迪民郑宏忠
申请(专利权)人:阿里巴巴达摩院杭州科技有限公司
类型:发明
国别省市:

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

1