Nonblocking memory management support for dynamic-sized data structures

  • Authors:
  • Maurice Herlihy;Victor Luchangco;Paul Martin;Mark Moir

  • Affiliations:
  • Brown University, Providence, RI;Sun Microsystems Laboratories, Burlington, MA;Sun Microsystems Laboratories, Burlington, MA;Sun Microsystems Laboratories, Burlington, MA

  • Venue:
  • ACM Transactions on Computer Systems (TOCS)
  • Year:
  • 2005

Quantified Score

Hi-index 0.02

Visualization

Abstract

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.