Abstract

The Single-Source Shortest Path (SSSP) algorithm is one of the most important kernels used by a variety of high-level graph processing applications. Although having been extensively studied for single-node scenarios, SSSP algorithm still faces difficulties when being deployed on scale-free graph, which brings about redundant edge traversals, expensive atomic operations and random memory access. In this paper, three parallel-friendly and work-efficient opti-mizations are introduced to improve the performance of parallel SSSP algorithm with shared memory on the single-node system. First, a label-aware pruning technique is proposed to reduce the redundant edge traversals. Then, atomic operations caused by race conditions are eliminated by using destination-driven sub graph partitioning. Finally, we propose a double-ordered bucket strategy to further improve the efficiency of SSSP. The experiment demonstrates that the average speedup reaches to 27.58x compared with original implement for R-MAT graphs. Meanwhile, our method achieves up to 2.12x for R-MAT graphs and 4.45 x for real-world graphs on average compared to previous state-of-the-art parallel implementation.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call