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...
Uložené v:
| Vydané v: | Proceedings of ACM on programming languages Ročník 8; číslo PLDI; s. 2174 - 2198 |
|---|---|
| Hlavní autori: | , |
| 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 |