Parallel Delta-Stepping Algorithm for Shared Memory Architectures (1604.02113v2)
Abstract: We present a shared memory implementation of a parallel algorithm, called delta-stepping, for solving the single source shortest path problem for directed and undirected graphs. In order to reduce synchronization costs we make some deviations from the algorithm and discuss the consequences. We study the behaviour of our implementation on small-world and scale-free graphs, and graphs arising from game maps. We collect performance data on multi-core CPUs and Intel Xeon Phi. When run in sequential mode, our implementation outperforms the implementation of Dijkstra's algorithm from Boost Graph Library on graphs with a small diameter. Both on the CPU and the co-processor we achieve an overall performance of at least 50% parallel efficiency.