Distributed Memory Breadth-First Search Revisited: Enabling Bottom-Up Search

Parallel and Distributed Processing Symposium Workshops & PhD Forum(2013)

引用 97|浏览0
暂无评分
摘要
Breadth-first search (BFS) is a fundamental graph primitive frequently used as a building block for many complex graph algorithms. In the worst case, the complexity of BFS is linear in the number of edges and vertices, and the conventional top-down approach always takes as much time as the worst case. A recently discovered bottom-up approach manages to cut down the complexity all the way to the number of vertices in the best case, which is typically at least an order of magnitude less than the number of edges. The bottom-up approach is not always advantageous, so it is combined with the top-down approach to make the direction-optimizing algorithm which adaptively switches from top-down to bottom-up as the frontier expands. We present a scalable distributed-memory parallelization of this challenging algorithm and show up to an order of magnitude speedups compared to an earlier purely top-down code. Our approach also uses a 2D decomposition of the graph that has previously been shown to be superior to a 1D decomposition. Using the default parameters of the Graph500 benchmark, our new algorithm achieves a performance rate of over 240 billion edges per second on 115 thousand cores of a Cray XE6, which makes it over 7脳 faster than a conventional top-down algorithm using the same set of optimizations and data distribution.
更多
查看译文
关键词
memory breadth-first search revisited,direction-optimizing algorithm,conventional top-down algorithm,enabling bottom-up search,top-down code,top-down approach,conventional top-down approach,worst case,new algorithm,complex graph algorithm,bottom-up approach,challenging algorithm,parallel algorithms,algorithm design and analysis,vectors,sparse matrices,breadth first search,graphs,bfs,algorithms,parallel processing
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要