skip to main content
10.1145/2755573.2755579acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

Efficient Memory Management for Lock-Free Data Structures with Optimistic Access

Published: 13 June 2015 Publication History

Abstract

Lock-free data structures achieve high responsiveness, aid scalability, and avoid deadlocks and livelocks. But providing memory management support for such data structures without foiling their progress guarantees is difficult. Often, designers employ the hazard pointers technique, which may impose a high performance overhead.
In this work we propose a novel memory management scheme for lock-free data structures called optimistic access. This scheme provides efficient support for lock-free data structures that can be presented in a normalized form. Our novel memory manager breaks the traditional memory management invariant which never lets a program touch reclaimed memory. In other words, it allows the memory manager to reclaim objects that may still be accessed later by concurrently running threads. This broken invariant provides an opportunity to obtain high parallelism with excellent performance, but it also requires a careful design. The optimistic access memory management scheme is easy to employ and we implemented it for a linked list, a hash table, and a skip list. Measurements show that it dramatically outperforms known memory reclamation methods.

References

[1]
D. Alistarh, P. Eugster, M. Herlihy, A. Matveev, and N. Shavit. Stacktrack: An automated transactional approach to concurrent memory reclamation. In EuroSys. ACM, 2014.
[2]
J. Auerbach, D. F. Bacon, P. Cheng, D. Grove, B. Biron, C. Gracie, B. McCloskey, A. Micic, and R. Sciampacone. Tax-and-spend: Democratic scheduling for real-time garbage collection. In EMSOFT, pages 245--254, 2008.
[3]
A. Braginsky, A. Kogan, and E. Petrank. Drop the anchor: lightweight memory management for non-blocking data structures. In SPAA, pages 33--42. ACM, 2013.
[4]
N. Cohen and E. Petrank. Efficient memory management for lock-free data structures with optimistic access. http://www.cs.technion.ac.il/\~erez/papers.html.
[5]
D. L. Detlefs, P. A. Martin, M. Moir, and G. L. Steele Jr. Lock-free reference counting. DISC, pages 255--271, 2002.
[6]
D. Dice, M. Herlihy, Y. Lev, and M. Moir. Lightweight contention management for efficient compare-and-swap operations. In EuroPar. ACM, 2013.
[7]
D. Dice, H. Huang, and M. Yang. Techniques for accessing a shared resource using an improved synchronization mechanism, 2010. Patent US 7644409 B2.
[8]
K. Fraser. http://www.cl.cam.ac.uk/research/srg/netos/lock-free/src/temp/lockfree-lib/.
[9]
T. L. Harris. A pragmatic implementation of non-blocking linked-lists. In DISC, pages 300--314. Springer, 2001.
[10]
T. E. Hart, P. E. McKenney, A. D. Brown, and J. Walpole. Performance of memory reclamation for lockless synchronization. JPDC, pages 1270--1285, 2007.
[11]
M. Herlihy. Wait-free synchronization. TOPLAS, pages 124--149, 1991.
[12]
M. Herlihy, V. Luchangco, P. Martin, and M. Moir. Nonblocking memory management support for dynamic-sized data structures. TOCS, 23(2):146--196, 2005.
[13]
M. Herlihy and N. Shavit. The Art of Multiprocessor Programming, Revised Reprint. Elsevier, 2012.
[14]
M. P. Herlihy and J. E. B. Moss. Lock-free garbage collection for multiprocessors. TPDS, pages 304--311, 1992.
[15]
R. L. Hudson and J. E. B. Moss. Sapphire: Copying GC without stopping the world. In Joint ACM-ISCOPE Conference on Java Grande, pages 48--57, 2001.
[16]
M. M. Michael. High performance dynamic lock-free hash tables and list-based sets. In SPAA, pages 73--82. ACM, 2002.
[17]
M. M. Michael. Hazard pointers: Safe memory reclamation for lock-free objects. TPDS, 15(6):491--504, 2004.
[18]
S. Owens, S. Sarkar, and P. Sewell. A better x86 memory model: x86-tso. In Theorem Proving in Higher Order Logics, pages 391--407. Springer, 2009.
[19]
E. Petrank. Can parallel data structures rely on automatic memory managers? In MSPC, pages 1--1. ACM, 2012.
[20]
F. Pizlo, D. Frampton, E. Petrank, and B. Steensgard. Stopless: A real-time garbage collector for multiprocessors. In ISMM, pages 159--172, 2007.
[21]
F. Pizlo, E. Petrank, and B. Steensgaard. A study of concurrent real-time garbage collectors. In PLDI, pages 33--44, 2008.
[22]
F. Pizlo, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, and J. Vitek. Schism: Fragmentation-tolerant real-time garbage collection. In PLDI, pages 146--159, 2010.
[23]
H. Sundell. Wait-free reference counting and memory management. In IPDPS, pages 24b--24b. IEEE, 2005.
[24]
S. Timnat and E. Petrank. A practical wait-free simulation for lock-free data structures. In PPoPP, pages 357--368. ACM, 2014.
[25]
J. D. Valois. Lock-free linked lists using compare-and-swap. In PODC, pages 214--222. ACM, 1995.

