Doctor of Philosophy (PhD)


Division of Electrical and Computer Engineering

Document Type



PHAST is to date one of the fastest algorithms for performing single source shortest path (SSSP) queries on road-network graphs. PHAST operates on graphs produced in part using Geisberger's contraction hierarchy (CH) algorithm. Producing these graphs is time consuming, limiting PHAST's usefulness when graphs are not available in advance. CH iteratively assigns scores to nodes, contracts (removes) the highest-scoring node, and adds shortcut edges to preserve distances. Iteration stops when only one node remains. Scoring and contraction rely on a witness path search (WPS) of nearby nodes. Little work has been reported on parallel and especially GPU CH algorithms. This is perhaps due to issues such as the validity of simultaneous potentially overlapping searches, score staleness, and parallel graph updates. A GPU contraction algorithm, CU-CH, is presented which overcomes these dificulties by partitioning the graph into levels composed of independent sets of nodes (non-adjacent nodes) with similar scores. This allows contracting multiple nodes simultaneously with little coordination between threads. A GPU-efficient WPS is presented in which a small neighborhood is kept in shared memory and a hash table is used to detect path overlap. Low-parallelism regions of contraction and query are avoided by halting contraction early and computing APSP on the remaining graph. A PHAST-like query computes SSSP using this contracted graph. CU-CH is further improved in CU-CHC. CU-CHC retains the highly efficient 2-hop WPS and contends with the excess shortcuts by culling them later. The shortcut edges to cull are identified by a WPS used for a scoring step, so little additional computation time is required. The number of added shortcuts is close to that attainable with a 3-hop search. This technique significantly reduces contraction time and the number of levels in the resulting graph, especially on larger graphs. Finally, modifications are introduced to allow applicability of CU-CH to continent sized graphs while ensuring good performance on graphs of different size by automatically tuning CU-CH.



Committee Chair

Koppelman, David