2007
DOI: 10.1016/j.jpdc.2007.04.010
|View full text |Cite
|
Sign up to set email alerts
|

Performance of memory reclamation for lockless synchronization

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
121
0

Year Published

2012
2012
2021
2021

Publication Types

Select...
5
2
1

Relationship

2
6

Authors

Journals

citations
Cited by 134 publications
(122 citation statements)
references
References 29 publications
1
121
0
Order By: Relevance
“…OPTIK decouples concurrency control from memory reclamation. Accordingly, OPTIK can be used with practically any memory-reclamation scheme, such as hazard pointers [38], RCU [35], quiescent states [19,20]. Our CSDS implementations with OPTIK use ssmem, 8 a simple memory allocator with quiescent-based memory reclamation.…”
Section: Practical Considerationsmentioning
confidence: 99%
See 1 more Smart Citation
“…OPTIK decouples concurrency control from memory reclamation. Accordingly, OPTIK can be used with practically any memory-reclamation scheme, such as hazard pointers [38], RCU [35], quiescent states [19,20]. Our CSDS implementations with OPTIK use ssmem, 8 a simple memory allocator with quiescent-based memory reclamation.…”
Section: Practical Considerationsmentioning
confidence: 99%
“…The delete operation (Figure 8(a)) is the most complex operation of the OPTIK-based linked list, because it requires locking two nodes; the one being deleted and its predecessor node. Traversing the list (lines 11-15) keeps track of these two version numbers that are later used for locking with optik trylock version (lines [18][19][20][21][22][23]. If locking the predecessor node fails, the operation is restarted, otherwise the node to be deleted is locked.…”
Section: Optik-based Linked Listmentioning
confidence: 99%
“…Quiescence-based techniques [20,14,21] such as RCU [36] have threads accessing the data structure register the start and end of methods, and have the reclaiming thread wait a sufficiently long period of time until it can be ensured that no registered thread holds a reference to a deleted object. These techniques are efficient since here is no per-read tracking, making them compatible with invisible traversals.…”
Section: Concurrent Memory Reclamationmentioning
confidence: 99%
“…One reason RCU is heavily used is that it eases lock-based programming when the locks themselves are dynamically created and destroyed, which occurs frequently in concurrent programs. However, RCU is not heavily used in applications, in part because prior user-level RCU-like algorithms severely constrained application design [7], incurred heavy read-side overhead [8,9], or relied on sequential consistency and garbage collection [10,11]. The popularity of RCU in operating-system kernels owes much to the fact that kernels can accommodate the global constraints imposed by the high-performance quiescent-state based reclamation (QSBR) class of RCU implementations.…”
Section: Introductionmentioning
confidence: 99%
“…The popularity of RCU in operating-system kernels owes much to the fact that kernels can accommodate the global constraints imposed by the high-performance quiescent-state based reclamation (QSBR) class of RCU implementations. QSBR implementations provide unmatched performance and scalability for read-mostly data structures on cache-coherent shared-memory multiprocessors [7], even with weakly ordered hardware and compilers. Whereas we cannot yet put forward a single user-level RCU implementation that is ideal for all environments, the three classes of RCU implementations described in this paper should suffice for most user-level uses of RCU.…”
Section: Introductionmentioning
confidence: 99%