CN112435157B - 包括不同类型的存储器装置的图形处理系统及其操作方法 - Google Patents

包括不同类型的存储器装置的图形处理系统及其操作方法 Download PDF

Info

Publication number
CN112435157B
CN112435157B CN202010736100.6A CN202010736100A CN112435157B CN 112435157 B CN112435157 B CN 112435157B CN 202010736100 A CN202010736100 A CN 202010736100A CN 112435157 B CN112435157 B CN 112435157B
Authority
CN
China
Prior art keywords
vertex
memory device
graphics processing
value
graphics
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.)
Active
Application number
CN202010736100.6A
Other languages
English (en)
Other versions
CN112435157A (zh
Inventor
郑溟隨
权美玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industry Academic Cooperation Foundation of Yonsei University
SK Hynix Inc
Original Assignee
Industry Academic Cooperation Foundation of Yonsei University
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industry Academic Cooperation Foundation of Yonsei University, SK Hynix Inc filed Critical Industry Academic Cooperation Foundation of Yonsei University
Publication of CN112435157A publication Critical patent/CN112435157A/zh
Application granted granted Critical
Publication of CN112435157B publication Critical patent/CN112435157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Generation (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种操作图形处理系统的方法,该图形处理系统包括第一存储器装置和第二存储器装置,该方法包括:将图形数据的起始顶点索引、终止顶点索引和边缘值存储在第一存储器装置中;将图形数据的起始顶点值存储在第二存储器装置中;通过使用起始顶点索引,将起始顶点值重新布置为中间顶点值;通过使用终止顶点索引和边缘值,对中间顶点值执行图形计算;将作为图形计算的结果的终止顶点值存储在第二存储器装置中;通过比较终止顶点值和起始顶点值来确定图形处理操作是否完成;当确定图形处理操作未完成时,将终止顶点值设置为起始顶点值;并且迭代重新布置操作、执行操作、第三存储操作、确定操作和设置操作,直到图形处理操作完成。

Description

包括不同类型的存储器装置的图形处理系统及其操作方法
相关申请的交叉引用
本申请要求于2019年8月26日提交的申请号为10-2019-0104278的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本发明的各个实施例涉及一种图形处理系统,并且特别地,涉及一种包括不同类型的存储器装置的图形处理系统以及操作该图形处理系统的方法。
背景技术
随着大数据时代的到来,一种用于有效表达和分析数据之间关系的基于图形的数据结构在机器学习和各种数据分析中发挥着重要的作用。因此,各种图形算法实际上被用作公司数据中心的主要应用。
例如,谷歌的PageRank(参考文献1:伊恩·罗杰斯,“谷歌PageRank算法及其工作原理”(“The Google PageRank Algorithm and How It Works”),2002)和推特的连通分量算法(connected component algorithm)(参考文献2:大卫·艾丁格,卡尔·江,杰森·里迪,大卫·A·巴德和考特尼·科利,ICPP中“大规模社交网络分析:挖掘推特带来的社会公益”(“Massive Social Network Analysis:Mining Twitter for Social Good”in ICPP),2010)讨论了代表性的基于图形的数据分析应用。
应用通用图形处理单元(GPGPU)的系统被用于许多计算领域,以满足图形应用所需的大量计算。然而,因为GPGPU系统中通常仅包括容量相对较小的易失性存储器装置,所以如图1所示,会发生相对于易失性存储器装置频繁地页面交换以及主机与装置之间频繁的数据复制,这可能会导致应用的性能劣化。图1示出易失性存储器装置具有16GB的容量并且图形数据的大小为16TB的实例。
此外,由于图形算法的主要结束条件是饱和,因此在执行多次迭代计算之后,需要将计算结果存储在与GPGPU系统连接的单独的存储装置中的检查点操作以实现有效地故障恢复。然而,由于与GPGPU系统连接的单独的存储装置通常使用基于磁盘/闪存的存储装置,因此可能会遇到以下问题:在GPGPU系统中,将计算结果存储在存储装置中的检查点操作所需的时间比执行计算所需的时间长。
例如,在上述谷歌的PageRank算法的情况下,所需的计算时间为30秒,而所需的检查点时间为60秒(参考文献3:沈艳艳,陈刚,H.V.·贾格迪什,卢伟,黄本清和波格丹·马吕斯·都铎,VLDB中“分布式图形处理系统中的快速故障恢复”(“Fast Failure Recovery inDistributed Graph Processing Systems”in VLDB),2014)。
发明内容
各个实施例涉及一种图形处理系统以及用于操作该图形处理系统的方法,该图形处理系统包括两种具有不同特性的存储器装置,从而在对图形数据快速地执行迭代图形计算的同时有效地对图形计算结果进行检查点操作。
根据本发明的实施例,一种操作图形处理系统的方法,该图形处理系统包括第一存储器装置和第二存储器装置,该方法可以包括:作为第一存储操作,将从主机输入的图形数据的起始顶点索引、终止顶点索引以及起始顶点与终止顶点之间的边缘值存储在第一存储器装置中;作为第二存储操作,将图形数据的起始顶点值存储在第二存储器装置中;通过使用起始顶点索引,将起始顶点值重新布置为中间顶点值;通过使用终止顶点索引和边缘值,对中间顶点值执行图形计算;作为第三存储操作,将作为图形计算的结果的终止顶点值存储在第二存储器装置中;通过比较终止顶点值和起始顶点值来确定图形处理操作是否完成;当确定图形处理操作未完成时,将终止顶点值设置为起始顶点值;以及迭代重新布置操作、执行操作、第三存储操作、确定操作和设置操作,直到确定图形处理操作完成。
该方法可以进一步包括:作为第四存储操作,当确定图形处理操作完成时,将终止顶点值存储在第一存储器装置中,作为图形处理操作的结果。
该方法可以进一步包括:作为中间存储操作,当确定图形处理操作未完成时,根据执行确定操作的次数,将终止顶点值存储在第一存储器装置中,作为图形处理操作的中间结果。
可以执行中间存储操作的时段与通过迭代操作执行设置操作、重新布置操作、执行操作、第三存储操作和确定操作的时段重叠。
当中间存储操作执行至少两次时,在在前中间存储操作中使用的第一存储器装置的存储区域与在后续中间存储操作中使用的第一存储器装置的存储区域可以彼此不同,并且当后续中间存储操作完成时,可以释放在在前中间存储操作中使用的存储区域。
在中间存储操作中使用的第一存储器装置的存储区域与在第四存储操作中使用的第一存储器装置的存储区域可以彼此不同,并且当第四存储操作完成时,可以释放在中间存储操作中使用的存储区域。
执行图形计算可以包括生成消息;该方法可以进一步包括:作为第五存储操作,将消息存储在第二存储器装置中,以对应于终止顶点值。
第一存储器装置可以是以页面为单位输入/输出数据的非易失性存储器装置,并且第二存储器装置可以是以位为单位输入/输出数据的易失性存储器装置。
图形数据可以包括多条数据,该多条数据分别包括多个起始顶点索引、多个终止顶点索引、多个边缘值以及多个起始顶点值。第一存储操作可以包括:将多个起始顶点索引、多个终止顶点索引以及多个边缘值以页面为单位进行分组;以及作为第六存储操作,将页面存储在第一存储器装置中,并且第二存储操作可以包括将起始顶点值存储在第二存储器装置中。
根据本发明的实施例,一种图形处理系统可以包括:第一存储器装置;第二存储器装置;以及图形处理装置,该图形处理装置被配置成:作为第一存储操作,可以将从主机输入的图形数据的起始顶点索引、终止顶点索引以及起始顶点与终止顶点之间的边缘值存储在第一存储器装置中;作为第二存储操作,可以将图形数据中的起始顶点值存储在第二存储器装置中;基于起始顶点索引,将起始顶点值重新布置为中间顶点值;基于终止顶点索引和边缘值,可以对中间顶点值执行图形计算;作为第三存储操作,可以将作为图形计算的结果的终止顶点值存储在第二存储器装置中;可以通过比较终止顶点值和起始顶点值来确定图形处理操作是否完成;当确定图形处理操作未完成时,可以将终止顶点值设置为起始顶点值;以及可以迭代重新布置、执行、第三存储操作、确定和设置操作,直到确定图形处理操作完成。
图形处理装置被进一步被配置成:作为中间存储操作,当确定图形处理操作未完成时,根据执行确定操作的次数,可以将终止顶点值存储在第一存储器装置中,作为图形处理操作的中间结果;以及作为第四存储操作,当确定图形处理操作完成时,可以将终止顶点值存储在第一存储器装置中,作为图形处理操作的结果。
图形处理装置可以进一步被配置成控制执行中间存储操作的时段以与通过迭代操作执行设置操作、重新布置操作、执行操作、第三存储操作和确定操作的时段重叠。
图形处理装置进一步被配置成:当中间存储操作被执行至少两次时,可以将在在前中间存储操作中使用的第一存储器装置的存储区域与在后续中间存储操作中使用的第一存储器装置的存储区域设置成彼此不同,并且当后续中间存储操作完成时,可以释放在在前中间存储操作中使用的存储区域。
图形处理装置进一步被配置成:可以将在中间存储操作中使用的第一存储器装置的存储区域与在第四存储操作中使用的第一存储器装置的存储区域设置成彼此不同,并且当第四存储操作完成时,可以释放在中间存储操作中使用的存储区域。
执行图形计算可以包括生成消息;并且图形处理装置进一步被配置成:作为第五存储操作,可以将消息存储在第二存储器装置中,以对应于终止顶点值。
第一存储器装置可以是以页面为单位输入/输出数据的非易失性存储器装置,并且第二存储器装置可以是以位为单位输入/输出数据的易失性存储器装置。
图形数据可以包括多条数据,该多条数据分别包括多个起始顶点索引、多个终止顶点索引、多个边缘值以及多个起始顶点值。第一存储操作可以包括:将多个起始顶点索引、多个终止顶点索引以及多个边缘值以页面为单位进行分组;以及作为第六存储操作,将页面存储在第一存储器装置中,并且第二存储操作可以包括将起始顶点值存储在第二存储器装置中。
根据本发明的实施例,一种图形处理系统可以包括:第一存储器装置,该第一存储器装置被配置成存储从主机输入的图形数据的只读部分;第二存储器装置,该第二存储器装置被配置成存储图形数据的读取和写入部分;以及图形处理器,该图形处理器被配置成:基于分布在第一存储器装置和第二存储器装置中的图形数据,可以迭代地执行超级步骤操作;以及每次执行设定次数的迭代之后,可以执行存储该设定次数的迭代的最后迭代的结果的检查点操作;第一存储器装置可具有比第二存储器装置更大的存储容量,并且第二存储器装置可具有比第一存储器装置更高的操作速度。
只读部分包括每条图形数据中的起始顶点索引、终止顶点索引以及起始顶点与终止顶点之间的边缘值,并且读取和写入部分包括行的起始顶点值。
第一存储器装置可以将多条图形数据中的起始顶点索引、终止顶点索引以及边缘值分别按组存储,并且每组可以具有与第一存储器装置的存储元件对应的大小。
在本发明的实施例中,通过将从主机输入的图形数据分布地存储在具有不同特性的两种存储器装置中,可以快速地对图形数据执行迭代图形计算,同时有效地存储图形数据。
附图说明
图1是示出常规图形处理系统的图形计算中的数据交换开销百分比的示例的示图。
图2是示出根据本公开的实施例的图形处理系统的示图。
图3是帮助说明在G分片(shard)中使用的图形数据结构的示图的示例。
图4是帮助说明基于批量同步并行(BSP)模型的图形处理平台的示图的示例。
图5是根据本公开的实施例的帮助说明图形处理操作的示图。
具体实施方式
下面参照附图更详细地描述本公开的各个示例。然而,本发明的方面和特征可以以不同的方式实施以形成其它实施例,包括所公开的实施例的任何变型。因此,本发明不限于本文阐述的实施例。相反,提供所描述的实施例使得本公开是彻底和完全的,并将向本发明所属领域的技术人员充分传达本公开。在整个公开中,相同的附图标记在本公开的各个附图和示例中指代相同的部件。注意的是,对“一个实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,尽管在本文中可能使用了术语“第一”、“第二”、“第三”等来标识各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个具有相同或相似名称的元件区分开。因此,在一个实例中的第一元件可以在另一实例中被称为第二元件或第三元件,而不指示元件本身的任何改变。
附图不一定按比例绘制,并且在一些情况下,为了清楚地示出实施例的特征,可能放大比例。当元件被称为连接到或联接到另一元件时,应理解的是,前者可以直接连接到或联接到后者,或者可以经由两者之间的一个或多个中间元件而电连接到或联接到后者。另外,还将理解的是,当元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。
本文所使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,除非上下文另外明确指出,否则单数形式也旨在包括复数形式,反之亦然。类似地,除非从语言或上下文中可以清楚地看出仅指一个,否则不定冠词“一”和“一个”表示一个或多个。
还将理解的是,当在本说明书中使用时,术语“包括”、“包含”、“包括有”和“包含有”指定所述元件的存在,并且不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关联的所列项目的任意和所有组合。
鉴于本公开,除非另有定义,否则本文所使用的包括技术和科学术语的所有术语具有与本发明所属领域的普通技术人员通常所理解的相同的含义。还将进一步理解的是,诸如在常用词典中定义的那些的术语应被解释为具有与它们在本公开和相关领域的背景下的含义一致的含义,并且不被解释为理想化或过于形式的意义,除非本文明确地如此定义。
在以下的描述中,阐述了许多具体细节以便提供对本发明的透彻理解。可以在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,没有详细描述众所周知的进程结构和/或进程,以免不必要地模糊本发明。
还要注意的是,在某些情况下,如对相关领域的技术人员将显而易见的,除非另有具体说明,否则结合一个实施例描述的特征或元件可以单独使用或与另一实施例的其它特征或元件组合使用。
图2是示出根据本公开的实施例的图形处理系统的示图。图3是帮助说明在G分片中使用的图形数据结构的示图的示例。图4是帮助说明基于批量同步并行(BSP)模型的图形处理平台的示图的示例。图5是根据本公开的实施例的帮助说明图形处理操作的示图。
参照图2,图形处理系统22可以包括第一存储器装置221、第二存储器装置222和图形处理装置223。
首先,主机21可以将图形数据GRAPH_DATA传送到图形处理系统22,图形处理系统22可以将图形数据GRAPH_DATA分布式地存储在第一存储器装置221和第二存储器装置222中。图形处理装置223可以对分布式地存储在第一存储器装置221和第二存储器装置222中的图形数据GRAPH_DATA执行图形计算,并且可以将图形计算的结果输出到主机21。
虽然未在附图中直接示出,但是图形处理装置223可以包括各种硬件组件,包括作为线程组的流多处理器、流处理器以及线经(warps)。从软件的角度来看,这样的硬件可以与网格、块和线程集成或可操作地联接到网格、块和线程。
在并行计算模型之中,针对图形处理,提出了一种批量同步并行(BSP)模型。作为替代Hadoop而建立的特定于图形的平台Pregel(参考文献4:格热戈日·马勒维克兹,马修·H.奥斯特恩,阿尔特·JC·比克,詹姆斯·C.德勒特,利安·霍恩,纳蒂·莱泽尔,以及格热戈日·柴可夫斯基,SIGMOD中“Pregel:大规模图形处理系统”(“Pregel:A System forLarge-Scale Graph Processing”in SIGMOD),2010)是一个代表性的BSP示例,并且可以主要用于以顶点为中心的图形计算。
当将图形数据GRAPH_DATA加载到存储器中用于图形计算时,作为表示数据的代表性方法,存在压缩稀疏行(CSR)(参考文献5:塞缪尔·威廉姆斯,雷奥尼德·沃由科尔,理查德·乌杜克,约翰·谢伏,凯瑟琳·叶里克以及詹姆斯·戴莫尔,SC中“新兴多核平台的稀疏矩阵向量乘法的优化”(“Optimization of Sparse Matrix-Vector Multiplication onEmerging Multicore Platforms”in SC),2007)。就加载图形数据GRAPH_DATA的存储器的容量而言,CSR可能是有效的。然而,在执行图形计算的过程中,顺序访问包括在图形数据GRAPH_DATA中的多个各自顶点的相邻顶点索引的操作,即通过索引访问顶点值,可能导致对于存储图形数据GRAPH_DATA的存储器的频繁的随机读取和随机写入。
因此,已经建议了作为数据表示方案的分片,其能够通过将信息列在图形数据GRAPH_DATA中从而将特定数量的连续顶点定义为最终顶点,如图3所示,来提高存储图形数据GRAPH_DATA的存储器的I/O性能(参考文献6:A.·屈勒莱,G.·E.·布莱洛克和C.·格斯特林,USENIX中“GraphChi:仅在PC上进行大规模图形计算”(“GraphChi:Large-ScaleGraph Computation on Just a PC”in USENIX),2012)。
根据通过将分片校正为适合于图形数据GRAPH_DATA的处理而获得的G分片,可以将这样的图形数据划分为多个行R1、R2、R3、R4、R5、R6和R7,每一行具有以下字段:起始顶点索引S_INDEX、起始顶点值S_VALUE、终止顶点索引T_INDEX以及起始顶点与终止顶点之间的边缘值ST_EDGE。图形处理装置223中的多个线程并行接收多个行R1、R2、R3、R4、R5、R6和R7,并且顺序处理多个行R1、R2、R3、R4、R5、R6和R7。
图3示出四个终止顶点索引T_INDEX(具有值0至3)被指定为分片的大小。
参照图4,在常规的BSP模型中,当将图形数据中的顶点总数M分别分配给N个块BLOCK<0,1,...,N>以进行并行计算时,M/N个顶点(M/N VERTEXES)的值可以分配给N个块BLOCK<0,1,...,N>中的每一个作为起始顶点值S_VALUE。以这种方式,通过对分配给N个块BLOCK<0,1,...,N>中的每一个的M/N个顶点(M/N VERTEXES)的值进行顶点计算来执行图形计算,可以确定与N个块BLOCK<0,1,...,N>中的每一个对应的终止顶点值。在针对N个块BLOCK<0,1,...,N>中的每一个的图形计算中,可以参考图形数据GRAPH_DATA中的起始顶点与终止顶点之间的边缘值ST_EDGE以及终止顶点索引T_INDEX。而且,由于在对N个块BLOCK<0,1,...,N>中的每一个执行图形计算的过程中,在不同块中的顶点之间可能存在边缘,因此可以将消息传递MESSAGE PASSING用于数据共享。作为参考,分配给一个块的M/N个顶点(M/N VERTEXES)可以是分片的大小。
以这种方式,通过对N个各自的块BLOCK<0,1,...,N>执行图形计算,即N个图形计算,来对图形数据GRAPH_DATA中的全部M个顶点执行一个图形计算,可以被定义为超级步骤SUPER STEP。如果将M个终止顶点值确定为在M个起始顶点值上完成的一个超级步骤SUPERSTEP,则可以将所确定的M个终止顶点值设置为M个起始顶点值S_VALUE,随后,可以开始新的超级步骤SUPER STEP。这样的超级步骤可以迭代,直到图形计算饱和。在此,图形计算的饱和意为起始顶点值与终止顶点值之间的差在预设范围内。即,如果通过对M个起始顶点值执行图形计算而确定的M个终止顶点值导致该M个终止顶点值与图形计算的M个起始顶点值之间的差在预设范围内,则执行附加的图形计算可能没有意义,因为其可能不再进一步减小起始顶点值和终止顶点值之间的差值。因此,起始顶点值与终止顶点值之间的差在预设范围内的情况可以被称为图形计算饱和的状态。
虽然示出了超级步骤迭代两次之后的图形计算结果的检查点CHECK POINT操作(参见图4中的SUPER STEP<0>和SUPERSTEP<1>),但这仅是示例。实际上,超级步骤可以迭代任意适当的次数,之后,可以对图形计算结果进行检查点操作。例如,图形计算结果可以以超级步骤的5到10次迭代为周期进行检查点操作。作为参考,对图形计算结果进行检查点CHECK POINT操作可以意为一种方法,将直到执行检查点操作的时间为止所确定的所有图形数据转储到非易失性存储器装置,从而永久存储所有的图形数据。以这种方式,通过周期性地对图形计算结果进行检查点操作,下一图形计算由于意外的错误而不能正常地执行,可以通过存储在紧接的先前检查点操作中的图形计算结果来恢复图形数据,从而可以再次进行正常的图形计算。换言之,可以通过检查点操作来执行图形数据的故障恢复。
重新参照图2,为了使图形处理装置223中的大量线程对图形数据GRAPH_DATA执行有效的图形计算,需要具有相对大容量和高操作速度的存储器装置。然而,增加高速存储器装置的存储容量并不容易,而且即使可以增加存储容量,这样做也可能会非常昂贵。
因此,根据本公开的实施例的图形处理系统22可以包括具有不同特性的两个存储器装置221和222。即,图形处理系统22可以包括具有相对较大容量的第一存储器装置221和与该第一存储器装置221相比具有相对较高操作速度的第二存储器装置222。
第一存储器装置221可以是以页面为单位输入/输出数据的非易失性存储器装置。例如,第一存储器装置221可以是闪速存储器、相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、铁电随机存取存储器(FRAM)和/或自旋转移扭矩磁性随机存取存储器(STT-MRAM)中的任一个。
第二存储器装置222可以是以位为单位输入/输出数据的易失性存储器装置。例如,第二存储器装置222可以是静态随机存取存储器(SRAM)和/或动态随机存取存储器(DRAM)中的任一个。
从主机21传送到图形处理系统22的图形数据GRAPH_DATA可以包括起始顶点索引S_INDEX、起始顶点值S_VALUE、起始顶点与终止顶点之间的边缘值ST_EDGE以及终止顶点索引T_INDEX。
详细地,在图形数据GRAPH_DATA中,起始顶点索引S_INDEX、起始顶点与终止顶点之间的边缘值ST_EDGE以及终止顶点索引T_INDEX可以是在执行图形计算的过程中不会改变或更新的只读数据。另一方面,在图形数据GRAPH_DATA中,起始顶点值S_VALUE可以在执行图形计算的过程中读取,但在每次迭代图形计算的超级步骤SUPERSTEP时写入。也就是说,可以读取和/或写入图形数据GRAPH_DATA中的起始顶点值S_VALUE。
另外,在图形数据GRAPH_DATA中,通过将起始顶点索引S_INDEX、边缘值ST_EDGE以及终止顶点索引T_INDEX相加而获得的数据的大小可能远大于起始顶点值S_VALUE的数据大小。例如,假设图形数据GRAPH_DATA中包括4.8M的顶点和69M的边缘,则通过将起始顶点索引S_INDEX、边缘值ST_EDGE以及终止顶点索引T_INDEX相加而获得的数据大小可以是约1.1G字节,但是起始顶点值S_VALUE的数据大小可能为19.2M字节(参考文献7:J.·莱斯科韦茨,K.·J.·郎,A·达斯古普塔和M.·W.·马奥尼,互联网数学中“大型网络的社区结构:自然聚类大小和缺乏定义明确的大型聚类”(“Community Structure in LargeNetworks:Natural Cluster Sizes and the Absence of Large Well-DefinedClusters”in Internet Mathematics),2009)。
作为参考,对于所有当前存在的存储器装置而言,读取速度快于写入速度是很常见的,这同样适用于第一存储器装置221和第二存储器装置222。例如,假设第一存储器装置221是相变存储器(PCRAM),读取速度可以是185ns,但写入速度可能是20ns。而且,假设第二存储器装置222是动态RAM(DRAM),读取速度可以是100ns,但写入速度可能是125ns。
因此,在根据本公开的实施例的图形处理系统22中,图形数据GRAPH_DATA的起始顶点索引S_INDEX、起始顶点与终止顶点之间的边缘值ST_EDGE以及终止顶点索引T_INDEX可以作为只读数据存储在第一存储器装置221中,该第一存储器装置221具有相对较大的容量但是具有相对较低的操作速度。图形数据GRAPH_DATA的起始顶点值S_VALUE可以作为读取和写入数据存储在第二存储器装置222中,该第二存储器装置222具有相对较小的容量但是具有相对较高的操作速度。
参照图3,单条图形数据GRAPH_DATA可以对应于单个行Rx。因此,假设从主机21输入两个图形数据GRAPH_DATA,则可以提供“0、V0、5和1”,它们分别是与第一行R1对应的起始顶点索引S_INDEX、起始顶点值S_VALUE、边缘值ST_EDGE以及终止顶点索引T_INDEX,然后,可以提供“1、V1、1和2”,它们分别是与第二行R2对应的起始顶点索引S_INDEX、起始顶点值S_VALUE、边缘值ST_EDGE以及终止顶点索引T_INDEX。以这种方式,在将图形数据GRAPH_DATA中剩余的S_INDEX、ST_EDGE以及T_INDEX,即除起始顶点值S_VALUE之外,按行存储在以页面为单位输入/输出数据的第一存储器装置221中的情况下,对第一存储器装置221的访问可能太过频繁。
根据本公开的实施例,图形处理系统22可以将分别包括在多个图形数据GRAPH_DATA中的多个起始顶点索引S_INDEX分组为至少一个页面,然后可以将这样的页面存储在第一存储器装置221中。进一步地,图形处理系统22可以将分别包括在多个图形数据GRAPH_DATA中的多个终止顶点索引T_INDEX分组为至少一个页面,并且可以将这样的页面存储在第一存储器装置221中。此外,图形处理系统22可以将分别包括在多个图形数据GRAPH_DATA中的多个边缘值ST_EDGE分组为至少一个页面,然后可以将这样的页面存储在第一存储器装置221中。
综上所述,当单条图形数据GRAPH_DATA对应于一行Rx时,如上文参照图3所述,图形处理系统22可以基于列或基于字段来将多条或多行图形数据GRAPH_DATA分组,然后将分组的数据存储在第一存储器装置221中。参照图3,在图形数据GRAPH_DATA的多个行R1、R2、R3、R4、R5、R6和R7中,作为起始顶点索引S_INDEX的值的“0、1、5、5、6、7和7”可以被分组为具有至少一个页面的大小;作为边缘值ST_EDGE的值的“5、1、6、4、4、3和9”可以被分组为具有至少一个页面的大小;并且作为终止顶点索引T_INDEX的值的“1、2、1、3、0、0和2”可以被分组为具有至少一个页面的大小。起始顶点索引S_INDEX、边缘值ST_EDGE以及终止顶点索引T_INDEX分别分组的数据可以存储在第一存储器装置221中。
另一方面,每当从主机21输入单条或单行图形数据GRAPH_DATA时,图形处理系统22可以将输入的该条或该行的图形数据GRAPH_DATA中的起始顶点值S_VALUE存储在第二存储器装置222中。
根据本公开的实施例,图形处理系统22可以根据BSP模型来处理分布在第一存储器装置221和第二存储器装置222中的图形数据GRAPH_DATA,下文将参照图5对此进行描述。
参照图2、图4和图5,根据本公开的实施例的图形处理系统22可以通过参考第一存储器装置221的起始顶点索引S_INDEX来执行在第二存储器装置222中将起始顶点值S_VALUE重新布置为中间顶点值M_VALUE的重新布置操作(A)。
详细地,图形处理装置223可以在第一存储器装置221中读取存储起始顶点索引S_INDEX的至少一个页面,然后可以通过参考所读取的起始顶点索引S_INDEX来执行将存储在第二存储器装置222中的起始顶点值S_VALUE重新布置为中间顶点值M_VALUE的重新布置操作(A)。
第二存储器装置222可以包括存储区域2221和处理区域2222。M个起始顶点值S_VALUE可以存储在第二存储器装置222的存储区域2221中。另外,在图形处理装置223中,可以通过将M个起始顶点值S_VALUE除以N个块BLOCK<0,1,...,N>,即将各自的M/N个起始顶点值S_VALUE进行分组来执行图形计算。因此,图形处理装置223可以通过参考从第一存储器装置221读取的起始顶点索引S_INDEX来执行将M/N个起始顶点值S_VALUE重新布置为M/N个中间顶点值M_VALUE的重新布置操作(A)。作为参考,重新布置操作(A)可以由如图所示的图形处理装置223来执行,但是也可以通过单独的硬件逻辑来执行。
根据实施例,M/N个起始顶点值S_VALUE可以从第二存储器装置222的存储区域2221移动到处理区域2222,然后可以通过参考第一存储器装置221的起始顶点索引S_INDEX而被重新布置为M/N个中间顶点值M_VALUE。根据另一实施例,可以通过参考第一存储器装置221的起始顶点索引S_INDEX,在第二存储器装置222的存储区域2221中将M/N个起始顶点值S_VALUE重新布置为M/N个中间顶点值M_VALUE,然后,仅M/N个中间顶点值M_VALUE可以从第二存储器装置222的存储区域2221移动到处理区域2222。
接着,图形处理系统22可以执行通过参考第一存储器装置221的终止顶点索引T_INDEX和边缘值ST_EDGE对第二存储器装置222的中间顶点值M_VALUE执行图形计算,并将作为执行图形计算的结果确定的终止顶点值T_VALUE存储在第二存储器装置222中的计算操作(B)。
详细地,图形处理装置223可以在第一存储器装置221中读取存储终止顶点索引T_INDEX的至少一个页面,可以在第一存储器装置221中读取存储边缘值ST_EDGE的至少一个页面,然后,可以通过参考所读取的终止顶点索引T_INDEX和边缘值ST_EDGE来对第二存储器装置222的处理区域2222中存储的M/N个中间顶点值M_VALUE执行图形计算。图形处理装置223可以对M/N个中间顶点值M_VALUE执行图形计算,然后可以将M/N个终止顶点值T_VALUE确定为计算结果。在通过图形计算确定了M/N个终止顶点值T_VALUE之后,图形处理装置223可以将确定的M/N个终止顶点值T_VALUE存储在第二存储器装置222的存储区域2221中。
因为消息传递MESSAGE PASSING用于数据共享,所以图形处理装置223可以在通过对中间顶点值M_VALUE执行图形计算来确定终止顶点值T_VALUE的过程中生成消息。图形处理装置223可以将这样生成的消息存储在第二存储器装置222中以对应于终止顶点值T_VALUE。即,图形处理装置223可以在通过对M/N个中间顶点值M_VALUE执行图形计算来确定M/N个终止顶点值T_VALUE的过程中,分别生成与M/N个终止顶点值T_VALUE对应的多个消息。图形处理装置223可以将消息存储在第二存储器装置222的存储区域2221中以分别对应于M/N个终止顶点值T_VALUE。
如上所述,在执行将M/N个起始顶点值S_VALUE重新布置为M/N个中间顶点值M_VALUE的重新布置操作(A)之后,图形处理系统22可以通过计算操作(B)对M/N个中间顶点值M_VALUE进行图形计算来确定M/N个终止顶点值T_VALUE。通过执行N次这样的图形计算,在将M个起始顶点值S_VALUE重新布置为M个中间顶点值M_VALUE之后,可以通过对M个中间顶点值M_VALUE执行图形计算来确定M个终止顶点值T_VALUE。这样,对M个起始顶点值S_VALUE执行一次图形计算从而确定M个终止顶点值T_VALUE的状态可被称为完成了一次超级步骤SUPERSTEP的状态。
在超级步骤SUPER STEP的第一迭代完成之后,图形处理系统22可以通过比较起始顶点值S_VALUE和终止顶点值T_VALUE来执行确定图形处理操作是否完成的确定操作(C)。
详细地,在M个起始顶点值S_VALUE与M个终止顶点值T_VALUE之间的差在预设范围内的情况下,图形处理装置223可以确定图形处理操作完成。另一方面,在M个起始顶点值S_VALUE与M个终止顶点值T_VALUE之间的差在预设范围之外的情况下,图形处理装置223可以确定图形处理操作未完成。
在确定操作(C)中确定图形处理操作未完成的情况下,图形处理装置223可以执行将第二存储器装置222中的终止顶点值T_VALUE设置为新的起始顶点值S_VALUE的设置操作(D)。根据示例性实施例,在以这种方式将终止顶点值T_VALUE设置为新的起始顶点值S_VALUE之前已经存储在第二存储器装置222中的起始顶点值S_VALUE可以被设置为先前使用的顶点值,并且可以连续地存储在第二存储器装置222中。根据另一实施例,在执行设置操作(D)之前删除存储在第二存储器装置222中的起始顶点值S_VALUE之后,可以通过执行设置操作(D)来生成新的起始顶点值S_VALUE。
详细地,在确定操作(C)中确定图形处理操作未完成的情况下,图形处理装置223可以通过设置操作(D)将第二存储器装置222中的M个终止顶点值T_VALUE设置为M个新的起始顶点值S_VALUE。因此,在执行设置操作(D)之后,第二存储器装置222中可能不再存在M个终止顶点值T_VALUE。
在确定操作(C)中确定图形处理操作未完成的情况下,图形处理装置223可以在第一次迭代或先前迭代之后执行超级步骤SUPER STEP的另一迭代。也就是说,在重新布置操作(A)之后,通过先前执行的超级步骤SUPERSTEP来执行计算操作(B)和确定操作(C),在确定操作(C)中确定图形处理操作未完成的情况下,图形处理装置223可以执行超级步骤SUPER STEP的另一迭代,包括设置操作(D)、重新布置操作(A)、计算操作(B)和确定操作(C)。
以这种方式,超级步骤SUPER STEP可以迭代多次。由于从主机21输入的起始顶点值S_VALUE仅在超级步骤SUPER STEP的第一迭代中直接分配,因此第一次迭代中可以不包括设置操作(D)。从超级步骤SUPERSTEP的第二次迭代到最后一次迭代,将前一次迭代中确定的终止顶点值T_VALUE设置为起始顶点值S_VALUE的设置操作(D)可以包括在下一次迭代中。
同时,为了图形数据GRAPH_DATA的故障恢复,每当超级步骤SUPERSTEP被迭代设定次数时,可能需要对图形计算结果执行检查点CHECK POINT操作。
为此,根据本公开的实施例的图形处理系统22可以对执行超级步骤SUPERSTEP的每次迭代中包括的确定操作(C)的次数进行计数。换言之,图形处理装置223可以执行计数操作,每执行一次超级步骤SUPERSTEP就将计数值增加一。
此外,作为在任何一次超级步骤迭代中执行确定操作(C)的结果,在确定图形处理操作未完成的情况下,包括相应确定操作(C)的迭代可能不是最后迭代。因此,在中间迭代而不是最后迭代的情况下,也就是,在图形处理操作由于确定操作(C)而未完成的情况下,图形处理系统22可以检查计数操作的值,并且根据所检查的计数值,可以执行检查点CHECKPOINT操作,将第二存储器装置222中存储的终止顶点值T_VALUE存储在第一存储器装置221中,作为图形处理操作(F)的中间结果。例如,在图形处理操作由于确定操作(C)的结果而未完成的情况下,图形处理装置223可以检查计数操作的值,并且在检查的计数值是5的倍数(5、10、15、20、……)的情况下,可以执行中间存储操作(F),将第二存储器装置222中存储的终止顶点值T_VALUE存储在第一存储器装置221中,作为图形处理操作的中间结果。在检查的计数值不是5的倍数的情况下,可以不执行中间存储操作(F),并且可以开始执行下一超级步骤SUPER STEP,即设置操作(D)、重新布置操作(A)、计算操作(B)和确定操作(C)。
在这方面,图形处理系统22可以控制执行超级步骤SUPER STEP的多次迭代之中在前迭代的中间存储操作(F)的时段,以与执行随后迭代的设置操作(D)、重新布置操作(A)、计算操作(B)和确定操作(C)的时段重叠。例如,执行第五次迭代的中间存储操作(F)的时段可以与执行第六次迭代的设置操作(D)、重新布置操作(A)、计算操作(B)和确定操作(C)的时段重叠。
在最后一次迭代中包括的确定操作(C)中,可以确定图形计算完成。以这种方式,在确定操作(C)中确定图形计算完成的情况下,图形处理装置223可以执行最终存储操作(G),将第二存储器装置222中存储的终止顶点值T_VALUE存储在第一存储器装置221中,作为图形处理操作的最终结果。
图形处理系统22可以在执行超级步骤SUPER STEP的多次迭代的过程中至少执行两次中间存储操作(F)。在这种情况下,图形处理系统22可以设置在至少两个中间存储操作(F)中的在前中间存储操作(F)中使用的第一存储器装置221的存储区域,以及在随后的中间存储操作(F)中使用的第一存储器装置221的存储区域,上述两个存储区域彼此不同。为此,图形处理系统22可以在随后的中间存储操作(F)完成(H)时释放在在前的中间存储操作(F)中使用的第一存储器装置221的存储区域。例如,图形处理装置223可以在执行第一中间存储操作(F)时使用第一存储器装置221的第一存储区域。此后,当在第一中间存储操作(F)之后执行第二中间存储操作(F)时,图形处理装置223可以使用第一存储器装置221中的不同于第一存储区域的第二存储区域。在这种情况下,在完成将与第二中间存储操作(F)对应的终止顶点值T_VALUE存储在第一存储器装置221的第二存储区域中的操作时,图形处理装置223可以释放第一存储器装置221中存储与第一中间存储操作(F)对应的终止顶点值T_VALUE的第一存储区域。
图形处理系统22可以在执行超级步骤SUPER STEP的多次迭代的过程中,在执行至少一次中间存储操作(F)之后执行最终存储操作(G)。在这种情况下,图形处理系统22可以设置在中间存储操作(F)中使用的第一存储器装置221的存储区域,以及在最终存储操作(G)中使用的第一存储器装置221的存储区域,上述两个存储区域彼此不同。为此,图形处理系统22可以在最终存储操作(G)完成(H)时,释放第一存储器装置221中在中间存储操作(F)中使用的存储区域。例如,图形处理装置223可以在执行中间存储操作(F)时使用第一存储器装置221的第三存储区域。此后,当执行最终存储操作(G)时,图形处理装置223可以使用第一存储器装置221的不同于第三存储区域的第四存储区域。在这种情况下,在完成将与最终存储操作(G)对应的终止顶点值T_VALUE存储在第一存储器装置221的第四存储区域中的操作时,图形处理装置223可以释放第一存储器装置221中存储与中间存储操作(F)对应的终止顶点值T_VALUE的第三存储区域。
虽然已经示出和描述了各个实施例,但是根据本公开,对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

Claims (17)

1.一种操作图形处理系统的方法,所述图形处理系统包括第一存储器装置和第二存储器装置,所述方法包括:
作为第一存储操作,将从主机输入的图形数据的起始顶点索引、终止顶点索引以及起始顶点与终止顶点之间的边缘值存储在所述第一存储器装置中;
作为第二存储操作,将所述图形数据的起始顶点值存储在所述第二存储器装置中;
通过使用所述起始顶点索引,将所述起始顶点值重新布置为中间顶点值;
通过使用所述终止顶点索引和所述边缘值,对所述中间顶点值执行图形计算;
作为第三存储操作,将作为所述图形计算的结果的终止顶点值存储在所述第二存储器装置中;
通过比较所述终止顶点值和所述起始顶点值来确定图形处理操作是否完成;
当确定所述图形处理操作未完成时,将所述终止顶点值设置为所述起始顶点值;以及
迭代所述重新布置操作、执行图形计算操作、所述第三存储操作、所述确定操作和所述设置操作,直到确定所述图形处理操作完成。
2.根据权利要求1所述的方法,进一步包括:作为第四存储操作,当确定所述图形处理操作完成时,将所述终止顶点值存储在所述第一存储器装置中,作为所述图形处理操作的结果。
3.根据权利要求2所述的方法,进一步包括:作为中间存储操作,当确定所述图形处理操作未完成时,根据执行所述确定操作的次数,将所述终止顶点值存储在所述第一存储器装置中,作为所述图形处理操作的中间结果。
4.根据权利要求3所述的方法,其中执行所述中间存储操作的时段与通过所述迭代操作执行所述设置操作、所述重新布置操作、所述执行图形计算操作、所述第三存储操作和所述确定操作的时段重叠。
5.根据权利要求3所述的方法,其中:
当所述中间存储操作执行至少两次时,在在前中间存储操作中使用的所述第一存储器装置的存储区域与在后续中间存储操作中使用的所述第一存储器装置的存储区域彼此不同,并且
当所述后续中间存储操作完成时,释放在所述在前中间存储操作中使用的存储区域。
6.根据权利要求3所述的方法,其中:
在所述中间存储操作中使用的所述第一存储器装置的存储区域与在所述第四存储操作中使用的所述第一存储器装置的存储区域彼此不同,并且
当所述第四存储操作完成时,释放在所述中间存储操作中使用的存储区域。
7.根据权利要求1所述的方法,
其中执行所述图形计算包括生成消息,
所述方法进一步包括:作为第五存储操作,将所述消息存储在所述第二存储器装置中,以对应于所述终止顶点值。
8.根据权利要求1所述的方法,其中:
所述第一存储器装置是以页面为单位输入/输出数据的非易失性存储器装置,并且
所述第二存储器装置是以位为单位输入/输出数据的易失性存储器装置。
9.根据权利要求8所述的方法,
其中所述图形数据包括多条数据,所述多条数据分别包括多个起始顶点索引、多个终止顶点索引、多个边缘值以及多个起始顶点值,
其中所述第一存储操作包括:
将所述多个起始顶点索引、所述多个终止顶点索引以及所述多个边缘值以页面为单位进行分组;以及
作为第六存储操作,将所述页面存储在所述第一存储器装置中,并且
其中所述第二存储操作包括将所述起始顶点值存储在所述第二存储器装置中。
10.一种图形处理系统,包括:
第一存储器装置;
第二存储器装置;以及
图形处理装置,所述图形处理装置:
作为第一存储操作,将从主机输入的图形数据的起始顶点索引、终止顶点索引以及起始顶点与终止顶点之间的边缘值存储在所述第一存储器装置中;
作为第二存储操作,将所述图形数据中的起始顶点值存储在所述第二存储器装置中;
基于所述起始顶点索引,将所述起始顶点值重新布置为中间顶点值;
基于所述终止顶点索引和所述边缘值,对所述中间顶点值执行图形计算;
作为第三存储操作,将作为所述图形计算的结果的终止顶点值存储在所述第二存储器装置中;
通过比较所述终止顶点值和所述起始顶点值来确定图形处理操作是否完成;
当确定所述图形处理操作未完成时,将所述终止顶点值设置为所述起始顶点值;以及
迭代所述重新布置操作、执行图形计算操作、所述第三存储操作、所述确定操作和所述设置操作,直到确定所述图形处理操作完成。
11.根据权利要求10所述的图形处理系统,其中所述图形处理装置进一步:
作为中间存储操作,当确定所述图形处理操作未完成时,根据执行所述确定操作的次数,将所述终止顶点值存储在所述第一存储器装置中,作为所述图形处理操作的中间结果;以及
作为第四存储操作,当确定所述图形处理操作完成时,将所述终止顶点值存储在所述第一存储器装置中,作为所述图形处理操作的结果。
12.根据权利要求11所述的图形处理系统,其中所述图形处理装置进一步:控制执行所述中间存储操作的时段以与通过所述迭代操作执行所述设置操作、所述重新布置操作、所述执行图形计算操作、所述第三存储操作和所述确定操作的时段重叠。
13.根据权利要求11所述的图形处理系统,其中所述图形处理装置进一步:
当所述中间存储操作执行至少两次时,将在在前中间存储操作中使用的所述第一存储器装置的存储区域与在后续中间存储操作中使用的所述第一存储器装置的存储区域设置成彼此不同,并且
当所述后续中间存储操作完成时,释放在所述在前中间存储操作中使用的存储区域。
14.根据权利要求11所述的图形处理系统,其中所述图形处理装置进一步:
将在所述中间存储操作中使用的所述第一存储器装置的存储区域与在所述第四存储操作中使用的所述第一存储器装置的存储区域设置成彼此不同,并且
当所述第四存储操作完成时,释放在所述中间存储操作中使用的存储区域。
15.根据权利要求10所述的图形处理系统,
其中执行所述图形计算包括生成消息,并且
其中所述图形处理装置进一步:作为第五存储操作,将所述消息存储在所述第二存储器装置中,以对应于所述终止顶点值。
16.根据权利要求10所述的图形处理系统,其中
所述第一存储器装置是以页面为单位输入/输出数据的非易失性存储器装置,并且
所述第二存储器装置是以位为单位输入/输出数据的易失性存储器装置。
17.根据权利要求16所述的图形处理系统,
其中所述图形数据包括多条数据,所述多条数据分别包括多个起始顶点索引、多个终止顶点索引、多个边缘值以及多个起始顶点值;
其中所述第一存储操作包括:
将所述多个起始顶点索引、所述多个终止顶点索引以及所述多个边缘值以页面为单位进行分组;以及
作为第六存储操作,将所述页面存储在所述第一存储器装置中,并且
其中所述第二存储操作包括将所述起始顶点值存储在所述第二存储器装置中。
CN202010736100.6A 2019-08-26 2020-07-28 包括不同类型的存储器装置的图形处理系统及其操作方法 Active CN112435157B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0104278 2019-08-26
KR1020190104278A KR20210024751A (ko) 2019-08-26 2019-08-26 이종 메모리 장치를 포함하는 그래프 처리 시스템 및 그래프 처리 시스템의 동작방법

Publications (2)

Publication Number Publication Date
CN112435157A CN112435157A (zh) 2021-03-02
CN112435157B true CN112435157B (zh) 2024-02-06

Family

ID=74682221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010736100.6A Active CN112435157B (zh) 2019-08-26 2020-07-28 包括不同类型的存储器装置的图形处理系统及其操作方法

Country Status (3)

Country Link
US (1) US11409798B2 (zh)
KR (1) KR20210024751A (zh)
CN (1) CN112435157B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989178B2 (en) 2020-10-26 2024-05-21 Oracle International Corporation Efficient compilation of graph queries including complex expressions on top of sql based relational engine
US11567932B2 (en) 2020-10-26 2023-01-31 Oracle International Corporation Efficient compilation of graph queries on top of SQL based relational engine
US20220284056A1 (en) * 2021-03-05 2022-09-08 Oracle International Corporation Fast and memory efficient in-memory columnar graph updates while preserving analytical performance

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6368976A (ja) * 1986-09-10 1988-03-28 Fujitsu Ltd 図形処理方法
JPH0245888A (ja) * 1988-08-06 1990-02-15 Seiko Instr Inc 直線及び輝度の補間発生回路
JPH06282657A (ja) * 1993-03-29 1994-10-07 Hitachi Ltd 図形表示方法及びその装置
JPH0765151A (ja) * 1993-08-30 1995-03-10 Hitachi Ltd 図形編集装置
JPH08185542A (ja) * 1994-12-27 1996-07-16 Matsushita Electric Ind Co Ltd 図形処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902499B (zh) * 2012-08-22 2015-06-03 华为技术有限公司 存储设备的分区显示方法和装置
US10635562B2 (en) * 2015-09-04 2020-04-28 Futurewei Technologies, Inc. Fault tolerance in distributed graph processing networks
US10055435B2 (en) * 2016-05-04 2018-08-21 International Business Machines Corporation Interactive presentation of large scale graphs
US10409782B2 (en) * 2016-06-15 2019-09-10 Chen Zhang Platform, system, process for distributed graph databases and computing
US10656970B2 (en) * 2016-09-28 2020-05-19 Futurewei Technologies, Inc. Scheduling graph computing on heterogeneous processing resources based on energy efficiency
US11126359B2 (en) * 2018-12-07 2021-09-21 Samsung Electronics Co., Ltd. Partitioning graph data for large scale graph processing
US10853137B2 (en) * 2019-03-12 2020-12-01 Oracle International Corporation Efficient resource allocation for concurrent graph workloads
GB2582783B (en) * 2019-04-02 2021-05-12 Graphcore Ltd Checkpointing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6368976A (ja) * 1986-09-10 1988-03-28 Fujitsu Ltd 図形処理方法
JPH0245888A (ja) * 1988-08-06 1990-02-15 Seiko Instr Inc 直線及び輝度の補間発生回路
JPH06282657A (ja) * 1993-03-29 1994-10-07 Hitachi Ltd 図形表示方法及びその装置
JPH0765151A (ja) * 1993-08-30 1995-03-10 Hitachi Ltd 図形編集装置
JPH08185542A (ja) * 1994-12-27 1996-07-16 Matsushita Electric Ind Co Ltd 図形処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于图形数据库 Neo4j 的 RDF 数据存储研究;康杰华;信息技术(第6期);115-117 *

Also Published As

Publication number Publication date
US20210064661A1 (en) 2021-03-04
KR20210024751A (ko) 2021-03-08
US11409798B2 (en) 2022-08-09
CN112435157A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
US11947423B2 (en) Data reconstruction in distributed storage systems
CN112435157B (zh) 包括不同类型的存储器装置的图形处理系统及其操作方法
US9569454B2 (en) Selective compression of objects in a storage compute device
US10146459B1 (en) Disk activity balancing in mapped raid storage arrays by data remapping
Kaliman et al. New algorithm for tensor contractions on multi‐core CPUs, GPUs, and accelerators enables CCSD and EOM‐CCSD calculations with over 1000 basis functions on a single compute node
US8296515B1 (en) RAID-6 computation system and method
US8037391B1 (en) Raid-6 computation system and method
US11392488B2 (en) Optimizing storage of application data in memory
DE102011085989B4 (de) Verfahren und Vorrichtung zum Ausführen von parallelen Speicherlese- und Speicherschreiboperationen
CN107622020B (zh) 一种数据存储方法、访问方法及装置
KR20200108650A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
CN107632779B (zh) 数据处理方法和装置、服务器
US20190042365A1 (en) Read-optimized lazy erasure coding
CN107102898B (zh) 一种基于numa架构的内存管理、构建数据结构的方法及装置
EP3264254A1 (en) System and method for a simulation of a block storage system on an object storage system
Pachajoa et al. Node-failure-resistant preconditioned conjugate gradient method without replacement nodes
CN113641872B (zh) 一种散列方法、装置、设备及介质
US20220318015A1 (en) Enforcing data placement requirements via address bit swapping
CN114490041A (zh) 数组计算方法、装置、设备、介质和计算机程序产品
US12067249B2 (en) Data shaping to reduce memory wear in a multi-tenant database
Han et al. CRAST: Crash-resilient data management for a key-value store in persistent memory
US20180113616A1 (en) Disk array control device, disk array device, disk array control method, and recording medium
US9569280B2 (en) Managing resource collisions in a storage compute device
US11775303B2 (en) Computing accelerator for processing multiple-type instruction and operation method thereof
CN112835533B (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