A Family of Fast and Memory Efficient Lock- and Wait-Free Reclamation

Historically, memory management based on lock-free reference counting was very inefficient, especially for read-dominated workloads. Thus, approaches such as epoch-based reclamation (EBR), hazard pointers (HP), or a combination thereof have received significant attention. EBR exhibits excellent perf...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Proceedings of ACM on programming languages Ročník 8; číslo PLDI; s. 2174 - 2198
Hlavní autori: Nikolaev, Ruslan, Ravindran, Binoy
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: New York, NY, USA ACM 20.06.2024
Predmet:
ISSN:2475-1421, 2475-1421
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Historically, memory management based on lock-free reference counting was very inefficient, especially for read-dominated workloads. Thus, approaches such as epoch-based reclamation (EBR), hazard pointers (HP), or a combination thereof have received significant attention. EBR exhibits excellent performance but is blocking due to potentially unbounded memory usage. In contrast, HP are non-blocking and achieve good memory efficiency but are much slower. Moreover, HP are only lock-free in the general case. Recently, several new memory reclamation approaches such as WFE and Hyaline have been proposed. WFE achieves wait-freedom, but is less memory efficient and performs suboptimally in oversubscribed scenarios; Hyaline achieves higher performance and memory efficiency, but lacks wait-freedom. We present a family of non-blocking memory reclamation schemes, called Crystalline, that simultaneously addresses the challenges of high performance, high memory efficiency, and wait-freedom. Crystalline can guarantee complete wait-freedom even when threads are dynamically recycled, asynchronously reclaims memory in the sense that any thread can reclaim memory retired by any other thread, and ensures (an almost) balanced reclamation workload across all threads. The latter two properties result in Crystalline’s high performance and memory efficiency. Simultaneously ensuring all three properties requires overcoming unique challenges. Crystalline supports ubiquitous x86-64 and ARM64 architectures, while achieving superior throughput than prior fast schemes such as EBR as the number of threads grows. We also accentuate that many recent approaches, unlike HP, lack strict non-blocking guarantees when used with multiple data structures. By providing full wait-freedom, Crystalline addresses this problem as well.
AbstractList Historically, memory management based on lock-free reference counting was very inefficient, especially for read-dominated workloads. Thus, approaches such as epoch-based reclamation (EBR), hazard pointers (HP), or a combination thereof have received significant attention. EBR exhibits excellent performance but is blocking due to potentially unbounded memory usage. In contrast, HP are non-blocking and achieve good memory efficiency but are much slower. Moreover, HP are only lock-free in the general case. Recently, several new memory reclamation approaches such as WFE and Hyaline have been proposed. WFE achieves wait-freedom, but is less memory efficient and performs suboptimally in oversubscribed scenarios; Hyaline achieves higher performance and memory efficiency, but lacks wait-freedom. We present a family of non-blocking memory reclamation schemes, called Crystalline, that simultaneously addresses the challenges of high performance, high memory efficiency, and wait-freedom. Crystalline can guarantee complete wait-freedom even when threads are dynamically recycled, asynchronously reclaims memory in the sense that any thread can reclaim memory retired by any other thread, and ensures (an almost) balanced reclamation workload across all threads. The latter two properties result in Crystalline’s high performance and memory efficiency. Simultaneously ensuring all three properties requires overcoming unique challenges. Crystalline supports ubiquitous x86-64 and ARM64 architectures, while achieving superior throughput than prior fast schemes such as EBR as the number of threads grows. We also accentuate that many recent approaches, unlike HP, lack strict non-blocking guarantees when used with multiple data structures. By providing full wait-freedom, Crystalline addresses this problem as well.
Historically, memory management based on lock-free reference counting was very inefficient, especially for read-dominated workloads. Thus, approaches such as epoch-based reclamation (EBR), hazard pointers (HP), or a combination thereof have received significant attention. EBR exhibits excellent performance but is blocking due to potentially unbounded memory usage. In contrast, HP are non-blocking and achieve good memory efficiency but are much slower. Moreover, HP are only lock-free in the general case. Recently, several new memory reclamation approaches such as WFE and Hyaline have been proposed. WFE achieves wait-freedom, but is less memory efficient and performs suboptimally in oversubscribed scenarios; Hyaline achieves higher performance and memory efficiency, but lacks wait-freedom. We present a family of non-blocking memory reclamation schemes, called Crystalline, that simultaneously addresses the challenges of high performance, high memory efficiency, and wait-freedom. Crystalline can guarantee complete wait-freedom even when threads are dynamically recycled, asynchronously reclaims memory in the sense that any thread can reclaim memory retired by any other thread, and ensures (an almost) balanced reclamation workload across all threads. The latter two properties result in Crystalline’s high performance and memory efficiency. Simultaneously ensuring all three properties requires overcoming unique challenges. Crystalline supports ubiquitous x86-64 and ARM64 architectures, while achieving superior throughput than prior fast schemes such as EBR as the number of threads grows. We also accentuate that many recent approaches, unlike HP, lack strict non-blocking guarantees when used with multiple data structures. By providing full wait-freedom, Crystalline addresses this problem as well.
ArticleNumber 235
Author Nikolaev, Ruslan
Ravindran, Binoy
Author_xml – sequence: 1
  givenname: Ruslan
  orcidid: 0000-0002-1699-0593
  surname: Nikolaev
  fullname: Nikolaev, Ruslan
  email: rnikola@psu.edu
  organization: Pennsylvania State University, University Park, USA
