Releasing Memory with Optimistic Access: A Hybrid Approach to Memory Reclamation and Allocation in Lock-Free Programs
Pedro Moreno, Ricardo Rocha

TL;DR
This paper introduces a hybrid memory management approach that combines optimistic access with a modified lock-free allocator, enabling efficient memory reclamation and release in concurrent lock-free programs.
Contribution
It extends the LRMalloc allocator to support the Optimistic Access method, simplifying memory reclamation and allowing memory to be released back to the OS.
Findings
Supports memory reuse within the same process.
Enables releasing reclaimed memory to the operating system.
Simplifies implementation of memory reclamation in lock-free structures.
Abstract
Lock-free data structures are an important tool for the development of concurrent programs as they provide scalability, low latency and avoid deadlocks, livelocks and priority inversion. However, they require some sort of additional support to guarantee memory reclamation. The Optimistic Access (OA) method has most of the desired properties for memory reclamation, but since it allows memory to be accessed after being reclaimed, it is incompatible with the traditional memory management model. This renders it unable to release memory to the memory allocator/operating system, and, as such, it requires a complex memory recycling mechanism. In this paper, we extend the lock-free general purpose memory allocator LRMalloc to support the OA method. By doing so, we are able to simplify the memory reclamation method implementation and also allow memory to be reused by other parts of the same…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Cloud Computing and Resource Management · Parallel Computing and Optimization Techniques
