Title :
An Exercise in Concurrency: From Non-blocking Objects to Fair Objects
Author :
Delporte, Carole ; Fauconnier, Hugues ; Raynal, Michel
Author_Institution :
LIAFA, Univ. Paris 7 - Denis Diderot, Paris, France
Abstract :
A non-blocking implementation of a concurrent object is an implementation that does not prevent concurrent accesses to the internal representation of the object, while guaranteeing the deadlock-freedom progress condition without using locks. Considering a failure free context, this paper presents a simple modular approach to transform a non-blocking implementation into a starvation-free implementation satisfying a strong fairness requirement. This approach, which is due to G. Taubenfeld, is illustrated with the implementation of a concurrent stack. The spirit of the paper is mainly pedagogical. Its aim is not to introduce new concepts or algorithms, but to show that a powerful, simple, and modular transformation can provide concurrent objects with strong fairness properties.
Keywords :
concurrency control; system recovery; concurrency; concurrent access; concurrent object; concurrent stack; deadlock-freedom progress condition; failure free context; fair object; fairness property; fairness requirement; internal representation; modular transformation; nonblocking implementation; nonblocking object; starvation-free implementation; Abstracts; Arrays; Concurrent computing; Indexes; Registers; Synchronization; System recovery; Asynchronous system; Concurrency; Concurrent object; Fair Object; Fairness; Multicore; Non-blocking progress property; Process scheduling; Shared memory; Starvation freedom; Synchronization; Wait-freedom;
Conference_Titel :
Network-Based Information Systems (NBiS), 2014 17th International Conference on
Conference_Location :
Salerno
Print_ISBN :
978-1-4799-4226-8
DOI :
10.1109/NBiS.2014.10