Parallel Contraction Hierarchies Can Be Efficient and Scalable
Zijin Wan, Xiaojun Dong, Letong Wang, Enzuo Zhu, Yan Gu, Yihan Sun
TL;DR
The paper addresses the bottleneck of preprocessing in Contraction Hierarchies for road networks by introducing SPoCH, a scalable parallel CH construction framework. SPoCH combines a LocalSearch step with memoization, batching of Witness Path Searches, and a lazy, lock-free overlay-update mechanism facilitated by phase-concurrent hash tables, achieving large speedups in CH construction while preserving competitive query performance. Across 16 graphs, SPoCH delivers 11–68× speedups over the best sequential baseline and 3.8–41× over the best parallel baseline, with self-relative speedups up to around 70× on 96 cores. The work demonstrates the practical impact of algorithmic redesign and parallel data structures for large-scale shortest-path preprocessing and opens avenues for applying these ideas to other distance queries and higher-degree graphs.
Abstract
Contraction Hierarchies (CH) (Geisberger et al., 2008) is one of the most widely used algorithms for shortest-path queries on road networks. Compared to Dijkstra's algorithm, CH enables orders of magnitude faster query performance through a preprocessing phase, which iteratively categorizes vertices into hierarchies and adds shortcuts. However, constructing a CH is an expensive task. Existing solutions, including parallel ones, may suffer from long construction time. Especially, in our experiments, we observe that existing parallel solutions demonstrate unsatisfactory scalability, and have performance close to sequential algorithms. We present SPoCH (Scalable Parallelization of Contraction Hierarchies), an efficient and scalable CH construction algorithm in parallel. To address the challenges in previous work, our improvements focus on both redesigning the algorithm and leveraging parallel data structures. We compare SPoCH with the state-of-the-art sequential and parallel implementations on 16 graphs of various types. Our experiments show that SPoCH achieves speedups of 11 to 68 times over the best sequential baseline and 3.8 to 41 times over the best parallel baseline in CH construction, while maintaining competitive query performance and CH graph size. We have released our code and all datasets used in this paper.