Cited By

View all
  • (2024)A Family of Fast and Memory Efficient Lock- and Wait-Free ReclamationProceedings of the ACM on Programming Languages10.1145/36588518:PLDI(2174-2198)Online publication date: 20-Jun-2024
  • (2024)Are Your Epochs Too Epic? Batch Free Can Be HarmfulProceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3627535.3638491(30-41)Online publication date: 2-Mar-2024
  • (2024)Simple, Fast and Widely Applicable Concurrent Memory Reclamation via NeutralizationIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2023.333567135:2(203-220)Online publication date: 1-Feb-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '15: Proceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures
June 2015
362 pages
ISBN:9781450335881
DOI:10.1145/2755573
  • General Chair:
  • Guy Blelloch,
  • Program Chair:
  • Kunal Agrawal
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrent data structures
  2. hazard pointers
  3. lock-free
  4. memory management
  5. non-blocking

Qualifiers

  • Research-article

Funding Sources

  • Israeli Science Foundation

Conference

SPAA '15

Acceptance Rates

SPAA '15 Paper Acceptance Rate 31 of 131 submissions, 24%;
Overall Acceptance Rate 447 of 1,461 submissions, 31%

Upcoming Conference

SPAA '25
37th ACM Symposium on Parallelism in Algorithms and Architectures
July 28 - August 1, 2025
Portland , OR , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)20
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A Family of Fast and Memory Efficient Lock- and Wait-Free ReclamationProceedings of the ACM on Programming Languages10.1145/36588518:PLDI(2174-2198)Online publication date: 20-Jun-2024
  • (2024)Are Your Epochs Too Epic? Batch Free Can Be HarmfulProceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3627535.3638491(30-41)Online publication date: 2-Mar-2024
  • (2024)Simple, Fast and Widely Applicable Concurrent Memory Reclamation via NeutralizationIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2023.333567135:2(203-220)Online publication date: 1-Feb-2024
  • (2023)The ERA Theorem for Safe Memory ReclamationProceedings of the 2023 ACM Symposium on Principles of Distributed Computing10.1145/3583668.3594564(102-112)Online publication date: 19-Jun-2023
  • (2023)The ERA Theorem for Safe Memory ReclamationProceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3572848.3577491(435-437)Online publication date: 25-Feb-2023
  • (2023)Applying Hazard Pointers to More Concurrent Data StructuresProceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3558481.3591102(213-226)Online publication date: 17-Jun-2023
  • (2023)Releasing Memory with Optimistic Access: A Hybrid Approach to Memory Reclamation and Allocation in Lock-Free ProgramsProceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3558481.3591089(177-186)Online publication date: 17-Jun-2023
  • (2023)Efficient Hardware Primitives for Immediate Memory Reclamation in Optimistic Data Structures2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS54959.2023.00021(112-122)Online publication date: May-2023
  • (2022)BQ: A Lock-Free Queue with BatchingACM Transactions on Parallel Computing10.1145/35127579:1(1-49)Online publication date: 23-Mar-2022
  • (2022)Future-Based Persistent Spatial Data Structure for NVM-Based Manycore MachinesIEEE Access10.1109/ACCESS.2022.321641010(114711-114724)Online publication date: 2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media