Sciweavers

ICPP
2009
IEEE

Employing Transactional Memory and Helper Threads to Speedup Dijkstra's Algorithm

13 years 9 months ago
Employing Transactional Memory and Helper Threads to Speedup Dijkstra's Algorithm
In this paper we work on the parallelization of the inherently serial Dijkstra's algorithm on modern multicore platforms. Dijkstra's algorithm is a greedy algorithm that computes Single Source Shortest Paths for graphs with non-negative edges and is based on the iterative extraction of nodes from a priority queue. This property limits the explicit parallelism of the algorithm and any attempt to utilize the remaining parallelism results in significant slowdowns due to synchronization overheads. To deal with these problems, we employ the concept of Helper Threads (HT) to extract parallelism on a non-traditional fashion and Transactional Memory (TM) to efficiently orchestrate the concurrent threads' accesses to shared data structures. Results demonstrate that the proposed implementation is able to achieve
Konstantinos Nikas, Nikos Anastopoulos, Georgios I
Added 19 Feb 2011
Updated 19 Feb 2011
Type Journal
Year 2009
Where ICPP
Authors Konstantinos Nikas, Nikos Anastopoulos, Georgios I. Goumas, Nectarios Koziris
Comments (0)