A work-efficient algorithm for parallel unordered depth-first search
A work-efficient algorithm for parallel unordered depth-first search
复制标题
一种高效的并行无序深度优先搜索算法
DOI:
10.1145/2807591.2807651
复制
发表时间:
2015
期刊:
影响因子:
--
通讯作者:
Mike Rainey
中科院分区:
文献类型:
--
作者:
Umut A. Acar;A. Charguéraud;Mike Rainey
Advances in processing power and memory technology have made multicore computers an important platform for high-performance graph-search (or graph-traversal) algorithms. Since the introduction of multicore, much progress has been made to improve parallel breadth-first search. However, less attention has been given to algorithms for unordered or loosely ordered traversals. We present a parallel algorithm for unordered depth-first-search on graphs. We prove that the algorithm is work efficient in a realistic algorithmic model that accounts for important scheduling costs. This work-efficiency result applies to all graphs, including those with high diameter and high out-degree vertices. The algorithmic techniques behind this result include a new data structure for representing the frontier of vertices in depth-first search, a new amortization technique for controlling excess parallelism, and an adaptation of the lazy-splitting technique to depth first search. We validate the theoretical results with an implementation and experiments. The experiments show that the algorithm performs well on a range of graphs and that it can lead to significant improvements over comparable algorithms.