TY - GEN
T1 - Efficiently reclaiming memory in concurrent search data structures while bounding wasted memory
AU - Solomon, Daniel
AU - Morrison, Adam
N1 - Publisher Copyright:
© 2021 ACM.
PY - 2021/2/17
Y1 - 2021/2/17
N2 - Nonblocking data structures face a safe memory reclamation (SMR) problem. In these algorithms, a node removed from the data structure cannot be reclaimed (freed) immediately, as other threads may be about to access it. The goal of an SMR scheme is to minimize the number of removed nodes that cannot be reclaimed - -called wasted memory - -while imposing low run-time overhead. It is also desirable for an SMR scheme to be self-contained and not require specific OS features. No existing self-contained SMR scheme can guarantee a predetermined bound on wasted memory without imposing significant run-time overhead. In this paper, we introduce margin pointers (MP), the first nonblocking, self-contained SMR scheme featuring both predetermined bounded wasted memory and low run-time overhead. MP targets search data structures, such as binary trees and skip lists, which are important SMR clients and also victims of its high overhead. MP's novelty lies in its protecting logical subsets of the data structure from being reclaimed, as opposed to previous work, which protects physical locations (explicit nodes).
AB - Nonblocking data structures face a safe memory reclamation (SMR) problem. In these algorithms, a node removed from the data structure cannot be reclaimed (freed) immediately, as other threads may be about to access it. The goal of an SMR scheme is to minimize the number of removed nodes that cannot be reclaimed - -called wasted memory - -while imposing low run-time overhead. It is also desirable for an SMR scheme to be self-contained and not require specific OS features. No existing self-contained SMR scheme can guarantee a predetermined bound on wasted memory without imposing significant run-time overhead. In this paper, we introduce margin pointers (MP), the first nonblocking, self-contained SMR scheme featuring both predetermined bounded wasted memory and low run-time overhead. MP targets search data structures, such as binary trees and skip lists, which are important SMR clients and also victims of its high overhead. MP's novelty lies in its protecting logical subsets of the data structure from being reclaimed, as opposed to previous work, which protects physical locations (explicit nodes).
KW - hazard pointers
KW - safe memory reclamation
UR - http://www.scopus.com/inward/record.url?scp=85101671247&partnerID=8YFLogxK
U2 - 10.1145/3437801.3441582
DO - 10.1145/3437801.3441582
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:85101671247
T3 - Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
SP - 191
EP - 204
BT - PPoPP 2021 - Proceedings of the 2021 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
PB - Association for Computing Machinery
T2 - 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2021
Y2 - 27 February 2021 through 3 March 2021
ER -