Scalable and Lock-Free Concurrent Dictionaries Extended Version
Rapport, 2003

We present an efficient and practical lock-free implementation of a concurrent dictionary that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptive (multi-process) systems. Many algorithms for concurrent dictionaries are based on mutual exclusion. However, mutual exclusion causes blocking which has several drawbacks and degrades the system's overall performance. Non-blocking algorithms avoid blocking, and are either lockfree or wait-free. Our algorithm is based on the randomized sequential list structure called Skiplist, and implements the full set of operations on a dictionary that is suitable for practical settings. In our performance evaluation we compare our algorithm with the most efficient non-blocking implementation of dictionaries known. The experimental results clearly show that our algorithm outperforms the other lockfree algorithm for dictionaries with realistic sizes, both on fully concurrent as well as pre-emptive systems.

Författare

Per Håkan Sundell

Chalmers, Institutionen för datavetenskap

Philippas Tsigas

Chalmers, Institutionen för datavetenskap

Ämneskategorier

Data- och informationsvetenskap

DOI

10.1145/967900.968188

Technical report - Department of Computing Science, Chalmers University of Technology and Göteborg University: 2003:10