CN111177482A - 一种图数据并行处理的方法、装置、设备及可读存储介质 - Google Patents
一种图数据并行处理的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111177482A CN111177482A CN201911402930.9A CN201911402930A CN111177482A CN 111177482 A CN111177482 A CN 111177482A CN 201911402930 A CN201911402930 A CN 201911402930A CN 111177482 A CN111177482 A CN 111177482A
- Authority
- CN
- China
- Prior art keywords
- data
- independent
- address
- source
- source address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种图数据并行处理的方法,包括:获取图数据;对图数据中的源地址进行筛选,得到独立源地址;根据独立源地址确定对应的目的地址,并对目的地址进行筛选,得到独立目的地址;根据独立源地址和独立目的地址获取对应的独立源数据和独立目的数据,并对独立源数据和独立目的数据进行并行处理,得到并行处理结果。本申请不需要多个处理单元同时处理,仅需一个处理单元即可完成对图数据的并行处理,极大的降低图数据并行处理过程中的缓存开销及通信开销。本申请同时还提供了一种图数据并行处理的装置、设备及可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及图数据处理领域,特别涉及一种图数据并行处理的方法、装置、设备及可读存储介质。
背景技术
大数据时代,图作为一种基础的数据表示方式,广泛应用于各类算法如深度学习,用户推荐等。目前,图的规模往往达到数千万至数亿节点量级,图的边(节点与节点的联系)信息达到数十亿的规模。实际生活中的图,具有规模巨大、节点稀疏不连续、节点网络度分布呈现幂律度分布等特点,为设计有效的图处理算法带来巨大的挑战。
现有技术中图数据并行处理增加处理单元的个数实现。然而,此种处理方法单个处理单元的处理能力有限,由于需要多个块同时处理,相对单个处理单元需要更大的缓存单元。同时,由于块数增多,不同块之间的通信开销占比增大,因此同时并行运算的块数有一定的限制。
因此,如何降低图数据并行处理过程中的缓存开销及通信开销是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种图数据并行处理的方法、装置、设备及可读存储介质,用于降低图数据并行处理过程中的缓存开销及通信开销。
为解决上述技术问题,本申请提供一种图数据并行处理的方法,该方法包括:
获取图数据;
对所述图数据中的源地址进行筛选,得到独立源地址;其中,所述独立源地址为值各不相同的源地址;
根据所述独立源地址确定对应的目的地址,并对所述目的地址进行筛选,得到独立目的地址;其中,所述独立目的地址为值各不相同的目的地址;
根据所述独立源地址和所述独立目的地址获取对应的独立源数据和独立目的数据,并对所述独立源数据和所述独立目的数据进行并行处理,得到并行处理结果。
可选的,所述对所述图地址中的源地址进行筛选,得到独立源地址,包括:
将每个所述源地址分别保存至对应的输入FIFO中;
依据所述源地址选择筛选通道;其中,所述筛选通道的两端分别为所述输入FIFO和输出FIFO,且所述筛选通道每时刻仅允许一个源地址通过;
确定每个所述输出FIFO中的源地址为所述独立源地址。
可选的,依据所述源地址选择筛选通道,包括:
确定所述源地址的最高位地址为标志数据;
依据所述标志数据选择第一级FIFO,并将所述源地址从所述输入FIFO中移动至所述第一级FIFO中;
判断所述标志数据是否为最后一位地址;
若否,则将所述标志数据更新为所述源地址中所述标志数据的下一位地址,依据更新后的所述标志数据选择下一级FIFO,将所述源地址移动至所述下一级FIFO中,并返回执行判断所述标志数据是否为最后一位地址的步骤;
若是,则将所述源地址移动至对应的输出FIFO中。
可选的,根据所述独立源地址和所述独立目的地址获取对应的独立源数据和独立目的数据,包括:
利用具有预设数目端口的源静态随机存取存储器同时读取每个所述独立源地址对应的独立源数据;
利用具有所述预设数目端口的目的静态随机存取存储器同时读取每个所述独立目的地址对应的独立目的数据。
本申请还提供一种图数据并行处理的装置,该装置包括:
获取模块,用于获取图数据;
第一筛选模块,用于对所述图数据中的源地址进行筛选,得到独立源地址;其中,所述独立源地址为值各不相同的源地址;
第二筛选模块,用于根据所述独立源地址确定对应的目的地址,并对所述目的地址进行筛选,得到独立目的地址;其中,所述独立目的地址为值各不相同的目的地址;
并行处理模块,用于根据所述独立源地址和所述独立目的地址获取对应的独立源数据和独立目的数据,并对所述独立源数据和所述独立目的数据进行并行处理,得到并行处理结果。
可选的,所述第一筛选模块包括:
保存子模块,用于将每个所述源地址分别保存至对应的输入FIFO中;
选择子模块,用于依据所述源地址选择筛选通道;其中,所述筛选通道的两端分别为所述输入FIFO和输出FIFO,且所述筛选通道每时刻仅允许一个源地址通过;
确定子模块,用于确定每个所述输出FIFO中的源地址为所述独立源地址。
可选的,所述选择子模块包括:
确定单元,用于确定所述源地址的最高位地址为标志数据;
选择单元,用于依据所述标志数据选择第一级FIFO,并将所述源地址从所述输入FIFO中移动至所述第一级FIFO中;
判断单元,用于判断所述标志数据是否为最后一位地址;
更新单元,用于当所述标志数据不为最后一位地址时,将所述标志数据更新为所述源地址中所述标志数据的下一位地址,依据更新后的所述标志数据选择下一级FIFO,将所述源地址移动至所述下一级FIFO中,并返回执行判断所述标志数据是否为最后一位地址的步骤;
移动单元,用于当所述标志数据为最后一位地址时,将所述源地址移动至对应的输出FIFO中。
可选的,所述并行处理模块包括:
第一读取子模块,用于利用具有预设数目端口的源静态随机存取存储器同时读取每个所述独立源地址对应的独立源数据;
第二读取子模块,用于利用具有所述预设数目端口的目的静态随机存取存储器同时读取每个所述独立目的地址对应的独立目的数据。
本申请还提供一种图数据并行处理设备,该图数据并行处理设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述图数据并行处理的方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述图数据并行处理的方法的步骤。
本申请所提供图数据并行处理的方法,包括:获取图数据;对图数据中的源地址进行筛选,得到独立源地址;其中,独立源地址为值各不相同的源地址;根据独立源地址确定对应的目的地址,并对目的地址进行筛选,得到独立目的地址;其中,独立目的地址为值各不相同的目的地址;根据独立源地址和独立目的地址获取对应的独立源数据和独立目的数据,并对独立源数据和独立目的数据进行并行处理,得到并行处理结果。
本申请所提供的技术方案,通过对图数据中的源地址进行筛选,得到独立源地址,然后根据独立源地址确定对应的目的地址,并对目的地址进行筛选,得到独立目的地址,最后对应的独立源数据和独立目的数据,完成对图数据的并行处理,不需要多个处理单元同时处理,仅需一个处理单元即可完成对图数据的并行处理,极大的降低图数据并行处理过程中的缓存开销及通信开销。本申请同时还提供了一种图数据并行处理的装置、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种图数据并行处理的方法的流程图;
图2为本申请实施例所提供的一种64个端口的静态随机存取存储器的结构示意图;
图3为图1所提供的一种图数据并行处理的方法中S102的一种实际表现方式的流程图;
图4为图3所提供的一种图数据并行处理的方法中S302的一种实际表现方式的流程图;
图5为本申请实施例所提供的一种8通道的并行数据筛选架构的结构图;
图6为本申请实施例所提供的一种图数据并行处理的装置的结构图;
图7为本申请实施例所提供的一种图数据并行处理设备的结构图。
具体实施方式
本申请的核心是提供一种图数据并行处理的方法、装置、设备及可读存储介质,用于降低图数据并行处理过程中的缓存开销及通信开销。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种图数据并行处理的方法的流程图。
其具体包括如下步骤:
S101:获取图数据;
图是用于表示对象之间关联关系的一种抽象数据结构,使用顶点和边进行描述:顶点表示对象,边表示对象之间的关系。可抽象成用图描述的数据即为图数据。图计算,便是以图作为数据模型来表达问题并予以解决的这一过程。
基于现有技术通常将图按照源节点和目的节点分解为多个小块,并通过不同的处理单元处理不同的小块。图数据处理的并行度通过增加处理单元的个数实现。然而,此种处理方法单个处理单元的处理能力有限,由于需要多个块同时处理,相对单个处理单元需要更大的缓存单元。同时,由于块数增多,不同块之间的通信开销占比增大,因此同时并行运算的块数有一定的限制。故本申请提供了一种图数据并行处理的方法,用于解决上述问题。
S102:对图数据中的源地址进行筛选,得到独立源地址;
如图2所示为一种64个端口的静态随机存取存储器的结构示意图,为了使单个处理单元能够并行处理多路图数据,并行处理装置需要能够同时读取多路数据。以64路并行处理为例,可以采用64个端口的静态随机存取存储器同时读取相应的数据进行处理。静态随机存取存储器的地址采用边数据目的地址的低位或者边数据目的地址的hash值区分不同通道,然而,对于给定的图数据,存在同时读取某个特定静态随机存取存储器的情况,导致无法并行处理,因此本申请通过对图数据中的源地址和目的地址进行筛选,来避免出现读取某个特定静态随机存取存储器的情况。
这里提到的独立源地址为值各不相同的源地址,这里提到的,对图数据中的源地址进行筛选的意义在于,保证同一时刻不存在两个相同的源地址;
可选的,可以通过软件程序实现对图数据中的源地址的筛选,也可以为通过硬件设备实现对图数据中的源地址的筛选。
S103:根据独立源地址确定对应的目的地址,并对目的地址进行筛选,得到独立目的地址;
这里提到的独立目的地址为值各不相同的目的地址;这里提到的,对目的地址进行筛选的意义在于,保证同一时刻不存在两个相同的目的地址;
可选的,可以通过软件程序实现对目的地址的筛选,也可以为通过硬件设备实现对目的地址的筛选。
S104:根据独立源地址和独立目的地址获取对应的独立源数据和独立目的数据,并对独立源数据和独立目的数据进行并行处理,得到并行处理结果。
可选的,可以通过多路浮点并行处理单元完成对独立源数据和独立目的数据的并行处理;
优选的,这里提到的根据独立源地址和独立目的地址获取对应的独立源数据和独立目的数据,其具体可以为:
利用具有预设数目端口的源静态随机存取存储器同时读取每个独立源地址对应的独立源数据;
利用具有预设数目端口的目的静态随机存取存储器同时读取每个独立目的地址对应的独立目的数据。
基于上述实施例,本申请利用具有预设数目端口的源静态随机存取存储器来对独立源数据和独立目的数据进行并行读取,实现了单个处理单元并行处理图数据的效果,进而降低了图数据并行处理过程中的缓存开销及通信开销。
基于上述技术方案,本申请所提供的一种图数据并行处理的方法,通过对图数据中的源地址进行筛选,得到独立源地址,然后根据独立源地址确定对应的目的地址,并对目的地址进行筛选,得到独立目的地址,最后对应的独立源数据和独立目的数据,完成对图数据的并行处理,不需要多个处理单元同时处理,仅需一个处理单元即可完成对图数据的并行处理,极大的降低图数据并行处理过程中的缓存开销及通信开销。
针对于上一实施例的步骤S102,其中所描述的对图地址中的源地址进行筛选,得到独立源地址,其具体也可以为如图3所示的步骤,下面结合图3进行说明。
请参考图3,图3为图1所提供的一种图数据并行处理的方法中S102的一种实际表现方式的流程图。
其具体包括以下步骤:
S301:将每个源地址分别保存至对应的输入FIFO中;
其中,FIFO(First in First out,先入先出缓存)具有先入先出的特性,优先输出先保存的源地址。
S302:依据源地址选择筛选通道;
其中,筛选通道的两端分别为输入FIFO和输出FIFO,且筛选通道每时刻仅允许一个源地址通过;
可选的,这里提到的依据源地址选择筛选通道,其具体可以为根据源地址由低到高的地址位选择筛选通道的中间FIFO;
优选的,步骤S302中提到的依据源地址选择筛选通道,其具体也可以为如图4所示的步骤,下面结合图4进行说明。
请参考图4,图4为图3所提供的一种图数据并行处理的方法中S302的一种实际表现方式的流程图。
其具体包括以下步骤:
S401:确定源地址的最高位地址为标志数据;
S402:依据标志数据选择第一级FIFO,并将源地址从输入FIFO中移动至第一级FIFO中;
S403:判断标志数据是否为最后一位地址;
若否,则进入步骤S404;若是,则进入步骤S405。
S404:将标志数据更新为源地址中标志数据的下一位地址,依据更新后的标志数据选择下一级FIFO,将源地址移动至下一级FIFO中,并返回执行判断标志数据是否为最后一位地址的步骤;
S405:将源地址移动至对应的输出FIFO中。
基于上述实施例,本申请通过标志数据来选择源地址将要存储的下一级FIFO,当标志数据为最后一位地址时将源地址移动至对应的输出FIFO中,完成此次源地址筛选。
S303:确定每个输出FIFO中的源地址为独立源地址。
下面如图5所示,以一个8通道的并行数据筛选架构为例进行详细说明,该并行数据筛选架构输入FIFO、三级中间FIFO、三级处理以及输出FIFO组成。
当利用上述并行数据筛选架构进行数据筛选时,可以同时对D0到D7八个通道输入的源地址数据进行筛选,假如输入的源地址分别为12345677时,即二进制地址分别为001,010,011,100,101,110,111,111,则6号输入FIFO和7号输入FIFO中存储的源地址均为111,二者前两级处理过程相同:
进行第一级处理时,标志数据为1,此时沿虚线所指方向进入第二部分的2号第一级FIFO和3号第一级FIFO中;进行第二级处理时,标志数据为1,此时沿虚线所指方向进入第四部分的0号第二级FIFO和1号第二级FIFO中;
进行第三集处理时,标志数据为1,此时D6通道内的源地址沿虚线所指方向进入S7输出FIFO,而D7通道内的源地址沿实线所指方向进入S7输出FIFO,二者都选择了S7输出FIFO,此时可以令D6通道内的源地址先存储先输出,而令D7通道内的源地址下一时刻再输出,以保证同一时刻内只有一个源地址通过。
请参考图6,图6为本申请实施例所提供的一种图数据并行处理的装置的结构图。
该装置可以包括:
获取模块100,用于获取图数据;
第一筛选模块200,用于对图数据中的源地址进行筛选,得到独立源地址;其中,独立源地址为值各不相同的源地址;
第二筛选模块300,用于根据独立源地址确定对应的目的地址,并对目的地址进行筛选,得到独立目的地址;其中,独立目的地址为值各不相同的目的地址;
并行处理模块400,用于根据独立源地址和独立目的地址获取对应的独立源数据和独立目的数据,并对独立源数据和独立目的数据进行并行处理,得到并行处理结果。
可选的,该第一筛选模块200可以包括:
保存子模块,用于将每个源地址分别保存至对应的输入FIFO中;
选择子模块,用于依据源地址选择筛选通道;其中,筛选通道的两端分别为输入FIFO和输出FIFO,且筛选通道每时刻仅允许一个源地址通过;
确定子模块,用于确定每个输出FIFO中的源地址为独立源地址。
进一步的,该选择子模块可以包括:
确定单元,用于确定源地址的最高位地址为标志数据;
选择单元,用于依据标志数据选择第一级FIFO,并将源地址从输入FIFO中移动至第一级FIFO中;
判断单元,用于判断标志数据是否为最后一位地址;
更新单元,用于当标志数据不为最后一位地址时,将标志数据更新为源地址中标志数据的下一位地址,依据更新后的标志数据选择下一级FIFO,将源地址移动至下一级FIFO中,并返回执行判断标志数据是否为最后一位地址的步骤;
移动单元,用于当标志数据为最后一位地址时,将源地址移动至对应的输出FIFO中。
该并行处理模块400可以包括:
第一读取子模块,用于利用具有预设数目端口的源静态随机存取存储器同时读取每个独立源地址对应的独立源数据;
第二读取子模块,用于利用具有预设数目端口的目的静态随机存取存储器同时读取每个独立目的地址对应的独立目的数据。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图7,图7为本申请实施例所提供的一种图数据并行处理设备的结构图。
该图数据并行处理设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器722可以设置为与存储介质730通信,在图数据并行处理设备700上执行存储介质730中的一系列指令操作。
图数据并行处理设备700还可以包括一个或一个以上电源727,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口757,和/或,一个或一个以上操作装置741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图5所描述的图数据并行处理的方法中的步骤由图数据并行处理设备基于该图7所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种图数据并行处理的方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种图数据并行处理的方法,其特征在于,包括:
获取图数据;
对所述图数据中的源地址进行筛选,得到独立源地址;其中,所述独立源地址为值各不相同的源地址;
根据所述独立源地址确定对应的目的地址,并对所述目的地址进行筛选,得到独立目的地址;其中,所述独立目的地址为值各不相同的目的地址;
根据所述独立源地址和所述独立目的地址获取对应的独立源数据和独立目的数据,并对所述独立源数据和所述独立目的数据进行并行处理,得到并行处理结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述图地址中的源地址进行筛选,得到独立源地址,包括:
将每个所述源地址分别保存至对应的输入FIFO中;
依据所述源地址选择筛选通道;其中,所述筛选通道的两端分别为所述输入FIFO和输出FIFO,且所述筛选通道每时刻仅允许一个源地址通过;
确定每个所述输出FIFO中的源地址为所述独立源地址。
3.根据权利要求2所述的方法,其特征在于,依据所述源地址选择筛选通道,包括:
确定所述源地址的最高位地址为标志数据;
依据所述标志数据选择第一级FIFO,并将所述源地址从所述输入FIFO中移动至所述第一级FIFO中;
判断所述标志数据是否为最后一位地址;
若否,则将所述标志数据更新为所述源地址中所述标志数据的下一位地址,依据更新后的所述标志数据选择下一级FIFO,将所述源地址移动至所述下一级FIFO中,并返回执行判断所述标志数据是否为最后一位地址的步骤;
若是,则将所述源地址移动至对应的输出FIFO中。
4.根据权利要求1所述的方法,其特征在于,根据所述独立源地址和所述独立目的地址获取对应的独立源数据和独立目的数据,包括:
利用具有预设数目端口的源静态随机存取存储器同时读取每个所述独立源地址对应的独立源数据;
利用具有所述预设数目端口的目的静态随机存取存储器同时读取每个所述独立目的地址对应的独立目的数据。
5.一种图数据并行处理的装置,其特征在于,包括:
获取模块,用于获取图数据;
第一筛选模块,用于对所述图数据中的源地址进行筛选,得到独立源地址;其中,所述独立源地址为值各不相同的源地址;
第二筛选模块,用于根据所述独立源地址确定对应的目的地址,并对所述目的地址进行筛选,得到独立目的地址;其中,所述独立目的地址为值各不相同的目的地址;
并行处理模块,用于根据所述独立源地址和所述独立目的地址获取对应的独立源数据和独立目的数据,并对所述独立源数据和所述独立目的数据进行并行处理,得到并行处理结果。
6.根据权利要求5所述的装置,其特征在于,所述第一筛选模块包括:
保存子模块,用于将每个所述源地址分别保存至对应的输入FIFO中;
选择子模块,用于依据所述源地址选择筛选通道;其中,所述筛选通道的两端分别为所述输入FIFO和输出FIFO,且所述筛选通道每时刻仅允许一个源地址通过;
确定子模块,用于确定每个所述输出FIFO中的源地址为所述独立源地址。
7.根据权利要求5所述的装置,其特征在于,所述选择子模块包括:
确定单元,用于确定所述源地址的最高位地址为标志数据;
选择单元,用于依据所述标志数据选择第一级FIFO,并将所述源地址从所述输入FIFO中移动至所述第一级FIFO中;
判断单元,用于判断所述标志数据是否为最后一位地址;
更新单元,用于当所述标志数据不为最后一位地址时,将所述标志数据更新为所述源地址中所述标志数据的下一位地址,依据更新后的所述标志数据选择下一级FIFO,将所述源地址移动至所述下一级FIFO中,并返回执行判断所述标志数据是否为最后一位地址的步骤;
移动单元,用于当所述标志数据为最后一位地址时,将所述源地址移动至对应的输出FIFO中。
8.根据权利要求5所述的装置,其特征在于,所述并行处理模块包括:
第一读取子模块,用于利用具有预设数目端口的源静态随机存取存储器同时读取每个所述独立源地址对应的独立源数据;
第二读取子模块,用于利用具有所述预设数目端口的目的静态随机存取存储器同时读取每个所述独立目的地址对应的独立目的数据。
9.一种图数据并行处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述图数据并行处理的方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述图数据并行处理的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911402930.9A CN111177482B (zh) | 2019-12-30 | 2019-12-30 | 一种图数据并行处理的方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911402930.9A CN111177482B (zh) | 2019-12-30 | 2019-12-30 | 一种图数据并行处理的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177482A true CN111177482A (zh) | 2020-05-19 |
CN111177482B CN111177482B (zh) | 2022-04-22 |
Family
ID=70650529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911402930.9A Active CN111177482B (zh) | 2019-12-30 | 2019-12-30 | 一种图数据并行处理的方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177482B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556534A (zh) * | 2009-04-21 | 2009-10-14 | 浪潮电子信息产业股份有限公司 | 一种众核结构的大规模数据并行计算方法 |
US20160026677A1 (en) * | 2014-07-23 | 2016-01-28 | Battelle Memorial Institute | System and method of storing and analyzing information |
CN106161254A (zh) * | 2016-07-18 | 2016-11-23 | 中国科学院计算技术研究所 | 一种多目的数据传输网路路由装置、方法、芯片、路由器 |
CN110134664A (zh) * | 2019-04-12 | 2019-08-16 | 中国平安财产保险股份有限公司 | 数据迁移路径的获取方法、装置和计算机设备 |
-
2019
- 2019-12-30 CN CN201911402930.9A patent/CN111177482B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556534A (zh) * | 2009-04-21 | 2009-10-14 | 浪潮电子信息产业股份有限公司 | 一种众核结构的大规模数据并行计算方法 |
US20160026677A1 (en) * | 2014-07-23 | 2016-01-28 | Battelle Memorial Institute | System and method of storing and analyzing information |
CN106161254A (zh) * | 2016-07-18 | 2016-11-23 | 中国科学院计算技术研究所 | 一种多目的数据传输网路路由装置、方法、芯片、路由器 |
CN110134664A (zh) * | 2019-04-12 | 2019-08-16 | 中国平安财产保险股份有限公司 | 数据迁移路径的获取方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111177482B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3369045B1 (en) | Determining orders of execution of a neural network | |
US10650047B2 (en) | Dense subgraph identification | |
JP5950285B2 (ja) | 予め決められた複数のビット幅のデータに対して操作を行う命令を使用してツリーの検索を行うための方法、並びに、当該命令を使用してツリーの検索を行うためのコンピュータ及びそのコンピュータ・プログラム | |
US20140188893A1 (en) | Data retrieval apparatus, data storage method and data retrieval method | |
CN103970604A (zh) | 基于MapReduce架构实现图处理的方法和装置 | |
WO2023138188A1 (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN116822422B (zh) | 数字逻辑电路的分析优化方法及相关设备 | |
CN105302536A (zh) | MapReduce应用的相关参数的配置方法和装置 | |
CN111274455B (zh) | 图数据处理方法、装置、电子设备及计算机可读介质 | |
CN114416105B (zh) | 一种量子操作的编译方法、***、存储介质和电子设备 | |
CN115358397A (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
CN111177482B (zh) | 一种图数据并行处理的方法、装置、设备及可读存储介质 | |
CN110688055A (zh) | 一种大图计算中数据访问方法及*** | |
US9740797B2 (en) | Counting bloom filter | |
CN115659443B (zh) | 几何形状流数据处理方法和装置、计算设备和存储介质 | |
Fischer et al. | Unrooted non-binary tree-based phylogenetic networks | |
CN110737678A (zh) | 一种数据查找方法、装置、设备和存储介质 | |
CN113157695B (zh) | 数据处理方法、装置、可读介质及电子设备 | |
CN111191362A (zh) | 一种基于fpga的图计算数据预处理方法、装置、设备和介质 | |
CN111723247A (zh) | 基于图的假设计算 | |
CN116541421B (zh) | 地址查询信息生成方法、装置、电子设备与计算机介质 | |
CN113806310B (zh) | 对比方法和相关产品 | |
JP6485594B2 (ja) | メモリ制御装置およびメモリ制御方法 | |
CN116933880A (zh) | 基于遗传算法的量子线路深度优化方法、***和电子设备 | |
CN117851399A (zh) | 数据读取方法、数据更新方法、电子设备和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |