This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Characterizing the Performance of Algorithms for Lock-Free Objects
October 1995 (vol. 44 no. 10)
pp. 1194-1207

Abstract—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 lock on the data it accesses. Recently, there has been considerable interest in lock-free 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 transient, but worse if the slowdowns are permanent. One implication of this result is that lock-free concurrent objects are appropriate for UMA architectures, but NUMA architectures require special protocols.

[1] A. Agrawal and M. Cherian,“Adaptive backoff synchronization techniques,” Proc. Int’l Symp. Computer Architecture, pp. 396-406, 1989.
[2] J. Alemany and E.W. Felton,“Performance issues in nonblocking synchronization on shared memory multiprocessors,” Proc. ACM Symp. Principles of Distributed Computing, 1992.
[3] R. Anderson and H. Woll,“Wait-free algorithms for the union-find problem,” Proc. ACM Symp. Theory of Computation, pp. 370-380, 1991.
[4] T.E. Anderson,“The performance of spin lock alternatives for shared memory multiprocessors,” IEEE Trans. Parallel and Distributed Systems, vol. 1, no. 1, pp. 6-16, 1990.
[5] T.E. Anderson,B.N. Berhad,E.D. Lazowska,, and H.M. Levy,“Schedular activations: Effective kernel support for the user-level management of parallelism,” ACM Trans. Computer Systems, vol. 10, no. 1, pp. 53-79, 1992.
[6] T.E. Anderson,E.D. Lazowska,, and H.M. Levy,“The performance implications of thread management alternatives for shared memory multiprocessors,” IEEE Trans. Computers, vol. 38, no. 12, pp. 1,631-1,644, 1989.
[7] K.E. Atkinson,An Introduction to Numerical Analysis. John Wiley&Sons, 1978.
[8] R. Bayer and M. Schkolnick,“Concurrency of operations on B-trees,” Acta Informatica, vol. 9, pp. 1-21, 1977.
[9] Inc. BBN Advanced Computers. Tc2000 programming handbook.
[10] P.A. Bernstein,V. Hadzilacos,, and N. Goodman,Concurrency Control and Recovery in Data Base Systems. Addison-Wesley, 1987.
[11] B. Bershad,“Practical considerations for nonblocking concurrent objects,” Proc. Int’l Conf. Distributed Computing Systems, pp. 264-273, 1993.
[12] J. Biswas and J.C. Browne,“Simultaneous update of priority structrues,” Proc. Int’l Conf. Parallel Processing, pp. 124-131, 1987.
[13] I.Y. Bucher and D.A. Calahan,“Models of access delays in multiprocessor memories,” IEEE Trans. Parallel and Distributed Systems, vol. 3, no. 3, pp. 270-280, 1992.
[14] H.A. David,Order Statistics. John Wiley&Sons, 1981.
[15] C.S. Ellis,“Concurrent search and insertion in AVL trees,” IEEE Trans. Computers, vol. 29, no. 9, pp. 811-817, 1980.
[16] R.R. Glenn,D.V. Pryor,J.M. Conroy,, and T. Johnson,“A bistability throughput phenomenon in a shared-memory mimd machine,” J. Supercomputing, vol. 7, pp. 357-375, 1993.
[17] A. Gottlieb,B.D. Lubachevsky,, and L. Rudolph,“Coordinating large numbers of processors,” Proc. Int’l Conf. Parallel Processing, IEEE, 1981.
[18] G. Graunke and S. Thakkar,“Synchronization algorithms for shared-memory multiprocessors,”IEEE Comput., vol. 23, pp. 60–69, June 1990.
[19] K. Harathi and T. Johnson,“A priority synchronization algorithm for multiprocessors,” Technical Report tr93.005, Univ. of Florida, 1991. available at ftp.cis.ufl.edu:cis/tech-reports.
[20] T Harder,“Observations on optimistic concurrency control schemes,” Information Systems, vol. 9, no. 2, pp. 111-120, 1984.
[21] M. Herlihy,“A methodology for implementing highly concurrent data structures,” Proc. Second ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, pp. 197-206, ACM, 1989.
[22] M. Herlihy,“A methodology for implementing highly concurrent data objects,” ACM Trans. Programming Languages and Systems, vol. 15, no. 5, pp. 745-770, 1993.
[23] M. Herlihy and J.E.B. Moss,“Transactional memory: Architectural support for lock-free data structures,” Proc. Int’l Symp. Computer Architecture, pp. 289-300, 1993.
[24] M. Herlihy and J. Wing,“Axioms for concurrent objects,” 14th ACM Symp.Principles of Programming Languages, pp. 13-26, 1987.
[25] M.P. Herlihy and J.E.B. Moss,“Lock-free garbage collection for multiprocessors,” Proc. ACM Symp. Parallel Algorithms and Architectures, pp. 229-236, 1991.
[26] IBM T.J. Watson Research Center, System/370 Principles of Operations. 1983.
[27] T. Johnson,“Approximate analysis of reader and writer access to a shared resource,” ACM SIGMETRICS Conf. Measuring and Modeling Computer Systems, pp. 106-114, 1990
[28] T. Johnson,“The performance of concurrent data structure algorithms,” PhD thesis, New York Univ. Dept. of Computer Science, 1990.
[29] T. Johnson and D. Shasha,“The performance of concurrent data structure algorithms,” ACM Trans. Database Systems, Mar. 1993.
[30] D. Jones,“Concurrent operations on priority queues,” Comm. ACM, vol. 32, no. 1, pp. 132-137, 1989.
[31] K. Kant,Introduction to Computer System Performance Evaluation. McGraw Hill, 1992.
[32] L. Kleinrock,Queuing Systems, vol. 1. New York: John Wiley&Sons, 1975.
[33] H.T. Kung and P.L. Lehman,“Concurrent manipulation of binary search trees,” ACM Trans. Database Systems, vol. 5, no. 3, pp. 354-382, 1980.
[34] L. Lamport,“Specifying concurrent program modules,” ACM Trans. Programming Languages and Systems, vol. 5, no. 2, pp. 190-222, 1983.
[35] L. Lamport, “A Fast Mutual Exclusion Algorithm,” ACM Trans. Computer Systems, vol. 5, no. 1, pp. 1–11, 1987.
[36] B.H. Lim and A. Agrawal,“Waiting algorithms for synchronization in large-scale multiprocessors,” ACM Trans. Computer Systems, vol. 11, no. 3, pp. 253-294, 1993.
[37] U. Manber and R.E. Ladner,“Concurrency control in a dynamic search structure,” Principles ACM SIGACT/SIGMOD Symp. Principles of Database Systems, pp. 268-282- 1982.
[38] C. McCann,R. Baswami,, and J. Zahoran,“A dynamic processor allocation policy for multiprogrammed shared-memorymultiprocessors,” ACM Trans. Computer Systems, vol. 11, no. 2, pp. 146-176, 1993.
[39] J. M. Mellor-Crummey and M. L. Scott,“Algorithms for scalable synchronization on shared-memory multiprocessors,”ACM Trans. Comput. Syst., vol, 9, no. 1, pp. 21–65, Feb. 1991.
[40] D. Menasce and T. Nakanishi,“Optimistic vs. pessimistic concurrency control mechanisms in database management systems,” Information Systems, vol. 7, no. 1, pp. 13-27, 1982.
[41] R. Morris and W. Wong,“Performance of concurrency control algorithms with nonexclusive access,” Performance’84, pp. 87-101, 1984.
[42] R. Morris and W. Wong,“Performance analysis of locking and optimistic concurrency control algorithms,” Performance Evaluation, vol. 5, pp. 105-118, 1985.
[43] Motorola, “M68000 family programmer’s reference manual.”
[44] S. Prakash,Y.H. Lee,, and T. Johnson,“A nonblocking algorithm for shared queues using compare-and-swap,” Proc. Int’l Conf. Parallel Processing, pp. II68-II75, 1991.
[45] S. Prakash,Y.H. Lee,, and T. Johnson,“A nonblock algorithm for shared queues using compare-and-swap,” IEEE Trans. Computers, vol. 43, no. 5, 1994.
[46] V. Rao and V. Kumar,“Concurrent access of priority queues,” IEEE Trans. Computers, vol. 37, no. 12, pp. 1,657-1,665, 1988.
[47] M.I. Reiman and P.E. Wright,“Performance analysis of concurrent-read exclusive-write,” Proc. ACM Sigmetrics Conf. Measuring and Modeling of COmupter SYstems, pp. 168-177, 1991.
[48] J.T. Robinson,“Experiments with transaction processing on a multiprocessor,” Technical Report RC9725, IBM, Yorktown Heights, N.Y., 1982.
[49] S.M. Ross,Stochastic Processes. John Wiley&Sons, 1983.
[50] L. Rudolph and Z. Segall,“Dynamic decentralized cache schemes for mimd parallel processors,” Proc. Int’l Symp. Computer Architecture, pp. 340-347, 1984.
[51] I.K. Ryu and A. Thomasian,“Performance analysis of centralized database with optimistic concurrency control,” Performance Evaluation, vol. 7, pp. 195-211, 1987.
[52] I.K. Ryu and A. Thomasian,“Analysis of database performance with dynamic locking,” J. ACM, vol. 37, no. 3, pp. 491-523, 1990.
[53] Y. Sagiv,“Concurrent operations on B*-trees with overtaking,” Fourth ACM Symp. Principles of Database Systems, pp. 28-37, ACM, 1985.
[54] D. Shasha and N. Goodman,“Concurrent search structure algorithms,” ACM Trans. Database Systems, vol. 13, no. 1, pp. 53-90, 1988.
[55] J. Stone,“A simple and correct shared-queue algorithm using compare-and-swap,” Technical Report RC15675, IBM T.J. Watson Research Center, 1990.
[56] J.M. Stone,H.S. Stone,P. Heidelberger,, and J. Turek,“Multiple reservations and the oklahoma update,” IEEE Parallel and Distributed Technology, Systems, and Applications, vol. 1, no. 4, pp. 58-71, 1993.
[57] Y.C. Tay,R. Suri,, and N. Goodman,“Locking performance in centralized databases,” ACM Trans. Database Systems, vol. 10, no. 4, pp. 415-462, 1985.
[58] J. Turek,D. Shasha,, and S. Prakash,“Locking without blocking: Making lock based concurrent data structure algorithms nonblocking,” Proc. ACM Symp. Principles of Database Systems, pp. 212-222, 1992.
[59] J.D. Valois,“Analysis of a lock-free queue,” submitted for publication, 1992.
[60] J.D. Valois,“Concurrent dictionaries without locks,” submitted for publication, 1992.
[61] P.J. Woest and J.R. Goodman,“An analysis of synchronization mechanisms in shared-memory multiprocessors,” Int’l Symp. Shared Memory Multiprocessing, pp. 656-659,Tokyo, Apr. 1991.
[62] P.S. Yu,D.M. dias,, and S.S. Lavenberg,“On modeling database concurrency control,” Technical Report RC 15368, IBM Research Div., 1990.
[63] P.S. Yu,H.U. Heiss,, and D.M. Dias,“Modeling and analysis of a time-stamp history-based certification protocol for concurrency control,” IEEE Trans. Knowledge and Data Engineering, vol. 3, no. 4, pp. 525-537, 1991.
[64] J. Zahoran,E.D. Lazowska,, and D.L. Eager,“The effect of scheduling discipline on spin overhead in shared memory parallel systems,” IEEE Trans. Parallel and Distributed Systems, vol. 2, no. 2, pp. 180-198, 1991.
[65] C.-Q. Zhu and P.-C. Yew,“A synchronization scheme and its applications for large multiprocessor systems,” Proc. Fourth Int’l Conf. Distributed Computing Systems, pp. 486-493, 1984.

Index Terms:
Lock-free, synchronization, nonblocking, performance modeling, parallel processing.
Citation:
Theodore Johnson, "Characterizing the Performance of Algorithms for Lock-Free Objects," IEEE Transactions on Computers, vol. 44, no. 10, pp. 1194-1207, Oct. 1995, doi:10.1109/12.467694
Usage of this product signifies your acceptance of the Terms of Use.