– sequence: 2
  givenname: Binoy
  orcidid: 0000-0002-8663-739X
  surname: Ravindran
  fullname: Ravindran, Binoy
  email: binoy@vt.edu
  organization: Virginia Tech, Blacksburg, USA
BookMark eNptkE1LAzEYhINUsNbi3VNunqJJ3s1-HEvZVmFFEMXj8m42geh-SJLL_ntrW0XE0wzMwzDMOZkN42AIuRT8RohE3UKq8lyJEzKXSaaYSKSY_fJnZBnCG-dcFJDkUMxJuaIb7F030dHuXIgUh5Y-mH70Ey2tddqZIdJq1O9sH72ii2zjjaFPRnfYY3TjcEFOLXbBLI-6IC-b8nl9x6rH7f16VTGUWRZZloIUxiirlbXapgDKGMxzbFqZyhyaIs1akG2rhJIWEo5WYZNKIaEBqxJYEHbo1X4MwRtbaxf3C6JH19WC11831Mcbdvz1H_7Dux799A95dSBR9z_Qd_gJ7PRj9w
CitedBy_id crossref_primary_10_1145_3729337
crossref_primary_10_1145_3729247
Cites_doi 10.1007/s00446-002-0079-z
10.1145/3385412.3385978
10.1145/3437801.3441596
10.1145/3293611.3331575
10.1145/3018743.3019022
10.1145/3276513
10.1145/3558481.3591089
10.1007/3-540-45414-4_21
10.1145/2755573.2755600
10.1145/3178487.3178488
10.1007/978-3-642-35476-2_23
10.1007/978-3-030-34175-6_13
10.1145/2935764.2935790
10.4230/LIPIcs.DISC.2021.60
10.1145/1989493.1989549
10.1109/DSN.2019.00028
10.1145/3087556.3087588
10.1145/3453483.3454060
10.1109/TPDS.2004.8
10.1145/2814270.2814298
10.1145/2755573.2755579
10.1145/224964.224988
10.1145/1062247.1062249
10.1145/3519939.3523730
10.5281/zenodo.10775789
10.4230/LIPIcs.DISC.2021.35
10.4230/LIPIcs.DISC.2019.28
10.1145/2851141.2851168
10.1145/2486159.2486184
10.1145/3332466.3374523
10.1145/1941553.1941585
10.1145/2442516.2442527
10.1007/3-540-36108-1_23
10.1145/3583668.3594564
10.1145/3232559
10.1145/2767386.2767436
10.1145/3453483.3454090
10.1145/3064176.3064214
10.1109/TPDS.2008.167
10.1145/3437801.3441625
10.1145/3210377.3210661
10.1016/j.jpdc.2007.04.010
10.1145/3332466.3374540
10.1145/3490148.3538572
10.1145/2555243.2555261
10.5555/1734069
10.5555/898203
ContentType Journal Article
Copyright Owner/Author
Copyright_xml – notice: Owner/Author
DBID AAYXX
CITATION
DOI 10.1145/3658851
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
CrossRef
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2475-1421
EndPage 2198
ExternalDocumentID 10_1145_3658851
3658851
GrantInformation_xml – fundername: Office of Naval Research
  grantid: N00014-18-1-2022,N00014-19-1-2493,N00014-21-1-2523
  funderid: https:\/\/doi.org\/10.13039\/100000006
