Abstract

We experimentally compare two distributed algorithms based on Dijkstra's algorithm for the single-source shortest path problem. The algorithms are intended for asynchronous distributed systems with a small number of processors without shared memory, and specifically address the situation where communication is costly. Variations of the algorithms have been implemented in occam, and results from experiments on a 16 processor transputer system with randomly generated graphs of different types and densities with up to 20000 vertices and 250000 edges are reported. The distributed algorithms exploit the two obvious sources of parallelism in Dijkstra's algorithm. In the update-driven algorithm several vertices may be selected and scanned simultaneously. Since not all selected vertices can be guaranteed to be correct, the achievable speed-up depends on the problem instance, and no worst-case guarantee better than the sequential algorithm can be given. In contrast the minimum-driven algorithm performs the scanning in parallel but from only one selected vertex at a time. Ideally this algorithm has linear speed-up for dense graphs. Implemented naively both algorithms perform poorly, but can be improved by relaxations and approximations which reduce communication volume. In all cases the theoretically less attractive update-driven algorithm turns out to perform much better than the apparently preferable minimum-driven algorithm.

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.