CN117009038B - 一种基于云原生技术的图计算平台 - Google Patents
一种基于云原生技术的图计算平台 Download PDFInfo
- Publication number
- CN117009038B CN117009038B CN202311283918.7A CN202311283918A CN117009038B CN 117009038 B CN117009038 B CN 117009038B CN 202311283918 A CN202311283918 A CN 202311283918A CN 117009038 B CN117009038 B CN 117009038B
- Authority
- CN
- China
- Prior art keywords
- graph
- computing
- data
- module
- hardware
- 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
Links
- 238000005516 engineering process Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 claims abstract description 54
- 238000004458 analytical method Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000011161 development Methods 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000002085 persistent effect Effects 0.000 claims abstract description 13
- 230000006978 adaptation Effects 0.000 claims abstract description 11
- 238000005192 partition Methods 0.000 claims abstract description 8
- 230000000007 visual effect Effects 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 25
- 238000011156 evaluation Methods 0.000 claims description 12
- 230000001133 acceleration Effects 0.000 claims description 9
- 238000003062 neural network model Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000004040 coloring Methods 0.000 claims description 6
- 238000013079 data visualisation Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000012800 visualization Methods 0.000 claims description 3
- 238000007794 visualization technique Methods 0.000 claims description 3
- 230000018109 developmental process Effects 0.000 description 26
- 238000000638 solvent extraction Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000011068 loading method Methods 0.000 description 5
- 238000000547 structure data Methods 0.000 description 5
- 238000012827 research and development Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 102100038367 Gremlin-1 Human genes 0.000 description 2
- 101001032872 Homo sapiens Gremlin-1 Proteins 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于云原生技术的图计算平台,该平台包括使用云原生架构设计的软硬件协同系统、图存储系统、图计算引擎和图开发工场系统;其中,软硬件协同系统、图存储系统、图计算引擎运行在后端,图开发工场运行在前端。软硬件协同系统提供硬件计算资源和软硬件适配环境,图存储系统包括图划分模块、分布式持久化存储模块和分布式共享内存池模块,图计算引擎包括图查询引擎、图分析引擎和图学习引擎,图开发工场系统为基于图计算引擎构建的面向图计算领域的可视化操作系统,以K8s容器化的技术部署,用于将图计算算法的整个开发过程组件化、流程化和可视化。本发明的平台架构清晰、可扩展性强、使用门槛低、计算效率高。
Description
技术领域
本发明涉及图计算领域,具体涉及一种基于云原生技术的图计算平台。
背景技术
图论的发展可以追溯到18世纪,当时欧拉提出了著名的“柯尼斯堡七桥问题”,引发了图论的研究热潮,随着时间的推移,图论逐渐成为了一门独立的学科。欧式数据分布规整、结构固定,无法灵活地表示事物间的复杂关系;非欧几里得空间中的图结构能表征世间万物的复杂关系,具有强大的数据表达能力。近年来图计算的研究是人工智能领域最火热的领域之一,图计算被认为是推动人工智能从“感知智能”阶段迈入“认知智能”阶段的核心要素,应用场景多样,包括社交网络分析、生物信息领域、道路规划、金融风控、推荐系统等。作为图计算的基础设施,图计算平台在图算法研发效率和推广落地方面发挥了至关重要的作用。
图计算平台一般包括图数据的存储和查询、分布式图分析算法、图神经网络模型和训练,计算模式多样,牵涉到多个复杂系统的相互协同,用户学习和使用的门槛较高,同时因为图数据量一般很大,图的规模会影响计算框架的效率,为降低实现难度,一般的做法都是针对特定场景的需求和特点进行设计。
图聚合和图更新阶段的混合执行行为导致了访存模式、数据复用率、计算模式、计算强度、执行约束的不同,这使得高效的图计算变得异常复杂,其挑战主要可分为计算和访存两个方面。1)计算方面:需同时能够高效应对不规则和密集规则性计算。由于图中节点具有极高的不规则性并服从幂律分布,图聚合阶段对邻居节点的遍历会导致严重的负载不均衡。2)访存方面:需同时能够高效应对不规则和规则的粗粒度访存以及高带宽需求。这两个问题限制了图计算的计算规模和计算效率。
图学习算法使得机器学习能够应用于非欧几里得空间的图结构中,具备对图进行学习的能力。但是目前业界研发的图计算平台受限于各自商业场景,各个子系统间相互割裂,有些平台专注于图数据的存储和查询分析,有些平台在图分析算法方面比较擅长,在图学习领域现有平台大部分适用于有监督和集中式商业场景,它们都解决了图计算领域的部分问题,并且缺乏图计算整体研发周期的流程化、可视化式的系统支撑。另外当前的图计算平台对科学计算领域的数据和算法支持有限,对被卡脖子领域的国产硬件支持也不够全面,对非专业人士进入图计算领域进行研发存在较高门槛。
发明内容
基于目前图计算系统普遍存在的系统复杂、使用门槛高、计算效率低的问题,本发明提出一种云原生技术的图计算平台,该平台可以以硬件虚拟化的技术支持硬件资源和图计算芯片以提供软硬件协同的异构计算能力,基于共享内存池的方式解决图计算中的I/O瓶颈,提供图计算平台中的主要计算引擎系统和存储引擎系统,通过容器化部署各个子系统进行图计算的任务调度和资源管理,提供一站式可视化图开发工场,可以让没有图算法开发背景的人员和资深图算法人员,都能通过组件化、流程化的操作方式完成图数据的建模、查询分析和图算法的训练、模型部署等工作,支撑领域应用的研发搭建。
本发明的目的通过如下的技术方案来实现:
一种基于云原生技术的图计算平台,该平台包括使用云原生架构设计的软硬件协同系统、图存储系统、图计算引擎和图开发工场系统;其中,所述软硬件协同系统、图存储系统、图计算引擎运行在后端,所述图开发工场运行在前端;
所述软硬件协同系统提供硬件计算资源和软硬件适配环境,所述硬件计算资源包括各类中心处理器、数据处理器、FPGA加速器以及图计算芯片;所述软硬件适配环境包括基于异构硬件资源为图计算算法进行加速的数据流加速库和算子加速库;
所述图存储系统包括图划分模块、分布式持久化存储模块和分布式共享内存池模块,所述图划分模块内置多种图分区算法;所述分布式持久化存储模块用于通过分布式文件系统进行图数据的落盘存储,并提供图数据读写的接口和服务;所述分布式共享内存池模块用于基于远程直接数据存取的技术对多个计算节点上的主机内存和GPU显存进行全局内存空间的管理,实现集群中的分布式内存共享;
所述图计算引擎包括图查询引擎、图分析引擎和图学习引擎,分别用于实现图关联数据的直接查询、分布式图分析和并行化图学习模型的训练;
所述图开发工场系统为基于所述图计算引擎构建的面向图计算领域的可视化操作系统,以K8s容器化的技术部署,用于将图计算算法的整个开发过程组件化、流程化和可视化。
进一步地,所述软硬件协同系统支持包括GPU处理器、CPU处理器、FPGA加速卡、存算一体芯片在内的扩展性硬件设备,开发对应的编译环境和软件工具,提供针对图数据的存算一体的算子、适配于特定硬件的算子加速模块,为图计算引擎提供异构计算的能力。
进一步地,所述分布式持久化存储模块基于NVMe SSD技术实现;所述分布式共享内存池模块基于RDMA技术实现,并基于所述分布式持久化存储模块和分布式文件系统进行数据同步。
进一步地,所述图查询引擎中的图关联数据的直接查询包括单点的多阶邻居查询、两点间的关联路径查询以及获取多点间关联的子图查询。
进一步地,所述图查询引擎包括图查询解析器和图查询执行器,所述图查询解析器用于解析用户输入的查询语句,构建查询语法树和生成执行计划;所述图查询执行器用于对所述图查询解析器产出的语法树进行优化,然后按照资源配额进行资源调度和计划执行,使用分布式并行计算技术,以最小化运行时间和资源消耗的方式来处理图存储系统中的大规模图数据。
进一步地,所述图分析引擎包括图分析算法库和图分析计算模块,所述图分析算法库包含用于图数据处理的高效数据结构以及各种通用函数与类库,为用户提供可编程的工具集,允许用户实现和测试图分析算法,以及更改和调整图分析算法的参数,从而优化和改善图分析算法的表现;
所述图分析计算模块运行在分布式系统上,包括一系列能够处理图结构的底层算子和数据处理逻辑,支持多节点之间的通信和协作,结合硬件计算资源提供的计算能力,实现图分析算法的分布式计算和并行计算。
进一步地,所述图学习引擎包括图学习算法库和图学习训练模块,所述图学习算法库为用于构建和训练图神经网络模型的软件工具包,包括各种不同的图数据集和预训练的图神经网络模型;所述图学习训练模块用于依次实现特征提取和表示、子图采样、模型构建和选择、训练策略和参数调节,以及模型评估和调优。
进一步地,所述图开发工场系统包括图数据建模模块、图数据可视化模块、图算法组件模块、图训练流程构建模块和图模型部署模块;
所述图数据建模模块用于定义一种图数据标准存储结构,并将现实世界的事物抽象为图中的节点和边,并使用图的结构和属性来描述事物之间的联系和特征;
所述图数据可视化模块用于可视化展示图查询、图分析和图学习后的结果数据;
所述图算法组件模块用于模型训练和推理的模型代码和相关算法的实现,包括图数据的转换组件、特征工程组件、图算法算子组件、GNN模型训练和评估组件、参数优化组件和架构搜索组件;
所述图训练流程构建模块使用自动化的工具,以Pipeline的方式,将数据预处理、特征工程、模型训练、模型评估的处理步骤进行构建和管理,形成完整的、可重复的数据处理流程;
所述图模型部署模块用于将训练好的图算法模型部署到远程服务器中,用于实现模型部署、模型监控、配置管理和模型推理服务,为业务系统或终端用户提供支持。
进一步地,可视化的方式包括:调整节点着色和大小、连边绘制和着色、聚类和子图、交互式控制。
进一步地,通过聚类和子图进行可视化,具体包括:根据节点之间的相似性将节点分成不同的群体,并将其呈现为子图。
本发明的有益效果如下:
现有图计算平台的多个子系统之间往往缺乏有效的协同,本发明基于云原生的技术提供的图计算平台,可以实现平台各个子系统间的高效协同,能根据需要进行合理的资源管理,实现动态扩容/缩容;软硬件协同系统基于云原生技术对异构计算资源进行虚拟化管理,基于提供的图算法算子库和软硬件适配,实现了计算资源和计算逻辑的透明化。
基于分布式共享内存池模块实现了集群内各个节点的GPU显存和主机内存的互联互通,依赖于高速网络的带宽可以达到极高的通信效能,能解决图计算中广泛存在的I/O瓶颈,为大规模图算法的分布式计算进行加速。
本发明设计的图开发工场是可视化、一站式、多用户协作的图计算研发前台系统,是图计算领域的机器学习操作系统,可以组件化、流程化、易操作的使用方式降低图计算研发的门槛,极大提高算法研发和上线迭代的效率。
附图说明
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1为本发明实施例的基于云原生技术的图计算平台的架构示意图。
图2为本发明实施例的软硬件协同系统的架构示意图。
图3为本发明实施例的图存储系统的架构示意图。
图4为本发明实施例的图计算引擎的架构示意图。
图5为本发明实施例的图开发工场系统的架构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
CPU:Central Processing Unit,中央处理单元;
GPU:Graphics Processing Unit,图形处理单元;
DPU:Data Processing Unit,数据处理单元;
UI:User Interface,用户界面;
RDMA:Remote Direct Memory Access,远程直接数据存取;
MLOps:Machine Learning Operations,机器学习操作系统;
NVMe:Non-Volatile Memory Express,非易失性存储器;
SSD:Solid State Disk,固态存储器;
HDD:Hard Disk Drive,机械硬盘;
DPU:Data Processing Unit,数据处理器;
ROM:Read-Only Memory,只读存储器;
RAM:Random Access Memory,随机存储器;
FPGA:Field Programmable Gate Array,现场可编程门阵列;
K8s:Kubernetes,基于容器技术的分布式架构解决方案;
API:Application Programming Interface,应用程序接口;
GNN:Graph Neural Network,图神经网络。
本发明的基于云原生技术的图计算平台,可以用C、C++、Java、Go、Python等任何计算机语言实现,实现的方法和系统可以在一个计算机节点或多个计算机节点上运行,每个计算机节点在如下的硬件环境中实施,该硬件环境可以包括一个或多个如下部件:CPU处理器、GPU处理器、FPGA加速卡、存储器和网卡。存储器可以包括随机存储器(Random AccessMemory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。存储器可用于存储指令、程序、代码、代码集或指令。
处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。除此之外,本领域技术人员可以理解,上述硬件并不构成对硬件种类的限定,硬件可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,硬件中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。
如图1所示,本实施例的基于云原生技术的图计算平台,包括使用云原生架构设计的软硬件协同系统、图存储系统、图计算引擎和图开发工场系统等子系统,各个子系统基于容器化的技术进行资源管理和任务调度,系统间通过标准化接口进行交互。其中,软硬件协同系统、图存储系统、图计算引擎运行在后端,所述图开发工场包括后台模块和前台模块,提供了一种前端UI的功能实现。
一、软硬件协同系统
软硬件协同系统提供国内外主流硬件计算资源、软硬件适配环境,如图2所示。
1. 硬件资源:包括国内外主流的CPU、GPU、DPU,厂商不限于英伟达、AMD、Intel、华为、申威等,每台计算节点安装一个以上的CPU和一个以上的GPU;另外图计算芯片为图计算领域专用定制研发的芯片,存算一体芯片包括近存计算芯片和存算一体芯片等类型,FPGA加速卡为图计算领域定制的FPGA可编程阵列计算单元,另外存储资源包括RAM、ROM、HDD和SSD等资源类型,网络资源包括网卡、路由器和网络通信协议等通信设施,整体硬件资源属于异构计算架构。
2. 软硬件适配:为适配异构计算资源和存储资源,本发明于云原生技术对软硬件适配环境进行虚拟化,实现硬件资源和软件实现层面的透明化,抽象出如下子模块:
(1)硬件环境适配:底层驱动和编程接口、模块适配;
(2)编译环境及工具:包括硬件驱动、编译器及开发工具包;
(3)算法算子模块,提供基于异构硬件资源为图计算算法进行加速的数据流加速库和算子加速库,提出一种适用于异构架构的编程模型,为 CPU、GPU、FPGA、图计算领域专用芯片等计算资源进行依赖环境的适配,并提供通用、可迁移的开发接口;
(4)交互智能模块:优化参数自动学习,提供智能化编程接口、参数和模型自动推荐。
二、图存储系统
图存储系统层基于软硬件协同能力提供大规模图数据的划分算法、分布式持久化存储方式、分布式共享内存池方式,为图计算引擎提供海量图数据的读写能力,如图3所示,其包括如下模块:
图存储系统基于内置的图数据标准化格式规范,以构建图数据基准和图建模方式,抽象通用的图数据加载/上传工具包,定义图存储系统的读写交互规范。
1. 图划分模块
提供大图的分区方式,包括随机分区、节点分区、边分区、时间序列分区等常用的图分区算法,根据图数据的大小、类型和业务场景选择不同的分区方式,分区算法可以应用到图持久化存储(例如图数据库)和分布式共享内存池(图内存数据库)两种存储方式。
2. 分布式持久化存储模块
基于HDD、SSD硬盘,基于图划分模块提供的划分算法,对图数据进行切分,通过分布式文件系统例如HDFS、UnionFS、JuiceFS等进行图数据的落盘存储,实现大规模图数据的分布式持久化存储方案,并提供图数据读写的接口和服务。
3. 分布式共享内存池模块
分布式共享内存池模块基于RDMA的技术可以对多个计算节点上的主机内存和GPU显存进行全局内存空间的管理,实现集群中的分布式内存/显存共享。基于图划分模块提供的划分算法,对图数据进行切分,从分布式持久化存储模块加载图数据到分布式共享内存池模块,可以有效解决图计算中的I/O性能瓶颈问题。本发明利用共享内存池实现以极低延迟的方式共享内存中的分布式数据,降低额外的I/O存储开销,提高实时性;同时对内存中的图数据进行了高级抽象,使用层级元数据描述对象,消除数据格式的转换成本。本方案极大程度上解决了图计算中的如下难题:
解决图计算的频繁迭代带来的读写数据等待和通信开销大的问题。
解决图算法对节点和边的邻居信息的计算依赖问题。
解决图数据的复杂结构使得图算法难以实现分布不均匀的分块上并行计算的问题。
同时本发明提供了多种图数据加载到内存池的使用方式:
图结构数据存储在显存,特征数据分片存储在显存;
图结构数据存储在显存,特征数据分片存储在内存;
图结构数据存储在内存,特征数据分片存储在显存;
图结构数据存储在内存,特征数据分片存储在内存。
以上加载方式可以根据图数据大小和业务场景进行选择,本发明提供相关工具包和参数选择。
三、图计算引擎
图计算引擎基于云原生架构设计为三大核心计算引擎,如图4所示,包括:
1.图查询引擎
图查询引擎基于图存储层的分布式读写接口,对图数据的存储模型、数据结构和查询算法进行针对性的优化,提供使用Cypher和Gremlin查询语言进行图关联数据的直接查询能力,包括单点的多阶邻居查询、两点间的关联路径查询以及获取多点间关联的子图查询,能支持知识图谱等图数据的高效插入,尤其亿级以上数据量的快速插入,进一步包括如下两个子模块:
(1)图查询解析器
它允许用户以类似SQL的方式编写和执行图查询语句,从而从图存储系统检索图数据中的相关信息。通过图查询解析器,用户可以根据其需求精准地筛选所需数据,并进行定制化的数据分析。该过程通常涉及到解析用户输入的查询、构建查询语法树和生成执行计划等步骤。常见的图查询语言包括Cypher、Gremlin等。
(2)图查询执行器
作为图查询引擎系统底层的运行时引擎,目标是提高查询效率和可扩展性,使用户能够在大型图上快速完成复杂的查询操作。主要功能是对查询解析器产出的语法树进行优化,然后按照资源配额进行资源调度和计划执行,使用分布式并行计算技术,以最小化运行时间和资源消耗的方式来处理图存储系统中的大规模图数据。
2.图分析引擎
图分析引擎具备丰富的图分析算法库,如图的聚类、分割、生成树、PageRank的计算等等,同时提供图分析算法的分布式计算能力,包括支持大规模图数据的离线图分析能力和流式图数据的在线图分析能力,图分析引擎与图存储系统之间有数据读写的交互。图分析引擎包括以下几个子模块:
(1)图分析算法库
通常包含用于图数据处理的高效数据结构以及各种通用函数与类库,为用户提供了一个可编程的、完全客户化的工具集,允许用户轻松实现和测试图分析算法,以及更改和调整算法的参数,从而优化和改善算法的表现。图分析算法库也非常适合用于搜索和识别大规模的组合模式和模式相似性,可以帮助用户发现隐藏的数据关联性和模式。作为用户提供的一个高效、快速的图分析工具,它具有各种图分析算法的实现,例如社区发现、节点中心性计算、图匹配、路径计算等,可以快速而方便地处理大量的复杂图数据,被应用于各种关于图的研究,包括社交网络、网络安全、金融交易分析等。
(2)图分析计算模块
基于图分析算法库提供的算法包,提供图分析算法的并行化计算能力,它包括一系列能够处理图结构的底层算子和数据处理逻辑,并且支持多节点之间的通信和协作,结合硬件资源提供的计算能力,经过软硬件协同加速能很好的实现图分析算法的分布式计算和并行计算,同时具备高扩展性、高可靠性和高效性等特点,快速处理大量、复杂的图结构数据。
3.图学习引擎
图学习引擎用于实现并行化图学习模型的训练,包括:
(1)图学习算法库
主要提供常用图神经网络算法的可扩展性实现,支持多种图模型、数据集加载和数据预处理功能,是一种用于构建和训练图神经网络模型的软件工具包。它通常包含了一系列基于图神经网络的算法实现,例如图卷积网络(GCN)、图注意力网络(GAT)、图自编码器(Graph Autoencoder)、图生成网络(Graph Generative Network)等等。与传统的深度神经网络不同,图神经网络是一种特别适用于处理图和网络数据的模型。它把图和网络数据中的节点和边都视为可训练的数据,从而可以更好地描述节点和边之间的关系,算法库旨在提供高效的实现,并且通常会提供各种不同的图数据集和预训练的模型作为实验的基础,可以大大降低使用者对图神经网络模型的实现和训练的难度。除了内置多种图神经网络,也向用户开放参数配置接口,用户可以根据自身需求,在图算法的框架下搭建个性化、特异化图神经网络结构。
(2)图学习训练模块
基于图学习算法库的算法组件,提供高效的分布式计算引擎,提供对图神经网络模型训练时的各参数进行优化的能力,使得模型在给定的图数据中能够高效地学习表示节点和边之间关系的特征。包括如下功能:特征提取和表示,涉及到节点的向量化、边的嵌入或者其他形式的特征抽象;子图采样,利用分布式存储图的拓扑信息和属性信息并提供高效的图采样查询接口,算法模型通过调用图采样和图查询接口获取子图并进行计算;模型构建和选择,在训练过程中需要根据问题的特性,选择合适的图神经网络模型进行训练;训练策略和参数调节,指定相应的训练策略和参数调节方法,设置相应的训练停止条件和调节策略,以保证模型在训练过程中的收敛性和性能稳定性;模型评估和调优,通过验证集评估和测试集评估,结合参数优化等手段,确保模型的实际效果能够达到预期。
四、图开发工场系统
图开发工场系统基于三大核心图计算引擎和图存储系统,构造了面向图计算领域的MLOPS可视化操作系统,为图开发的生命周期提供持续交付和自动化流水线的能力,将图计算算法的整个开发过程组件化、流程化、可视化,便于团队协作和算法迭代维护;图开发工场系统的底层与引擎层相适配,通过设定参数配置即可快速调用图算法算子库,根据图算法算子库接口,构建Pipeline流水线执行模型。图开发工场以K8s容器化的技术部署,支持多用户协同研发模式,如图5所示,主要包括以下几个子模块:
1.图数据建模模块
图数据建模的目标是将现实世界的事物抽象为图中的节点和边,并使用图的结构和属性来描述事物之间的联系和特征。本模块定义一种图数据标准存储结构,以定义Schema的方式设计图结构数据和图特征数据的语义规约,并提供易用性开发工具支持可视化设计界面,可以对领域数据进行规范化建模,方便进行图数据的生成和加载,并为其它模块提供统一的读写接口。
2. 图数据可视化模块
图查询、图分析和图学习后的结果数据,大部分可以以图数据可视化的形式呈现出来,以帮助人们更好地理解和分析数据。可视化的方式包括:调整节点着色和大小,可以根据节点的属性,例如度中心性、聚类系数等调整节点的大小和颜色。这样可以更加清晰地表达节点的重要程度和其所在群体的特征。连边绘制和着色,可以调整边的颜色、线条宽度、虚线样式等,以反映不同的边属性。聚类和子图,可以根据节点之间的相似性将节点分成不同的群体,并将其呈现为子图。交互式控制,可以加入交互式控制元素,例如缩放、拖动、选择等,使得用户可以根据需要自由地浏览数据,同时也可以更方便地对数据进行分析和挖掘。
3. 图算法组件模块
用于模型训练和推理的模型代码和相关算法的实现,被用于处理图数据的转换组件、特征工程、GNN模型训练和评估、参数优化、架构搜索等任务。因此,图算法组件模块包括图数据的转换组件、特征工程组件、图算法算子组件、GNN模型训练和评估组件、参数优化组件和架构搜索组件。每个组件都是按照特定的逻辑设计和实现的,既包含许多图机器学习框架和库的实现,如Tensorflow、PyTorch(dgl,pyg)等,也包括图数据加载、图数据处理、图特征提取、图采样、图卷积和图分析算法组件。这些组件可以帮助开发人员快速构建和训练机器学习模型,并在部署过程中,负责将训练好的模型打包成可执行文件,供后续部署使用。
4. 图训练流程构建模块
该模块用流程化的方式管理图机器学习模型训练过程中的一系列处理步骤,包括数据预处理、特征工程、模型训练、模型评估等,这些步骤由多个并行和串行的处理步骤组成,使用自动化工具进行构建和管理,以Pipeline的方式将这些处理步骤组织起来,构成一种完整的、可重复的数据处理流程,从而提高了模型训练的效率和准确性。
5. 图模型部署模块
该模块用于将训练好的图算法模型部署到远程服务器中,提供图算法模型的在线推理和大规模并行请求的处理能力。具体为,将练好的图算法模型部署到生产环境中,为业务系统或终端用户提供服务的过程,提供模型部署、模型监控、配置管理和模型推理服务的能力,有效地降低开发者和企业的运维成本并提升了企业的业务效率。模型服务通常使用Web API或其他网络服务方式进行实现,可以提供实时的预测或推荐功能,为企业生产和商业应用提供支持。
本发明的基于云原生技术的图计算平台还可以包括各种领域应用,使用该平台的图计算算法库、模型、算法组件、计算引擎和可视化开发工场,针对行业领域孵化搭建的各类应用系统,例如为计算制药、计算生物、计算天文等领域的数据利用图算法开发的智能计算产品,每个领域应用以K8s容器化的技术部署。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (9)
1.一种基于云原生技术的图计算平台,其特征在于,该平台包括使用云原生架构设计的软硬件协同系统、图存储系统、图计算引擎和图开发工场系统;其中,所述软硬件协同系统、图存储系统、图计算引擎运行在后端,所述图开发工场运行在前端;
所述软硬件协同系统提供硬件计算资源和软硬件适配环境,所述硬件计算资源包括各类中心处理器、数据处理器、FPGA加速器以及图计算芯片;所述软硬件适配环境包括基于异构硬件资源为图计算算法进行加速的数据流加速库和算子加速库;
所述图存储系统包括图划分模块、分布式持久化存储模块和分布式共享内存池模块,所述图划分模块内置多种图分区算法;所述分布式持久化存储模块用于通过分布式文件系统进行图数据的落盘存储,并提供图数据读写的接口和服务;所述分布式共享内存池模块用于基于远程直接数据存取的技术对多个计算节点上的主机内存和GPU显存进行全局内存空间的管理,实现集群中的分布式内存共享;
所述图计算引擎包括图查询引擎、图分析引擎和图学习引擎,分别用于实现图关联数据的直接查询、分布式图分析和并行化图学习模型的训练;
所述图开发工场系统为基于所述图计算引擎构建的面向图计算领域的可视化操作系统,以K8s容器化的技术部署,用于将图计算算法的整个开发过程组件化、流程化和可视化;
所述图开发工场系统包括图数据建模模块、图数据可视化模块、图算法组件模块、图训练流程构建模块和图模型部署模块;
所述图数据建模模块用于定义一种图数据标准存储结构,并将现实世界的事物抽象为图中的节点和边,并使用图的结构和属性来描述事物之间的联系和特征;
所述图数据可视化模块用于可视化展示图查询、图分析和图学习后的结果数据;
所述图算法组件模块用于模型训练和推理的模型代码和相关算法的实现,包括图数据的转换组件、特征工程组件、图算法算子组件、GNN模型训练和评估组件、参数优化组件和架构搜索组件;
所述图训练流程构建模块使用自动化的工具,以Pipeline的方式,将数据预处理、特征工程、模型训练、模型评估的处理步骤进行构建和管理,形成完整的、可重复的数据处理流程;
所述图模型部署模块用于将训练好的图算法模型部署到远程服务器中,用于实现模型部署、模型监控、配置管理和模型推理服务,为业务系统或终端用户提供支持。
2.根据权利要求1所述的基于云原生技术的图计算平台,其特征在于,所述软硬件协同系统支持包括GPU处理器、CPU处理器、FPGA加速卡、存算一体芯片在内的扩展性硬件设备,开发对应的编译环境和软件工具,提供针对图数据的存算一体的算子、适配于特定硬件的算子加速模块,为图计算引擎提供异构计算的能力。
3.根据权利要求1所述的基于云原生技术的图计算平台,其特征在于,所述分布式持久化存储模块基于NVMe SSD技术实现;所述分布式共享内存池模块基于RDMA技术实现,并基于所述分布式持久化存储模块和分布式文件系统进行数据同步。
4.根据权利要求1所述的基于云原生技术的图计算平台,其特征在于,所述图查询引擎中的图关联数据的直接查询包括单点的多阶邻居查询、两点间的关联路径查询以及获取多点间关联的子图查询。
5.根据权利要求1所述的基于云原生技术的图计算平台,其特征在于,所述图查询引擎包括图查询解析器和图查询执行器,所述图查询解析器用于解析用户输入的查询语句,构建查询语法树和生成执行计划;所述图查询执行器用于对所述图查询解析器产出的语法树进行优化,然后按照资源配额进行资源调度和计划执行,使用分布式并行计算技术,以最小化运行时间和资源消耗的方式来处理图存储系统中的大规模图数据。
6.根据权利要求1所述的基于云原生技术的图计算平台,其特征在于,所述图分析引擎包括图分析算法库和图分析计算模块,所述图分析算法库包含用于图数据处理的高效数据结构以及各种通用函数与类库,为用户提供可编程的工具集,允许用户实现和测试图分析算法,以及更改和调整图分析算法的参数,从而优化和改善图分析算法的表现;
所述图分析计算模块运行在分布式系统上,包括一系列能够处理图结构的底层算子和数据处理逻辑,支持多节点之间的通信和协作,结合硬件计算资源提供的计算能力,实现图分析算法的分布式计算和并行计算。
7.根据权利要求1所述的基于云原生技术的图计算平台,其特征在于,所述图学习引擎包括图学习算法库和图学习训练模块,所述图学习算法库为用于构建和训练图神经网络模型的软件工具包,包括各种不同的图数据集和预训练的图神经网络模型;所述图学习训练模块用于依次实现特征提取和表示、子图采样、模型构建和选择、训练策略和参数调节,以及模型评估和调优。
8.根据权利要求1所述的基于云原生技术的图计算平台,其特征在于,可视化的方式包括:调整节点着色和大小、连边绘制和着色、聚类和子图、交互式控制。
9.根据权利要求8所述的基于云原生技术的图计算平台,其特征在于,通过聚类和子图进行可视化,具体包括:根据节点之间的相似性将节点分成不同的群体,并将其呈现为子图。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311283918.7A CN117009038B (zh) | 2023-10-07 | 2023-10-07 | 一种基于云原生技术的图计算平台 |
PCT/CN2023/123486 WO2025073120A1 (zh) | 2023-10-07 | 2023-10-09 | 一种基于云原生技术的图计算平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311283918.7A CN117009038B (zh) | 2023-10-07 | 2023-10-07 | 一种基于云原生技术的图计算平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117009038A CN117009038A (zh) | 2023-11-07 |
CN117009038B true CN117009038B (zh) | 2024-02-13 |
Family
ID=88567628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311283918.7A Active CN117009038B (zh) | 2023-10-07 | 2023-10-07 | 一种基于云原生技术的图计算平台 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117009038B (zh) |
WO (1) | WO2025073120A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117743470B (zh) * | 2024-02-06 | 2024-05-07 | 中科云谷科技有限公司 | 用于异构大数据的处理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148566A (zh) * | 2020-11-09 | 2020-12-29 | 中国平安人寿保险股份有限公司 | 计算引擎的监控方法、装置、电子设备及存储介质 |
CN112559128A (zh) * | 2020-12-15 | 2021-03-26 | 跬云(上海)信息科技有限公司 | 一种基于云计算的Apache Kylin托管系统及方法 |
CN112866333A (zh) * | 2020-12-28 | 2021-05-28 | 上海领健信息技术有限公司 | 基于云原生的微服务场景优化方法、系统、设备和介质 |
CN115543614A (zh) * | 2022-09-29 | 2022-12-30 | 上海商汤科技开发有限公司 | 模型训练方法、装置、系统、电子设备及存储介质 |
US11681523B1 (en) * | 2022-01-31 | 2023-06-20 | Sap Se | Metadata model and use thereof for cloud native software systems |
CN116307757A (zh) * | 2023-01-18 | 2023-06-23 | 辽宁荣科智维云科技有限公司 | 一种数据智能交互方法、交互系统、计算机设备及应用 |
CN116431726A (zh) * | 2022-01-04 | 2023-07-14 | 中移(苏州)软件技术有限公司 | 一种图数据处理方法、装置、设备及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11630826B2 (en) * | 2020-05-29 | 2023-04-18 | Rn Technologies, Llc | Real-time processing of a data stream using a graph-based data model |
-
2023
- 2023-10-07 CN CN202311283918.7A patent/CN117009038B/zh active Active
- 2023-10-09 WO PCT/CN2023/123486 patent/WO2025073120A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148566A (zh) * | 2020-11-09 | 2020-12-29 | 中国平安人寿保险股份有限公司 | 计算引擎的监控方法、装置、电子设备及存储介质 |
CN112559128A (zh) * | 2020-12-15 | 2021-03-26 | 跬云(上海)信息科技有限公司 | 一种基于云计算的Apache Kylin托管系统及方法 |
CN112866333A (zh) * | 2020-12-28 | 2021-05-28 | 上海领健信息技术有限公司 | 基于云原生的微服务场景优化方法、系统、设备和介质 |
CN116431726A (zh) * | 2022-01-04 | 2023-07-14 | 中移(苏州)软件技术有限公司 | 一种图数据处理方法、装置、设备及计算机存储介质 |
US11681523B1 (en) * | 2022-01-31 | 2023-06-20 | Sap Se | Metadata model and use thereof for cloud native software systems |
CN115543614A (zh) * | 2022-09-29 | 2022-12-30 | 上海商汤科技开发有限公司 | 模型训练方法、装置、系统、电子设备及存储介质 |
CN116307757A (zh) * | 2023-01-18 | 2023-06-23 | 辽宁荣科智维云科技有限公司 | 一种数据智能交互方法、交互系统、计算机设备及应用 |
Non-Patent Citations (1)
Title |
---|
基于PaaS云模式的学习推荐系统研究;王萍;刘玲;;中国教育信息化(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2025073120A1 (zh) | 2025-04-10 |
CN117009038A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074107B1 (en) | Data processing system and method for managing AI solutions development lifecycle | |
Barbierato et al. | Performance evaluation of NoSQL big-data applications using multi-formalism models | |
Arfat et al. | Big data tools, technologies, and applications: A survey | |
Benelallam et al. | Distributed model-to-model transformation with ATL on MapReduce | |
CN115169810A (zh) | 一种面向电网调控的人工智能系统构建方法及装置 | |
Usman et al. | Big data and hpc convergence for smart infrastructures: A review and proposed architecture | |
WO2016018944A1 (en) | Systems and methods for a distributed query execution engine | |
CN101826016A (zh) | 支持多核并行程序设计的可视化建模及代码框架生成方法 | |
Rabl et al. | Apache Flink in current research | |
CN117009038B (zh) | 一种基于云原生技术的图计算平台 | |
Ali et al. | Towards a cost model to optimize user-defined functions in an ETL workflow based on user-defined performance metrics | |
Xiao et al. | End-to-end programmable computing systems | |
Xiao et al. | GAHLS: an optimized graph analytics based high level synthesis framework | |
CN102799960A (zh) | 面向数据模型的并行业务流程异常检测方法 | |
Gu et al. | Characterizing job-task dependency in cloud workloads using graph learning | |
Yan et al. | A productive cloud computing platform research for big data analytics | |
Zheng et al. | Linked data processing for human-in-the-loop in cyber–physical systems | |
Popov et al. | Teragraph heterogeneous system for ultra-large graph processing | |
Yuan et al. | nsdb: Architecting the next generation database by integrating neural and symbolic systems | |
Zhiyi | Research on logistics management information system based on big data | |
CN103942235A (zh) | 针对大规模数据集交叉比较的分布式计算系统和方法 | |
CN116993063A (zh) | 一种任务求解方法及其装置 | |
Buck Woody et al. | Data Science with Microsoft SQL Server 2016 | |
Junior et al. | Parallel processing proposal by clustering integration of low-cost microcomputers | |
Antao | Fast Python: High performance techniques for large datasets |
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 |