Avoiding Locks and Atomic Instructions in Shared-Memory Parallel BFS Using Optimistic Parallelization

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

引用 13|浏览1
暂无评分
摘要
Dynamic load-balancing in parallel algorithms typically requires locks and/or atomic instructions for correctness. We have shown that sometimes an optimistic parallelization approach can be used to avoid the use of locks and atomic instructions during dynamic load balancing. In this approach one allows potentially conflicting operations to run in parallel with the hope that everything will run without conflicts, and if any occasional inconsistencies arise due to conflicts, one will be able to handle them without hampering the overall correctness of the program. We have used this approach to implement two new types of high-performance lock free parallel BFS algorithms and their variants based on centralized job queues and distributed randomized work-stealing, respectively. These algorithms are implemented using Intel cilk++, and shown to be scalable and faster than two state-of-the-art multicore parallel BFS algorithms by Leiserson and Schardl (SPAA, 2010) and Hong et al. (PACT, 2011), where the algorithm described in the fast paper is also free of locks and atomic instructions but does not use optimistic parallelization. Our implementations can also handle scale-free graphs very efficiently which frequently arise in real-world scenarios such as the World Wide Web, social-networks, biological interaction networks, etc.
更多
查看译文
关键词
parallel algorithm,optimistic parallelization,dynamic load-balancing,intel cilk,state-of-the-art multicore parallel bfs,overall correctness,dynamic load balancing,atomic instructions,atomic instruction,shared-memory parallel bfs,optimistic parallelization approach,free parallel bfs algorithm,resource allocation,multicore processing,parallel processing,complex networks,bfs,breadth first search,instruction sets,parallel algorithms,queueing theory
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要