Parallel Radius-Stepping method and system for calculating single-source shortest path on large-scale graph
A single-source shortest path, shortest path technology, applied in the field of graph computing, can solve problems such as low efficiency, and achieve the effect of improving efficiency, improving running speed, and fast computing speed
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment 1
[0051] This embodiment provides a parallel Radius-Stepping method for calculating single-source shortest paths on large-scale graphs, such as figure 1 shown, including the following steps:
[0052] S1: For the large-scale graph to be calculated, maintain a temporary shortest path and a set S for all vertices in the large-scale graph, and the set S is a subset of the points in the large-scale graph;
[0053] S2: Divide all the vertices in the large-scale graph into several parts and assign them to different sub-processes;
[0054] S3: Calculate an upper bound according to the temporary shortest path of each vertex, the set S and the Radius function, and filter the vertices that need to be processed according to the upper bound;
[0055] S4: The corresponding vertices are processed by each sub-process to obtain the updated temporary shortest path;
[0056] S5: The root process summarizes the updated temporary shortest path obtained after processing by all sub-processes, and th...
Embodiment 2
[0073] On the basis of Embodiment 1, this embodiment discloses the specific implementation content:
[0074] The platform used in the embodiment is an AMD R5-3500U CPU (8GB) computer, the operating system used is the Linux subsystem in Windows 10, and the number of CPUs is 4. The programming language to implement the algorithm is Python, and version 3.6.9 uses the Python library mpi4py built on MPI to implement the parallel algorithm.
[0075] The pseudo code of the algorithm of this embodiment is shown in Table 1:
[0076] figure 2 , 3 , 4 and 5 are 4 common network graphs: BA scale-free network, ER random network, regular network and WS small world network. According to the number of vertices and the number of edges, a total of 6 kinds of graphs are generated. The value of the weight ranges from 1 to 100. According to the ratio of the number of vertices and the number of edges, the graphs of these six specifications can be divided into sparse graphs and dense graphs. Ea...
Embodiment 3
[0088] Based on Embodiment 1, this embodiment provides a parallel Radius-Stepping system for calculating single-source shortest paths on large-scale graphs, such as Image 6 shown, including:
[0089] A maintenance module, for the large-scale graph to be calculated, the maintenance module maintains a temporary shortest path and a set S for all vertices in the large-scale graph, and the set S is a subset of the points in the large-scale graph;
[0090] a division and allocation module, which divides all the vertices in the large-scale graph into several parts and allocates them to different sub-processes respectively;
[0091] an upper bound calculation module, the upper bound calculation module calculates an upper bound according to the temporary shortest path, the set S and the Radius function of each vertex, and according to the upper bound, filters the vertices that need to be processed;
[0092] a sub-process processing module, wherein the sub-process processing module ut...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 