– fundername: Air Force Office of Scientific Research
  grantid: FA9550-16-1-0371
  funderid: https:\/\/doi.org\/10.13039\/100000181
GroupedDBID AAKMM
AAYFX
ACM
AEFXT
AEJOY
AIKLT
AKRVB
ALMA_UNASSIGNED_HOLDINGS
GUFHI
LHSKQ
M~E
OK1
ROL
AAYXX
CITATION
ID FETCH-LOGICAL-a277t-76321ee5fc5ffcf6335eea88abd26283b967d32dd5152f340af5ab62123b3f543
ISICitedReferencesCount 3
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001264464100090&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2475-1421
IngestDate Sat Nov 29 07:45:10 EST 2025
Tue Nov 18 22:34:54 EST 2025
Mon Jul 07 16:40:28 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue PLDI
Keywords wait-free
memory reclamation
hazard pointers
Language English
License This work is licensed under a Creative Commons Attribution International 4.0 License.
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a277t-76321ee5fc5ffcf6335eea88abd26283b967d32dd5152f340af5ab62123b3f543
ORCID 0000-0002-8663-739X
0000-0002-1699-0593
OpenAccessLink https://dl.acm.org/doi/10.1145/3658851
PageCount 25
ParticipantIDs crossref_citationtrail_10_1145_3658851
crossref_primary_10_1145_3658851
acm_primary_3658851
PublicationCentury 2000
PublicationDate 2024-06-20
PublicationDateYYYYMMDD 2024-06-20
PublicationDate_xml – month: 06
  year: 2024
  text: 2024-06-20
  day: 20
PublicationDecade 2020
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationTitle Proceedings of ACM on programming languages
PublicationTitleAbbrev ACM PACMPL
PublicationYear 2024
Publisher ACM
Publisher_xml – name: ACM
References (bib43) 2017
(bib29) 2004; 15
(bib14) 2021
(bib37) 2021
(bib9) 2015
(bib47) 2021
(bib31) 2023
(bib19) 2004
(bib33) 2019
(bib50) 2012
(bib53) 1995
(bib25) 2008
(bib38) 2022
(bib20) 2009; 20
(bib32) 2013
(bib12) 2015
(bib27) 2011
(bib41) 2018
(bib15) 2018; 61
(bib8) 2013
(bib30) 1995
(bib44) 2017
(bib35) 2020
(bib40) 2024
(bib39) 2024
(bib51) 2014
(bib18) 2011
(bib4) 2015
(bib5) 2021
(bib1) 2020
(bib55) 2016
(bib17) 2006
(bib21) 2001
(bib26) 2020
(bib36) 2021
(bib45) 2017
(bib7) 2016
(bib16) 2002; 15
(bib24) 2002
(bib10) 2018; 2
(bib49) 2021
(bib28) 2019
(bib13) 2020
(bib34) 2019
(bib23) 2005; 23
(bib48) 2023
(bib6) 2022
(bib52) 1986
(bib46) 2019
(bib42) 2016
(bib2) 2024
(bib11) 2015
(bib3) 2017
(bib22) 2007; 67
(bib54) 2018
Treiber R. K. (e_1_3_1_53_2) 1986
e_1_3_1_22_2
e_1_3_1_45_2
e_1_3_1_24_2
e_1_3_1_8_2
e_1_3_1_41_2
e_1_3_1_4_2
e_1_3_1_6_2
Nikolaev Ruslan (e_1_3_1_40_2) 2024
e_1_3_1_26_2
e_1_3_1_47_2
e_1_3_1_2_2
e_1_3_1_28_2
e_1_3_1_49_2
e_1_3_1_32_2
e_1_3_1_55_2
Ramalhete Pedro (e_1_3_1_43_2) 2016
e_1_3_1_34_2
e_1_3_1_13_2
e_1_3_1_51_2
e_1_3_1_11_2
e_1_3_1_30_2
e_1_3_1_17_2
e_1_3_1_15_2
e_1_3_1_36_2
e_1_3_1_19_2
e_1_3_1_38_2
Evans Jason (e_1_3_1_18_2) 2006
Fraser Keir (e_1_3_1_20_2) 2004
e_1_3_1_21_2
e_1_3_1_44_2
e_1_3_1_23_2
e_1_3_1_46_2
e_1_3_1_7_2
e_1_3_1_9_2
e_1_3_1_42_2
e_1_3_1_29_2
e_1_3_1_3_2
e_1_3_1_5_2
e_1_3_1_25_2
e_1_3_1_48_2
e_1_3_1_27_2
e_1_3_1_33_2
e_1_3_1_54_2
e_1_3_1_35_2
e_1_3_1_56_2
e_1_3_1_12_2
e_1_3_1_50_2
e_1_3_1_10_2
e_1_3_1_31_2
e_1_3_1_52_2
e_1_3_1_16_2
e_1_3_1_14_2
e_1_3_1_37_2
e_1_3_1_39_2
References_xml – volume: 15
  start-page: 255
  issue: 4
  year: 2002
  end-page: 271
  ident: bib16
  article-title: Lock-free reference counting
  publication-title: Distributed Computing
  doi: 10.1007/s00446-002-0079-z
