Back to Search
Start Over
Progress Guarantees When Composing Lock-Free Objects
- Source :
- Euro-Par 2011 Parallel Processing ISBN: 9783642233968, Euro-Par (2)
- Publication Year :
- 2011
- Publisher :
- Springer Berlin Heidelberg, 2011.
-
Abstract
- Highly concurrent and reliable data objects are vital for parallel programming. Lock-free shared data objects are highly concurrent and guarantee that at least one operation, from a set of concurrently executed operations, finishes after a finite number of steps regardless of the state of the other operations. Lock-free data objects provide progress guarantees on the object level. In this paper, we first examine the progress guarantees provided by lock-free shared data objects that have been constructed by composing other lock-free data objects. We observe that although lock-free data objects are composable when it comes to linearizability, when it comes to progress guarantees they are not. More specifically we show that when a lock-free data object is used as a component (is shared) by two or more lock-free data objects concurrently, these objects can no longer guarantee lock-free progress. This makes it impossible for programmers to directly compose lock-free data objects and guarantee lock-freedom. To help programmability in concurrent settings, this paper presents a new synchronization mechanism for composing lock-free data objects. The proposed synchronization mechanism provides an interface to be used when calling a lock-free object from other lock-free objects, and guarantees lock-free progress for every object constructed. An experimental evaluation of the performance cost that the new mechanism introduces, as expected, for providing progress guarantees is also presented.
- Subjects :
- Linearizability
Interface (Java)
Computer science
Distributed computing
020206 networking & telecommunications
020207 software engineering
02 engineering and technology
Software_PROGRAMMINGTECHNIQUES
Object (computer science)
Object-oriented design
Data transfer object
Synchronization (computer science)
0202 electrical engineering, electronic engineering, information engineering
Non-blocking algorithm
Shared object
Subjects
Details
- ISBN :
- 978-3-642-23396-8
- ISBNs :
- 9783642233968
- Database :
- OpenAIRE
- Journal :
- Euro-Par 2011 Parallel Processing ISBN: 9783642233968, Euro-Par (2)
- Accession number :
- edsair.doi.dedup.....8aadfa9a5d5cb7042fe9fac7b0a2486c