DocumentCode
56593
Title
Supporting Lock-Free Composition of Concurrent Data Objects: Moving Data between Containers
Author
Cederman, Daniel ; Tsigas, Philippas
Author_Institution
Comput. Sci. & Eng. Dept., Chalmers Univ. of Technol., Gothenburg, Sweden
Volume
62
Issue
9
fYear
2013
fDate
Sept. 2013
Firstpage
1866
Lastpage
1878
Abstract
Lock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks, priority inversion, and convoying. They have also been shown to work well in practice. However, composing the operations they provide into larger atomic operations, while still guaranteeing efficiency and lock-freedom, is a challenging algorithmic task. We present a lock-free methodology for composing a wide variety of concurrent linearizable objects together by unifying their linearization points. This makes it possible to relatively easily introduce atomic lock-free move operations to a wide range of concurrent lock-free containers. This move operation allows data to be transferred from one container to another, in a lock-free way, without blocking any of the operations supported by the original container. For a data object to be suitable for composition using our methodology it needs to fulfill a set of requirements. These requirement are, however, generic enough to be fulfilled by a large set of objects. To show this we have performed case studies on six commonly used lock-free objects (a stack, a queue, a skip list, a deque, a doubly linked list and a hash table) to demonstrate the general applicability of the methodology. We also show that the operations originally supported by the data objects keep their performance behavior under our methodology.
Keywords
concurrency control; file organisation; atomic lock-free move operations; concurrent data object; concurrent linearizable objects; concurrent lock-free containers; deque; doubly linked list; hash table; linearization points; lock-free composition; lock-free data objects; lock-free methodology; queue; skip list; stack; Concurrent computing; Containers; Hardware; Hazards; History; Software; System recovery; Lock-free; composition; containers; data structures;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2012.248
Filename
6331479
Link To Document