– year: 1986
  ident: bib52
  publication-title: Systems Programming: Coping with Parallelism.
– start-page: 314
  year: 2020
  end-page: 328
  ident: bib26
  publication-title: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (London, UK) (PLDI ’20)
  doi: 10.1145/3385412.3385978
– year: 2004
  ident: bib19
  publication-title: Practical lock-freedom
– start-page: 205
  year: 2021
  end-page: 218
  ident: bib14
  publication-title: Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’21)
  doi: 10.1145/3437801.3441596
– start-page: 419
  year: 2019
  end-page: 421
  ident: bib34
  publication-title: Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing (Toronto, ON, Canada) (PODC ’19)
  doi: 10.1145/3293611.3331575
– start-page: 453
  year: 2017
  end-page: 454
  ident: bib45
  publication-title: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Austin, Texas, USA) (PPoPP ’17)
  doi: 10.1145/3018743.3019022
– volume: 2
  start-page: 24
  issue: OOPSLA
  year: 2018
  ident: bib10
  article-title: Every Data Structure Deserves Lock-free Memory Reclamation
  publication-title: Proc. ACM Program. Lang.
  doi: 10.1145/3276513
– start-page: 177
  year: 2023
  end-page: 186
  ident: bib31
  publication-title: Proceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures (Orlando, FL, USA) (SPAA ’23)
  doi: 10.1145/3558481.3591089
– start-page: 300
  year: 2001
  end-page: 314
  ident: bib21
  publication-title: Proceedings of the 15th International Conference on Distributed Computing (DISC ’01)
  doi: 10.1007/3-540-45414-4_21
– start-page: 123
  year: 2015
  end-page: 132
  ident: bib4
  publication-title: Proceedings of the 27th ACM Symposium on Parallelism in Algorithms and Architectures (Portland, Oregon, USA) (SPAA ’15)
  doi: 10.1145/2755573.2755600
– start-page: 1
  year: 2018
  end-page: 13
  ident: bib54
  publication-title: Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Vienna, Austria) (PPoPP ’18)
  doi: 10.1145/3178487.3178488
– start-page: 330
  year: 2012
  end-page: 344
  ident: bib50
  publication-title: Proceedings of the International Conference on Principles of Distributed Systems (OPODIS 2012)
  doi: 10.1007/978-3-642-35476-2_23
– year: 2006
  ident: bib17
  article-title: A scalable concurrent malloc (3) implementation for FreeBSD
  publication-title: Proceedings of the BSDCan Conference, Ottawa, Canada
– year: 2019
  ident: bib28
  article-title: Mimalloc: Free List Sharding in Action
  publication-title: Asian Symposium on Programming Languages and Systems (APLAS ’19)
  doi: 10.1007/978-3-030-34175-6_13
