Scalable and Lock-Free Concurrent Dictionaries
Paper i proceeding, 2004

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 lock-free 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 lock-free algorithm for dictionaries with realistic sizes, both on fully concurrent as well as pre-emptive systems.

shared memory

skip list

non-blocking

Concurrent

dictionary

Författare

Håkan Sundell

Chalmers, Institutionen för datavetenskap, Datakommunikation och Distribuerade System

Philippas Tsigas

Chalmers, Institutionen för datavetenskap, Datakommunikation och Distribuerade System

Proceedings of the 19th ACM Symposium on Applied Computing

1438-1445

Ämneskategorier

Data- och informationsvetenskap