This Article 
 Bibliographic References 
 Add to: 
A Circular List-Based Mutual Exclusion Scheme for Large Shared-Memory Multiprocessors
June 1997 (vol. 8 no. 6)
pp. 628-639

Abstract—Mutual exclusion in shared-memory multiprocessors is realized by employing a lock to determine the processor among those which compete for the critical section. Accesses to such a mutual exclusion lock may create heavy synchronization traffic and/or serious contention over the network, thereby degrading system performance considerably. In this paper, we introduce an efficient scheme which keeps synchronization traffic low and avoids serious hot-spot contention. This is made possible by constructing a circular list of the processors waiting for the critical section and by dispersing accesses to the lock. Extensive simulation of the proposed approach was conducted and the lower bound on the elapsed time was derived. Our simulation results demonstrate that the proposed scheme indeed achieves better performance than prior techniques, with its elapsed time close to the lower bound for the whole range of simulated system sizes, thus promising good scalability for large systems.

[1] N. Koike, “NEC Cenju-3: A Microprocessor-Based Parallel Computer,” Proc. Eighth Int'l Parallel Processing Symp. pp. 396–401, Apr. 1994.
[2] D.J. Kuck et al., "Parallel Supercomputing Today and the Cedar Approach," Science, vol. 21, pp. 967-974, Feb. 1986.
[3] G.F. Pfister and V.A. Norton, "'Hot-Spot' Contention and Combining in Multistage Interconnection Networks," IEEE Trans. Computers, vol. 34, no. 10, pp. 943-948, Oct. 1985.
[4] J.D. Bruner, H. Cheong, A. Veidenbaum, and P.C. Yew, "Chief: A Parallel Simulation Environment for Parallel Systems," Proc. Fifth Int'l Parallel Processing Symp., pp. 568-575, Apr. 1991.
[5] C.J. Beckmann, "CARL: An Architecture Simulation Language," CSRD Report No. 1066, CSRD, Univ. of Illi nois, Urbana, Jan. 1991.
[6] V. Sarkar, "Determining Average Program Execution Times and their Variance," 1989 Proc. SIGPLAN Notices Conf. Programming Language Design and Implementation, vol., 24, no. 7, pp. 298-312, 1989.
[7] S. Abraham and K. Padmanabhan, "Performance of the Direct Binary n-Cube Network for Multiprocessors," IEEE Trans. Computers, vol. 38, no. 7, pp. 1000-1011, July 1989.
[8] M.C. Wang, H.J. Siegel, M.A. Nichols, and S. Abraham, "Reducing the Effect of Hot Spots by Using a Multipath Network," Proc. 1993 Int'l Conf. Parallel Processing, vol. I, pp. 274-281, Aug. 1993.
[9] N.F. Tzeng,“A cost-effective combining structure for large-scale shared-memory multiprocessors,” IEEE Trans. Computers, vol. 41, no. 11, pp. 1,420-1,429, Nov. 1992.
[10] 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.
[11] 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.
[12] V. Adve and M.K. Vernon, "The Influence of Random Delays on Parallel Execution Times," 1993 ACM SIGMETRICS Conf. Measurement and Modeling of Computer Systems, pp. 61-73, May 1993.
[13] M. Dubois and F. Briggs, "Performance of Synchronized Iterative Processes in Multiprocessor Systems," IEEE Trans. Software Eng., vol. 8, no. 4, pp. 419-431, July 1982.
[14] J. R. Goodman, M. K. Vernon, and P. J. Woest,“Efficient synchronization primitives for large-scale cache-coherent multiprocessors,”inProc. 3rd Int. Conf. Architect. Support, Programm. Languages, Oper. Syst., Apr. 1989, pp. 64–75.
[15] P. C. Yew, N. F. Tzeng, and D. H. Lawrie,“Distributing hot-spot addressing in large-scale multiprocessors,”IEEE Trans. Comput., vol. C-36, pp. 388–395, Apr. 1987.
[16] D. Bailey et al., "The NAS Parallel Benchmarks," Technical Report TR RNR-91-002, NASA Ames, Aug. 1991.

Index Terms:
Circular lists, critical sections, hot-spot contention, linked lists, multiprocessors, mutual exclusion, tree of locks.
Shiwa S. Fu, Nian-Feng Tzeng, "A Circular List-Based Mutual Exclusion Scheme for Large Shared-Memory Multiprocessors," IEEE Transactions on Parallel and Distributed Systems, vol. 8, no. 6, pp. 628-639, June 1997, doi:10.1109/71.595581
Usage of this product signifies your acceptance of the Terms of Use.