– start-page: 349
  year: 2016
  end-page: 359
  ident: bib7
  publication-title: Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures (Pacific Grove, California, USA) (SPAA ’16)
  doi: 10.1145/2935764.2935790
– start-page: 60:1
  year: 2021
  end-page: 60:4
  ident: bib36
  publication-title: Proceedings of the 35th International Symposium on Distributed Computing (DISC 2021) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 209)
  doi: 10.4230/LIPIcs.DISC.2021.60
– start-page: 325
  year: 2011
  end-page: 334
  ident: bib18
  publication-title: Proceedings of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures (San Jose, California, USA) (SPAA ’11)
  doi: 10.1145/1989493.1989549
– start-page: 151
  year: 2019
  end-page: 163
  ident: bib46
  article-title: OneFile: A Wait-Free Persistent Transactional Memory
  publication-title: 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)
  doi: 10.1109/DSN.2019.00028
– start-page: 367
  year: 2017
  end-page: 369
  ident: bib43
  publication-title: Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures (Washington, DC, USA) (SPAA ’17)
  doi: 10.1145/3087556.3087588
– year: 2016
  ident: bib42
  publication-title: A Wait-Free Queue with Wait-Free Memory Reclamation (Full Version)
– start-page: 526
  year: 2021
  end-page: 541
  ident: bib5
  publication-title: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI ’21)
  doi: 10.1145/3453483.3454060
– volume: 15
  start-page: 491
  issue: 6
  year: 2004
  end-page: 504
  ident: bib29
  article-title: Hazard pointers: safe memory reclamation for lock-free objects
  publication-title: IEEE Transactions on Parallel and Distributed Systems
  doi: 10.1109/TPDS.2004.8
– start-page: 260
  year: 2015
  end-page: 279
  ident: bib11
  publication-title: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (Pittsburgh, PA, USA) (OOPSLA 2015)
  doi: 10.1145/2814270.2814298
– start-page: 254
  year: 2015
  end-page: 263
  ident: bib12
  publication-title: Proceedings of the 27th ACM Symposium on Parallelism in Algorithms and Architectures (Portland, Oregon, USA) (SPAA ’15)
  doi: 10.1145/2755573.2755579
– start-page: 214
  year: 1995
  end-page: 222
  ident: bib53
  publication-title: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing (Ottawa, Ontario, Canada) (PODC ’95)
  doi: 10.1145/224964.224988
– volume: 23
  start-page: 146
  issue: 2
  year: 2005
  end-page: 196
  ident: bib23
  article-title: Nonblocking Memory Management Support for Dynamic-sized Data Structures
  publication-title: ACM Trans. Comput. Syst.
  doi: 10.1145/1062247.1062249
– start-page: 61
  year: 2022
  end-page: 75
  ident: bib6
  article-title: Turning Manual Concurrent Memory Reclamation into Automatic Reference Counting
  publication-title: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation (San Diego, CA, USA) (PLDI ’22)
  doi: 10.1145/3519939.3523730
– year: 2024
  ident: bib40
  publication-title: Artifact for PLDI’24
  doi: 10.5281/zenodo.10775789
– start-page: 35:1
  year: 2021
  end-page: 35:18
  ident: bib47
  publication-title: 35th International Symposium on Distributed Computing, DISC 2021, October 4-8, 2021, Freiburg, Germany (Virtual Conference) (LIPIcs, Vol. 209)
  doi: 10.4230/LIPIcs.DISC.2021.35
– start-page: 28:1
  year: 2019
  end-page: 28:16
  ident: bib33
  article-title: A Scalable, Portable, and Memory-Efficient Lock-Free FIFO Queue
  publication-title: Proceedings of the 33rd International Symposium on Distributed Computing (DISC 2019) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 146)
  doi: 10.4230/LIPIcs.DISC.2019.28
– start-page: 13
  year: 2016
  ident: bib55
  publication-title: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’16)
  doi: 10.1145/2851141.2851168
– year: 2020
  ident: bib1
  publication-title: Private communication with PEBR’s authors
