Publication | Closed Access
Nonblocking memory management support for dynamic-sized data structures
125
Citations
26
References
2005
Year
EngineeringComputer ArchitectureLock-free SynchronizationMemory Model (Programming)Hardware SecurityShared MemorySystem SoftwareParallel ComputingMemory ManagementData ManagementLock-free FifoFree MemoryComputer EngineeringComputer ScienceMemory ArchitectureParallel ProgrammingConcurrent Data StructureMemory Management SupportIn-memory DatabaseTransactional Memory
Conventional dynamic memory management methods interact poorly with lock-free synchronization. In this article, we introduce novel techniques that allow lock-free data structures to allocate and free memory dynamically using any thread-safe memory management library. Our mechanisms are lock-free in the sense that they do not allow a thread to be prevented from allocating or freeing memory by the failure or delay of other threads. We demonstrate the utility of these techniques by showing how to modify the lock-free FIFO queue implementation of Michael and Scott to free unneeded memory. We give experimental results that show that the overhead introduced by such modifications is moderate, and is negligible under low contention.
| Year | Citations | |
|---|---|---|
Page 1
Page 1