|
计算机应用研究 2012
Resource stealing lock-free memory pool for dynamic-sizedlock-free data structures
|
Abstract:
Dynamic memory management in a multi-threaded environment involes expensive synchronization cost, making it a vital issue for the performance of dynamic lock-free data structures. This paper proposed a scheme for the lock-free implementation of a memory pool suited to dynamic-sized lock-free data structures to reduce the associated dynamic memory consumption and dynamic memory management cost. This scheme reduced dynamic memory consumption associated with the shared lock-free data structures by balancing threads dynamic memory consumption, it was based on thread local lock-free circular queue that supported node stealing method. This scheme possesses three outstanding advantages: athe memory is wait-free, bit can balance the threads' consumption of dynamic memory, cits integration with existing dynamic-sized lock-free data strucutures is extremely easy. Experimental results show that this scheme is highly scalable and can effectively reduce the average execution time of dynamic-sized lock-free data structures' operations under heavy load. The amount of dynamic memory consumption is mostly affected by the balancing strategy and the scalability of the memory pool under high load is also affected by the underlying data structures.