– start-page: 33
  year: 2013
  end-page: 42
  ident: bib8
  publication-title: Proceedings of the 25th Annual ACM Symposium on Parallelism in Algorithms and Architectures (Montreal, Quebec, Canada) (SPAA ’13)
  doi: 10.1145/2486159.2486184
– year: 1995
  ident: bib30
  publication-title: Correction of a Memory Management Method for Lock-Free Data Structures.
– year: 2024
  ident: bib39
  publication-title: A Family of Fast and Memory Efficient Lock- and Wait-Free Reclamation (an extended arXiv version of this paper)
– year: 2024
  ident: bib2
  publication-title: Crossbeam: epoch-based memory reclamation
– start-page: 102
  year: 2020
  end-page: 116
  ident: bib13
  publication-title: Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (San Diego, California) (PPoPP ’20)
  doi: 10.1145/3332466.3374523
– start-page: 223
  year: 2011
  end-page: 234
  ident: bib27
  publication-title: Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming (San Antonio, TX, USA) (PPoPP ’11)
  doi: 10.1145/1941553.1941585
– start-page: 103
  year: 2013
  end-page: 112
  ident: bib32
  publication-title: Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Shenzhen, China) (PPoPP ’13)
  doi: 10.1145/2442516.2442527
– start-page: 339
  year: 2002
  end-page: 353
  ident: bib24
  publication-title: Proceedings of the 16th International Conference on Distributed Computing (DISC ’02)
  doi: 10.1007/3-540-36108-1_23
– start-page: 102
  year: 2023
  end-page: 112
  ident: bib48
  publication-title: Proceedings of the 2023 ACM Symposium on Principles of Distributed Computing (Orlando, FL, USA) (PODC ’23)
  doi: 10.1145/3583668.3594564
– volume: 61
  start-page: 65
  issue: 8
  year: 2018
  end-page: 72
  ident: bib15
  article-title: Amdahl’s Law for Tail Latency
  publication-title: Commun. ACM
  doi: 10.1145/3232559
– year: 2008
  ident: bib25
  publication-title: The Art of Multiprocessor Programming
– start-page: 261
  year: 2015
  end-page: 270
  ident: bib9
  publication-title: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing (Donostia-San Sebastian, Spain) (PODC ’15)
  doi: 10.1145/2767386.2767436
– start-page: 987
  year: 2021
  end-page: 1002
  ident: bib37
  publication-title: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI ’21)
  doi: 10.1145/3453483.3454090
– year: 2017
  ident: bib44
  article-title: Hazard Eras - Non-Blocking Memory Reclamation (Full Version)
– start-page: 483
  year: 2017
  end-page: 498
  ident: bib3
  publication-title: Proceedings of the 12th European Conference on Computer Systems (Belgrade, Serbia) (EuroSys ’17)
  doi: 10.1145/3064176.3064214
– volume: 20
  start-page: 1173
  issue: 8
  year: 2009
  end-page: 1187
  ident: bib20
  article-title: Efficient and Reliable Lock-Free Memory Reclamation Based on Reference Counting
  publication-title: IEEE Transactions on Parallel and Distributed Systems
  doi: 10.1109/TPDS.2008.167
– start-page: 175
  year: 2021
  end-page: 190
  ident: bib49
  publication-title: Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’21)
  doi: 10.1145/3437801.3441625
– start-page: 355
  year: 2018
  end-page: 358
  ident: bib41
  article-title: Brief Announcement: Stamp-it, a More Thread-efficient, Concurrent Memory Reclamation Scheme in the C++ Memory Model
  publication-title: Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures (Vienna, Austria) (SPAA ’18)
  doi: 10.1145/3210377.3210661
– volume: 67
  start-page: 1270
  issue: 12
  year: 2007
  end-page: 1285
  ident: bib22
  article-title: Performance of memory reclamation for lockless synchronization
  publication-title: J. Parallel and Distrib. Comput.
  doi: 10.1016/j.jpdc.2007.04.010
– start-page: 130
  year: 2020
  end-page: 143
  ident: bib35
  publication-title: Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (San Diego, California) (PPoPP ’20)
  doi: 10.1145/3332466.3374540
– start-page: 307
  year: 2022
  end-page: 319
  ident: bib38
  publication-title: Proceedings of the 34th ACM Symposium on Parallelism in Algorithms and Architectures (Philadelphia, PA, USA) (SPAA ’22)
  doi: 10.1145/3490148.3538572
