|
Computational Mathematics
The fastest and energy-efficient breadth-first search algorithm on a single node with various parallel architectures according to Graph500
A. S. Kolganovab a Lomonosov Moscow State Universisty (GSP-1, Leninskie Gory 1, Moscow, 119991 Russia)
b Keldysh Institute of Applied Mathematics (Miusskaya sq. 4, Moscow, 125047 Russia)
Abstract:
The breadth-first search algorithm is one of the basic algorithms for graph traversing and is used in many other algorithms of high-level graph analysis. BFS is characterized with intensive irregular memory accesses and a random data dependency, which greatly complicates its parallelization to all existing architectures. The paper considers the implementation of the BFS algorithm (the core benchmark of the Graph500 rating) for processing large graphs on different architectures: Intel x86, IBM Power8+, Intel KNL and NVidia GPU. Algorithms for implementing breadth-first search will be considered, such as top-down traverse, bottom-up traverse, and a hybrid traverse that includes both top-down and bottom-up traverses. The features of the algorithm implementation on shared memory will be shown, as well as graph transformations (local sorting of graph vertices, global sorting of graph vertices, renumbering of all graph vertexes, compressed representation of graph vertices), which allow achieving the best performance and energy-efficiency in this algorithm among all single-node systems of Graph500 and GreenGraph500 ratings.
Keywords:
BFS, CUDA, Power8, KNL, Graph500, parallel graph processing.
Received: 08.04.2018
Citation:
A. S. Kolganov, “The fastest and energy-efficient breadth-first search algorithm on a single node with various parallel architectures according to Graph500”, Vestn. YuUrGU. Ser. Vych. Matem. Inform., 7:2 (2018), 5–21
Linking options:
https://www.mathnet.ru/eng/vyurv186 https://www.mathnet.ru/eng/vyurv/v7/i2/p5
|
Statistics & downloads: |
Abstract page: | 195 | Full-text PDF : | 84 | References: | 29 |
|