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 close performance to sequential algorithms. In this paper, we present \textsf{SPoCH} (\textbf{S}calable \textbf{P}arallelization \textbf{o}f \textbf{C}ontraction \textbf{H}ierarchies), 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. %to maintain the original and shortcut edges dynamically. We implement our algorithm and compare it with the state-of-the-art sequential and parallel implementations on 13 graphs, including road networks, synthetic graphs, and $k$-NN graphs. Our experiments show that \textsf{SPoCH} achieves $17$--$131\times$ speedups in CH construction over the best baseline, while maintaining competitive query performance and CH graph size.
翻译:收缩层次结构(CH)(Geisberger 等人,2008)是路网最短路径查询中最广泛使用的算法之一。相较于 Dijkstra 算法,CH 通过预处理阶段实现了数量级更快的查询性能,该阶段迭代地将顶点分类至层次结构并添加捷径边。然而,CH 的构建是一项计算代价高昂的任务。现有解决方案(包括并行方案)可能面临构建时间过长的问题。特别是在我们的实验中,我们观察到现有并行方案展现出不尽人意的可扩展性,其性能与串行算法十分接近。本文提出 \textsf{SPoCH}(\textbf{S}calable \textbf{P}arallelization \textbf{o}f \textbf{C}ontraction \textbf{H}ierarchies),一种高效且可扩展的并行 CH 构建算法。为应对先前工作中的挑战,我们的改进聚焦于算法重构与并行数据结构的协同利用。我们在 13 种图结构(包括路网、合成图及 $k$-NN 图)上实现了该算法,并与最先进的串行及并行实现进行了对比。实验表明,\textsf{SPoCH} 在 CH 构建中相较最佳基线实现了 $17$--$131$ 倍的加速,同时保持了具有竞争力的查询性能与 CH 图规模。