– start-page: 357
  year: 2014
  end-page: 368
  ident: bib51
  publication-title: Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Orlando, Florida, USA) (PPoPP ’14)
  doi: 10.1145/2555243.2555261
– ident: e_1_3_1_29_2
  doi: 10.1007/978-3-030-34175-6_13
– year: 2016
  ident: e_1_3_1_43_2
  publication-title: A Wait-Free Queue with Wait-Free Memory Reclamation (Full Version)
– ident: e_1_3_1_32_2
  doi: 10.1145/3558481.3591089
– ident: e_1_3_1_37_2
  doi: 10.4230/LIPIcs.DISC.2021.60
– ident: e_1_3_1_46_2
  doi: 10.1145/3018743.3019022
– ident: e_1_3_1_21_2
  doi: 10.1109/TPDS.2008.167
– ident: e_1_3_1_16_2
  doi: 10.1145/3232559
– ident: e_1_3_1_9_2
  doi: 10.1145/2486159.2486184
– ident: e_1_3_1_14_2
  doi: 10.1145/3332466.3374523
– ident: e_1_3_1_45_2
– ident: e_1_3_1_26_2
  doi: 10.5555/1734069
– ident: e_1_3_1_19_2
  doi: 10.1145/1989493.1989549
– ident: e_1_3_1_42_2
  doi: 10.1145/3210377.3210661
– volume-title: Practical lock-freedom
  year: 2004
  ident: e_1_3_1_20_2
– ident: e_1_3_1_15_2
  doi: 10.1145/3437801.3441596
– volume-title: Systems Programming: Coping with Parallelism.
  year: 1986
  ident: e_1_3_1_53_2
– year: 2006
  ident: e_1_3_1_18_2
  article-title: A scalable concurrent malloc (3) implementation for FreeBSD
  publication-title: Proceedings of the BSDCan Conference, Ottawa, Canada
– ident: e_1_3_1_25_2
  doi: 10.1007/3-540-36108-1_23
– ident: e_1_3_1_54_2
  doi: 10.1145/224964.224988
– ident: e_1_3_1_33_2
  doi: 10.1145/2442516.2442527
– ident: e_1_3_1_7_2
  doi: 10.1145/3519939.3523730
– ident: e_1_3_1_44_2
  doi: 10.1145/3087556.3087588
– ident: e_1_3_1_24_2
  doi: 10.1145/1062247.1062249
– ident: e_1_3_1_4_2
  doi: 10.1145/3064176.3064214
– ident: e_1_3_1_22_2
  doi: 10.1007/3-540-45414-4_21
– ident: e_1_3_1_52_2
  doi: 10.1145/2555243.2555261
– ident: e_1_3_1_34_2
  doi: 10.4230/LIPIcs.DISC.2019.28
– ident: e_1_3_1_38_2
  doi: 10.1145/3453483.3454090
– ident: e_1_3_1_36_2
  doi: 10.1145/3332466.3374540
– ident: e_1_3_1_55_2
  doi: 10.1145/3178487.3178488
– ident: e_1_3_1_10_2
  doi: 10.1145/2767386.2767436
– ident: e_1_3_1_13_2
  doi: 10.1145/2755573.2755579
– ident: e_1_3_1_51_2
  doi: 10.1007/978-3-642-35476-2_23
– ident: e_1_3_1_3_2
– ident: e_1_3_1_6_2
  doi: 10.1145/3453483.3454060
– ident: e_1_3_1_17_2
  doi: 10.1007/s00446-002-0079-z
– ident: e_1_3_1_56_2
  doi: 10.1145/2851141.2851168
– ident: e_1_3_1_30_2
  doi: 10.1109/TPDS.2004.8
– ident: e_1_3_1_11_2
  doi: 10.1145/3276513
– ident: e_1_3_1_8_2
  doi: 10.1145/2935764.2935790
– ident: e_1_3_1_49_2
  doi: 10.1145/3583668.3594564
– ident: e_1_3_1_5_2
  doi: 10.1145/2755573.2755600
– ident: e_1_3_1_31_2
  doi: 10.5555/898203
