Graph Computing Execution Engine with GPU Parallel Interface
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graph database systems face inefficiencies in computing speed when computing resources are limited, leading to high costs for configuring hundreds of service vertices, and reducing resources further decreases computing speed.
Innovation Solution
A method that configures an execution engine in a CPU to manage graph computing, with interface functions running on a GPU, allowing parallel processing of graph vertices through multiple threads, improving concurrency and efficiency with fixed computing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If computing resources are increased to improve graph computing speed, then computing efficiency is improved, but system cost increases due to requiring hundreds of service vertexes
Solution Approach 1:
The patent segments the computing system into two distinct parts: the CPU executes engine code that manages the overall graph computing process, while the GPU executes interface functions that perform parallel processing of graph vertices. This segmentation allows the system to achieve high computing speed without requiring hundreds of service vertexes, as the GPU's parallel processing capability provides the necessary computational power efficiently.
Solution Approach 2:
The patent introduces a collaboration mechanism between CPU and GPU as an intermediary approach. The CPU engine code calls GPU interface functions through a defined interface, enabling the system to leverage both processors' strengths. This intermediary collaboration allows the system to achieve high graph computing speed without proportionally increasing the number of service vertexes, resolving the contradiction between computing speed and system cost.
2Quantity of substance
If computing resources are reduced to lower system cost, then configuration cost decreases, but graph computing speed is greatly reduced
Solution Approach 1:
The patent replaces the traditional mechanical approach of using multiple CPU-based service vertexes with a GPU-based parallel processing system. The GPU's architecture, designed for massive parallel computation, substitutes the need for numerous sequential service vertexes. This substitution allows the system to maintain high graph computing speed while using fewer physical computing resources, thereby reducing configuration costs.
3Productivity
If parallel processing is implemented to improve computing efficiency, then processing capacity increases, but system complexity increases due to CPU-GPU collaboration
Solution Approach 1:
The patent creates a universal interface between CPU and GPU that allows the system to handle multiple graph computing tasks through a standardized collaboration mechanism. The engine code on the CPU and interface functions on the GPU work together through a defined interface that can accommodate various graph computing operations. This universality allows the system to achieve high processing capacity while managing complexity through a consistent, multi-functional interface design.
Data Source
AI summary
The present disclosure provides a method for graph computing, an electronic device and a non-transitory computer-readable storage medium. An execution engine for managing execution of the graph computing is configured in a CPU. One or more interface functions running in a GPU for processing parameters of the graph computing are configured. During the execution of the graph computing, the one or more interface functions are called by the execution engine through a graph computing interface. The interface functions are executed in the GPU in parallel through multiple parallel threads. The interface functions are configured to process a plurality of graph vertexes in parallel. The multiple parallel threads are configured to feedback respective execution results of the interface functions to the execution engine. The graph computing is completed by the execution engine according to the execution results.


