The Community for Technology Leaders
Green Image
<p><it>Abstract</it>—Concurrent access to shared data objects must be regulated by a concurrency control protocol to ensure correctness. Many concurrency control protocols require that a process set a <it>lock</it> on the data it accesses. Recently, there has been considerable interest in <it>lock-free</it> concurrency control algorithms. Lock-free algorithms offer the potential for better system performance because slow or failed processes do not block fast processes. Process “slowdowns” can occur due to cache line faults, memory and bus contention, page faults, context switching, NUMA architectures, heterogeneous architectures, or differences in operation execution time. Much work has been done to characterize the performance of locking algorithms, but little has been done to characterize the performance of lock-free algorithms. In this paper, we present a performance model for analyzing lock-free algorithms that studies the effects of slowdowns on performance. We find that lock-free algorithms are better than locking algorithms if the slowdowns are <it>transient</it>, but worse if the slowdowns are <it>permanent</it>. One implication of this result is that lock-free concurrent objects are appropriate for UMA architectures, but NUMA architectures require special protocols.</p>
Lock-free, synchronization, nonblocking, performance modeling, parallel processing.

T. Johnson, "Characterizing the Performance of Algorithms for Lock-Free Objects," in IEEE Transactions on Computers, vol. 44, no. , pp. 1194-1207, 1995.
90 ms
(Ver 3.3 (11022016))