– ident: e_1_3_1_28_2
  doi: 10.1145/1941553.1941585
– ident: e_1_3_1_39_2
  doi: 10.1145/3490148.3538572
– ident: e_1_3_1_48_2
  doi: 10.4230/LIPIcs.DISC.2021.35
– ident: e_1_3_1_41_2
  doi: 10.5281/zenodo.10775789
– ident: e_1_3_1_35_2
  doi: 10.1145/3293611.3331575
– ident: e_1_3_1_23_2
  doi: 10.1016/j.jpdc.2007.04.010
– ident: e_1_3_1_50_2
  doi: 10.1145/3437801.3441625
– ident: e_1_3_1_12_2
  doi: 10.1145/2814270.2814298
– year: 2024
  ident: e_1_3_1_40_2
  publication-title: A Family of Fast and Memory Efficient Lock- and Wait-Free Reclamation (an extended arXiv version of this paper)
– ident: e_1_3_1_27_2
  doi: 10.1145/3385412.3385978
– ident: e_1_3_1_2_2
– ident: e_1_3_1_47_2
  doi: 10.1109/DSN.2019.00028
SSID ssj0001934839
Score 2.2994194
Snippet Historically, memory management based on lock-free reference counting was very inefficient, especially for read-dominated workloads. Thus, approaches such as...
SourceID crossref
acm
SourceType Enrichment Source
Index Database
Publisher
StartPage 2174
SubjectTerms Concurrent algorithms
Shared memory algorithms
Theory of computation
SubjectTermsDisplay Theory of computation -- Concurrent algorithms
Theory of computation -- Shared memory algorithms
Title A Family of Fast and Memory Efficient Lock- and Wait-Free Reclamation
URI https://dl.acm.org/doi/10.1145/3658851
Volume 8
WOSCitedRecordID wos001264464100090&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2475-1421
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0001934839
  issn: 2475-1421
  databaseCode: M~E
  dateStart: 20170101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3NT9swFLc6xmEX2NimwRjyYdoFWQR_xM5lUvmoNqmtemCMW-U4sRQNUlRKBRf-dp4_kgbEYTvsElWx9RL59_L88-v7QOgrY6k2VhqSKGsI7McJyZU7rGRGqkLKQvsMufOhHI_VxUU26fW-N7kwy0tZ1-ruLrv-r1DDPQDbpc7-A9ytULgBvwF0uALscP0r4PtNMwuggQN9EyLIRy6g9t71Ua58BuT-EOwg8UO_dbUgg7lv4GBAP1ZQRc46afc4H_bRPx65fxhiYNeVczU0Ts-Wn4-rP3Bkhjd3AN6C1q3yzfSyqot5cLseVfXsvut3oNzFR9Gkoykxlt3bKsqlIIc8JDs3hlV19GcyPPn5xE6G3jxxzwWzqV6259yVvmBAk1SsS_u0OHYceYVeUykyZ9VGDx0fW8Y4EMCQK-1kHcT5joqYqw4V6XCKs7doIx4GcD-A-A71ynoLbTaNNnC0u-_RaR8HTPHMYocpBuBwwBS3mGKPqR9qMcUdTD-gX4PTs-MfJPa_IJpKuSBg-ulhWQprhLXGpoyJstRK6bygKdDCPEtlwWhRACellvFEW6Hz1JGRnFnB2Ue0Vs_q8hPCTEpBldFFrkrOEgNCkgzkKA4KBB_xNtqCBZlehwon07hM2-hbs0BTE0vGu84ll9OQzi5WE3E7sZHxbMrOi0_4jN6sdGsXrS3mt-UXtG6Wi-pmvufRfASw31WO
linkProvider ISSN International Centre
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+Family+of+Fast+and+Memory+Efficient+Lock-+and+Wait-Free+Reclamation&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Nikolaev%2C+Ruslan&rft.au=Ravindran%2C+Binoy&rft.date=2024-06-20&rft.pub=ACM&rft.eissn=2475-1421&rft.volume=8&rft.issue=PLDI&rft.spage=2174&rft.epage=2198&rft_id=info:doi/10.1145%2F3658851&rft.externalDocID=3658851
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon