首页 | 本学科首页   官方微博 | 高级检索  
     


An optimistic approach to lock-free FIFO queues
Authors:Edya Ladan-Mozes  Nir Shavit
Affiliation:(1) CSAIL-MIT, 32 Vassar st, Cambridge, MA 02139, USA;(2) School of Computer Science, Tel-Aviv University, 69978 Tel Aviv, Israel;(3) Sun Microsystems Laboratories, Burlington, MA, USA
Abstract:
First-in-first-out (FIFO) queues are among the most fundamental and highly studied concurrent data structures. The most effective and practical dynamic-memory concurrent queue implementation in the literature is the lock-free FIFO queue algorithm of Michael and Scott, included in the standard Java TM Concurrency Package. This work presents a new dynamic-memory concurrent lock-free FIFO queue algorithm that in a variety of circumstances performs better than the Michael and Scott queue. The key idea behind our new algorithm is a novel way of replacing the singly-linked list of Michael and Scott, whose pointers are inserted using a costly compare-and-swap (CAS) operation, by an “optimistic” doubly - linked list whose pointers are updated using a simple store, yet can be “fixed” if a bad ordering of events causes them to be inconsistent. We believe it is the first example of such an “optimistic” approach being applied to a real world data structure. A preliminary version of this paper appeared in the proceedings of the 18th International Conference on Distributed Computing (DISC) 2004, pages 117–131.
Keywords:CAS  Compare and swap  Concurrent data structures  FIFO queue  Lock-free  Non-blocking  Synchronization
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号