Scalable Cache-Optimized Concurrent FIFO Queue for Multicore Architectures
暂无分享,去创建一个
A concurrent FIFO queue is a widely used fundamental data structure for parallelizing software. In this letter, we introduce a novel concurrent FIFO queue algorithm for multicore architecture. We achieve better scalability by reducing contention among concurrent threads, and improve performance by optimizing cache-line usage. Experimental results on a server with eight cores show that our algorithm outperforms state-ofthe-art algorithms by a factor of two. key words: FIFO queue, multicore processor, cache-line contention, compare-and-swap, fetch-and-store
[1] Maged M. Michael,et al. Simple, fast, and practical non-blocking and blocking concurrent queue algorithms , 1996, PODC '96.
[2] John Giacomoni,et al. FastForward for efficient pipeline parallelism: a cache-optimized concurrent lock-free queue , 2008, PPoPP.
[3] Leslie Lamport,et al. Specifying Concurrent Program Modules , 1983, TOPL.
[4] Nir Shavit,et al. An Optimistic Approach to Lock-Free FIFO Queues , 2004, DISC.