Modified Dijkstra’s Algorithm for Dense Graphs on GPU using CUDA

The objective of this research is to propose and implement a fast parallel Single source shortest path (SSSP) algorithm on Graphics Processing Unit (GPU) based highly parallel and cost effective platform for dense and complete graphs. The proposed algorithm is a variant of Dijkstra’s algorithm for SSSP calculation for complete and dense graphs. In place of relaxing all the edges of a selected node as in Dijkstra’s algorithm, it relaxes one-one selected edge of different nodes of the graph simultaneously at any iteration. This paper shows parallel implementation of both Dijkstra’s algorithm and our modified Dijkstra’s algorithm on a GPU-based machine. We evaluate these implementations on NVIDIA Tesla C2075 GPU- based machines. Parallel implementation of proposed modified Dijkstra’s algorithm gives a two to three times speed increase over a parallel Dijkstra’s algorithm on a GPU-based machine for complete and dense graphs. The proposed algorithm has minimized the number of edges relaxed by one parallel thread at any iteration of parallel Dijkstra’s algorithm.

[1]  Joseph T. Kider,et al.  All-pairs shortest-paths for large graphs on the GPU , 2008, GH '08.

[2]  Ichigaku Takigawa,et al.  Probabilistic path ranking based on adjacent pairwise coexpression for metabolic transcripts analysis , 2007, Bioinform..

[3]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[4]  Michael Garland,et al.  Work-Efficient Parallel GPU Methods for Single-Source Shortest Paths , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[5]  Ömer Egecioglu,et al.  Anónimos: An LP-Based Approach for Anonymizing Weighted Social Network Graphs , 2010, IEEE Transactions on Knowledge and Data Engineering.

[6]  Mikkel Thorup,et al.  Undirected single-source shortest paths with positive integer weights in linear time , 1999, JACM.

[7]  D. R. Fulkerson,et al.  Flows in Networks. , 1964 .

[8]  Sartaj Sahni,et al.  GPU-to-GPU and Host-to-Host Multipattern String Matching on a GPU , 2013, IEEE Transactions on Computers.

[9]  Ulrich Meyer,et al.  [Delta]-stepping: a parallelizable shortest path algorithm , 2003, J. Algorithms.

[10]  P. J. Narayanan,et al.  Accelerating Large Graph Algorithms on the GPU Using CUDA , 2007, HiPC.

[11]  S. Dashora,et al.  Implementation of graph algorithms over GPU: A comparative analysis , 2012, 2012 IEEE Students' Conference on Electrical, Electronics and Computer Science.

[12]  Benjamin I. P. Rubinstein,et al.  Principled Graph Matching Algorithms for Integrating Multiple Data Sources , 2014, IEEE Transactions on Knowledge and Data Engineering.

[13]  Shashi Shekhar,et al.  A performance analysis of hierarchical shortest path algorithms , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.

[14]  Richard Bellman,et al.  ON A ROUTING PROBLEM , 1958 .

[15]  Keechul Jung,et al.  Neural Network Implementation Using CUDA and OpenMP , 2008, 2008 Digital Image Computing: Techniques and Applications.

[16]  Hadi S. Aghdasi,et al.  1D Chaos-based Image Encryption Acceleration by using GPU , 2016 .

[17]  Neetu Faujdar,et al.  Performance Evaluation of Parallel Count Sort using GPU Computing with CUDA , 2016 .

[18]  S. P. Victor,et al.  Algorithms to Find Geodetic Numbers and Edge Geodetic Numbers in Graphs , 2015 .

[19]  K. Mueller,et al.  GPU-Accelerated Forward and Back-Projections With Spatially Varying Kernels for 3D DIRECT TOF PET Reconstruction , 2013, IEEE Transactions on Nuclear Science.

[20]  Arturo González-Escribano,et al.  Comprehensive Evaluation of a New GPU-based Approach to the Shortest Path Problem , 2015, 2013 International Conference on High Performance Computing & Simulation (HPCS).

[21]  Veysi Isler,et al.  A Parallel Algorithm for UAV Flight Route Planning on GPU , 2011, International Journal of Parallel Programming.

[22]  Sumit Kumar,et al.  A modified parallel approach to Single Source Shortest Path Problem for massively dense graphs using CUDA , 2011, 2011 2nd International Conference on Computer and Communication Technology (ICCCT-2011).

[23]  David A. Bader,et al.  Advanced Shortest Paths Algorithms on a Massively-Multithreaded Architecture , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[24]  Stanislav G. Sedukhin,et al.  Blocked All-Pairs Shortest Paths Algorithm for Hybrid CPU-GPU System , 2011, 2011 IEEE International Conference on High Performance Computing and Communications.

[25]  P. J. Narayanan,et al.  Single source shortest path problem on processor arrays , 1992, [Proceedings 1992] The Fourth Symposium on the Frontiers of Massively Parallel Computation.

[26]  Ulf Assarsson,et al.  Fast parallel GPU-sorting using a hybrid algorithm , 2008, J. Parallel Distributed Comput..

[27]  John R. Gilbert,et al.  Solving path problems on the GPU , 2010, Parallel Comput..

[28]  Nick Koudas,et al.  Sampling Online Social Networks , 2013, IEEE Transactions on Knowledge and Data Engineering.

[29]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[30]  Jesper Larsson Träff,et al.  A parallel priority data structure with applications , 1997, Proceedings 11th International Parallel Processing Symposium.

[31]  Yu-Kwong Kwok,et al.  An Efficient and Practical Greedy Algorithm for Server-Peer Selection in Wireless Peer-to-Peer File Sharing Networks , 2005, MSN.

[32]  Kurt Mehlhorn,et al.  A Parallelization of Dijkstra's Shortest Path Algorithm , 1998, MFCS.

[33]  Joseph Alexander Brown,et al.  Examination of graphs in Multiple Agent Genetic Networks for Iterated Prisoner's Dilemma , 2013, 2013 IEEE Conference on Computational Inteligence in Games (CIG).

[34]  Quoc-Nam Tran Designing Efficient Many-Core Parallel Algorithms for All-Pairs Shortest-Paths Using CUDA , 2010, 2010 Seventh International Conference on Information Technology: New Generations.

[35]  Hu Chen,et al.  A Parallel Shortest Path Algorithm Based on Graph-Partitioning and Iterative Correcting , 2008, 2008 10th IEEE International Conference on High Performance Computing and Communications.

[36]  Arturo González-Escribano,et al.  A new GPU-based approach to the Shortest Path problem , 2013, HPCS.

[37]  Abbas Cheraghi Searching for an Unknown Edge in the Graph and its Tight Complexity Bounds , 2016 .

[38]  Ali Zakerolhosseini,et al.  Graph coloring using Intelligent Water Drops algorithm , 2015, 2015 23rd Iranian Conference on Electrical Engineering.

[39]  Marios C. Papaefthymiou,et al.  Implementing parallel shortest-paths algorithms , 1994, Parallel Algorithms.