Concurrent Fixed-Size Allocation and Free in Constant Time
Our goal is to efficiently solve the dynamic memory allocation problem in a concurrent setting where processes run asynchronously. On p processes, we can support allocation and free for fixed-sized blocks with O(1) worst-case time per operation, Θ(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.
READ FULL TEXT