We propose Orionet, efficient parallel implementations of Point-to-Point Shortest Paths (PPSP) queries using bidirectional search (BiDS) and other heuristics, with an additional focus on batch PPSP queries. We present a framework for parallel PPSP built on existing single-source shortest paths (SSSP) frameworks by incorporating pruning conditions. As a result, we develop efficient parallel PPSP algorithms based on early termination, bidirectional search, A$^*$ search, and bidirectional A$^*$ all with simple and efficient implementations. We extend our idea to batch PPSP queries, which are widely used in real-world scenarios. We first design a simple and flexible abstraction to represent the batch so PPSP can leverage the shared information of the batch. Orionet formalizes the batch as a query graph represented by edges between queried sources and targets. In this way, we directly extended our PPSP framework to batched queries in a simple and efficient way. We evaluate Orionet on both single and batch PPSP queries using various graph types and distance percentiles of queried pairs, and compare it against two baselines, GraphIt and MBQ. Both of them support parallel single PPSP and A$^*$ using unidirectional search. On 14 graphs we tested, on average, our bidirectional search is 2.9$\times$ faster than GraphIt, and 6.8$\times$ faster than MBQ. Our bidirectional A$^*$ is 4.4$\times$ and 6.2$\times$ faster than the A$^*$ in GraphIt and MBQ, respectively. For batched PPSP queries, we also provide in-depth experimental evaluation, and show that Orionet provides strong performance compared to the plain solutions.
翻译:我们提出Orionet,一种利用双向搜索(BiDS)和其他启发式方法高效实现点对点最短路径(PPSP)查询的并行方案,并特别关注批量PPSP查询。我们通过引入剪枝条件,在现有单源最短路径(SSSP)框架基础上构建了并行PPSP框架。由此,我们基于提前终止、双向搜索、A$^*$搜索和双向A$^*$等策略,开发了高效且实现简单的并行PPSP算法。我们将该思想扩展到广泛应用于实际场景的批量PPSP查询中。首先设计了一种简单灵活的抽象方法来表征批量查询,使PPSP能够利用批量查询中的共享信息。Orionet将批量查询形式化为由查询源节点与目标节点间的边构成的查询图,从而以简洁高效的方式直接扩展了我们的PPSP框架以支持批量查询。我们使用多种图类型和查询对的距离百分位数,在单条和批量PPSP查询上评估了Orionet,并将其与两个基线方法GraphIt和MBQ进行比较。两者均支持基于单向搜索的并行单条PPSP和A$^*$搜索。在测试的14个图上,我们的双向搜索平均比GraphIt快2.9倍,比MBQ快6.8倍。双向A$^*$搜索分别比GraphIt和MBQ中的A$^*$搜索快4.4倍和6.2倍。对于批量PPSP查询,我们还提供了深入的实验评估,表明Orionet相比普通解决方案具有显著性能优势。