Back to Search Start Over

Highly-Efficient Wait-Free Synchronization.

Authors :
Fatourou, Panagiota
Kallimanis, Nikolaos
Source :
Theory of Computing Systems. Oct2014, Vol. 55 Issue 3, p475-520. 46p.
Publication Year :
2014

Abstract

We study a simple technique, originally presented by Herlihy (ACM Trans. Program. Lang. Syst. 15(5):745-770, ), for executing concurrently, in a wait-free manner, blocks of code that have been programmed for sequential execution and require significant synchronization in order to be performed in parallel. We first present an implementation of this technique, called Sim, which employs a collect object. We describe a simple implementation of a collect object from a single shared object that supports atomic Add (or XOR) in addition to read; this implementation has step complexity O(1). By plugging in to Sim this implementation, Sim exhibits constant step complexity as well. This allows us to derive lower bounds on the step complexity of implementations of several shared objects, like Add, XOR, collect, and snapshot objects, from LL/SC objects. We then present a practical version of Sim, called PSim, which is implemented in a real shared-memory machine. From a theoretical perspective, PSim has worse step complexity than Sim, its theoretical analog; in practice though, we experimentally show that PSim is highly-efficient: it outperforms several state-of-the-art lock-based and lock-free synchronization techniques, and this given that it is wait-free, i.e. that it satisfies a stronger progress condition than all the algorithms that it outperforms. We have used PSim to get highly-efficient wait-free implementations of stacks and queues. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
14324350
Volume :
55
Issue :
3
Database :
Academic Search Index
Journal :
Theory of Computing Systems
Publication Type :
Academic Journal
Accession number :
97622426
Full Text :
https://doi.org/10.1007/s00224-013-9491-y