32
4

Concurrent Fixed-Size Allocation and Free in Constant Time

Abstract

Our goal is to efficiently solve the dynamic memory allocation problem in a concurrent setting where processes run asynchronously. On pp processes, we can support allocation and free for fixed-sized blocks with O(1)O(1) worst-case time per operation, Θ(p2)\Theta(p^2) additive space overhead, and using only single-word read, write, and CAS. While many algorithms rely on having constant-time fixed-size allocate and free, we present the first implementation of these two operations that is constant time with reasonable space overhead.

View on arXiv
Comments on this paper