137 research outputs found

    An efficient implementation of the Bellman-Ford algorithm for Kepler GPU architectures

    Get PDF
    Finding the shortest paths from a single source to all other vertices is a common problem in graph analysis. The Bellman-Ford's algorithm is the solution that solves such a single-source shortest path (SSSP) problem and better applies to be parallelized for many-core architectures. Nevertheless, the high degree of parallelism is guaranteed at the cost of low work efficiency, which, compared to similar algorithms in literature (e.g., Dijkstra's) involves much more redundant work and a consequent waste of power consumption. This article presents a parallel implementation of the Bellman-Ford algorithm that exploits the architectural characteristics of recent GPU architectures (i.e., NVIDIA Kepler, Maxwell) to improve both performance and work efficiency. The article presents different optimizations to the implementation, which are oriented both to the algorithm and to the architecture. The experimental results show that the proposed implementation provides an average speedup of 5x higher than the existing most efficient parallel implementations for SSSP, that it works on graphs where those implementations cannot work or are inefficient (e.g., graphs with negative weight edges, sparse graphs), and that it sensibly reduces the redundant work caused by the parallelization process

    An Optimised Shortest Path Algorithm for Network Rotuting & SDN: Improvement on Bellman-Ford Algorithm

    Get PDF
    Network routing algorithms form the backbone of data transmission in modern network architectures, with implications for efficiency, speed, and reliability. This research aims to critically investigate and compare three prominent routing algorithms: Bellman-Ford, Shortest Path Faster Algorithm (SPFA), and our novel improved variant of Bellman-Ford, the Space-efficient Cost-Balancing Bellman-Ford (SCBF). We evaluate the performance of these algorithms in terms of time and space complexity, memory utilization, and routing efficacy, within a simulated network environment. Our results indicate that while Bellman-Ford provides consistent performance, both SPFA and SCBF present improvements in specific scenarios with the SCBF showing notable enhancements in space efficiency. The innovative SCBF algorithm provides competitive performance and greater space efficiency, potentially making it a valuable contribution to the development of network routing protocols. Further research is encouraged to optimize and evaluate these algorithms in real-world network conditions. This study underscores the continuous need for algorithmic innovation in response to evolving network demands

    Parallelizing Dijkstra\u27s Algorithm

    Get PDF
    Dijkstra’s algorithm is an algorithm for finding the shortest path between nodes in a graph. The algorithm published in 1959 by Dutch computer scientist Edsger W. Dijkstra, can be applied on a weighted graph. Dijkstra’s original algorithm runtime is a quadratic function of the number of vertices. In this paper, I will investigate the parallel formulation of Dijkstra’s algorithm and its speedup against the sequential one. The implementation of the parallel formulation will be performed by Message Passing Interface (MPI) and Open Multi-Processing (OpenMP). The results gained indicated that the performance of MPI and OpenMP to be significantly better than sequential for a higher number of input data scale. And the smaller number of processors/threads give the fastest result for MPI and OpenMP implementation. However, the results show that the average speedup achieved by parallelization is not satisfied. The parallel implementation of Dijkstra’s algorithm may not be the best option

    Functional programming and graph algorithms

    Get PDF
    This thesis is an investigation of graph algorithms in the non-strict purely functional language Haskell. Emphasis is placed on the importance of achieving an asymptotic complexity as good as with conventional languages. This is achieved by using the monadic model for including actions on the state. Work on the monadic model was carried out at Glasgow University by Wadler, Peyton Jones, and Launchbury in the early nineties and has opened up many diverse application areas. One area is the ability to express data structures that require sharing. Although graphs are not presented in this style, data structures that graph algorithms use are expressed in this style. Several examples of stateful algorithms are given including union/find for disjoint sets, and the linear time sort binsort. The graph algorithms presented are not new, but are traditional algorithms recast in a functional setting. Examples include strongly connected components, biconnected components, Kruskal's minimum cost spanning tree, and Dijkstra's shortest paths. The presentation is lucid giving more insight than usual. The functional setting allows for complete calculational style correctness proofs - which is demonstrated with many examples. The benefits of using a functional language for expressing graph algorithms are quantified by looking at the issues of execution times, asymptotic complexity, correctness, and clarity, in comparison with traditional approaches. The intention is to be as objective as possible, pointing out both the weaknesses and the strengths of using a functional language

    An auction algorithm for shortest paths

    Get PDF
    Caption title.Includes bibliographical references (p. 27-29).Research supported by the ARO. DAAL03-86-K-0171 Research supported by the NSF. DDM-8903385by Dimitri P. Bertsekas
    • …
    corecore