• 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