This Article 
 Bibliographic References 
 Add to: 
The Performance of Spin Lock Alternatives for Shared-Money Multiprocessors
January 1990 (vol. 1 no. 1)
pp. 6-16

The author examines the questions of whether there are efficient algorithms for software spin-waiting given hardware support for atomic instructions, or whether more complex kinds of hardware support are needed for performance. He considers the performance of a number of software spin-waiting algorithms. Arbitration for control of a lock is in many ways similar to arbitration for control of a network connecting a distributed system. He applies several of the static and dynamic arbitration methods originally developed for networks to spin locks. A novel method is proposed for explicitly queueing spinning processors in software by assigning each a unique number when it arrives at the lock. Control of the lock can then be passed to the next processor in line with minimal effecton other processors.

[1] A. Agarwal, R. Simoni, J. Hennessy, and M. Horowitz, "An evaluation of directory schemes for cache coherence," inProc. 15th Int. Symp. Comput. Architecture, June 1988, pp. 280-289.
[2] A. Agarwal and M. Cherian, "Adaptive backoff synchronization techniques," inProc. 16th Intern. Symp. Comput. Architect., June 1989, pp. 396-406.
[3] T. E. Anderson, E. D. Lazowska, and H. M. Levy, "The performance implications of thread management alternatives for shared-memory multiprocessors," presented at 1989 ACM SIGMETRICS and Performance '89 Conf. Measurement Modeling Comput. Syst., pp. 49-60, May 1989.
[4] J. Archibald and J. L. Baer, "Cache-coherence protocols: Evaluation using a multiprocessor simulation model,"ACM Trans. Comput. Syst., vol. 4, no. 4, pp. 273-298, Nov. 1986.
[5] F. Baskett, T. Jermoluk, and D. Solomon, "The 4D-MP graphics superworkstation: Computing + graphics = 40 MIPS + 40 MFLOPS and 100,000 lighted polygons per second," inProc. 33rd IEEE Comput. Soc. Int. Conf. - COMPCONvol. 88, Feb. 1988, pp. 468-471.
[6] BBN Laboratories, Butterfly parallel processor overview, 1985.
[7] B. Beck, B. Kasten, and S. Thakker, "VLSI assist for a multiprocessor,"Proc. ASPLOS II, pp. 10-20, Oct. 1987.
[8] R. Binder, N. Abrahamson, F. Kuo, A. Okinawa, and D. Wax, "Aloha packet broadcasting-A retrospective,"AFIPS Conf. Proc., 1975.
[9] I. Chlamtac, W. R. Franta, and D. Levin, "BRAM: The broadcast recognizing access method,"IEEE Trans. Commun., vol. COM-27, no. 8, Aug. 1979.
[10] D. Gajski, D. Kuck, D. Lawrie, and A. Sameh, "CEDAR-A large scale multiprocessor, " inProc. 1983 Intern. Conf. Parallel Process., Aug. 1983, pp. 524-529.
[11] J.R. Goodman and P.J. Woest, "The Wisconsin Multicube: A New Large-Scale Cache-Coherent Multiprocessor,"Proc. 15th Int'l Symp. Computer Architecture, CS Press, Los Alamitos, Calif., June 1988, pp. 422-431.
[12] J.R. Goodman, M.K. Vernon, and P.J. Woest, "Efficient Synchronization Primitives for Large-Scale Cache-Coherent Multiprocessors,"Proc. Third Int'l Conf. Architectural Support for Programming Languages and Operating Systems, IEEE CS Press, Los Alamitos, Calif., Order No. 1936, 1989, pp. 64-73.
[13] G. Graunke, Personal communication, 1988.
[14] M. P. Herlihy, "Impossibility and universality results for wait-free synchronization," inSeventh ACM SIGACT-SIGOPS Symp. Principles of Distributed Computing, Aug. 1988, pp. 276-290.
[15] D. N. Jayasimha, "Parallel access to synchronization variables," inProc. 1987 Intern. Conf. Parallel Process., Aug. 1987, pp. 97-100.
[16] A. R. Karlin, M. S. Manasse, L. Rudolph, and D. D. Sleator, "Competitive snoopy caching," inProc. 27th Annu. Symp. Foundatons of Comput. Sci., Oct. 1986, pp. 244-254.
[17] L. Lamport, "A fast mutual exclusion algorithm,"ACM Trans. Computer Syst., vol. 5, no. 1, pp. 1- 11, Feb. 1987.
[18] T. Lovett and S. Thakkar, "The Symmetry multiprocessor system," inProc. 1988 Intern. Conf. Parallel Process., Aug. 1988, pp. 303-310.
[19] R. M. Metcalfe and D. R. Boggs, "Ethernet: Distributed packet switching for local computer networks,"Commun. ACM, vol. 19, no. 7, pp. 395-404, 1976.
[20] R. Perron and C. Mundie, "The architecture of the Alliant FX/8 computer,"IEEE COMPCON, 1986.
[21] G. Pfister and V. Norton, "Hot-spot contention and combining in multistage interconnection networks,"ACM Trans. Comput. Syst., vol. 3, no. 4, Oct. 1985.
[22] G. Pfister, W. Brantley, D. George, S. Harvey, W. Kleinfelder, K. McAuliffe, E. Melton, V. Norton, and J. Weise, "The IBM research parallel processor prototype (RP3): Introduction and architecture," inProc. 1985 Intern. Conf. Parallel Process., Aug. 1985.
[23] L. Rudolph and Z. Segall, "Dynamic decentralized cache schemes for MIMD parallel processors," inProc. 11th Int. Symp. Computer Architecture, 1984, pp. 340-347.
[24] C. Thacker, L. Stewart, and E. Satterthwaite, Jr., "Firefly: A multiprocessor workstation,"IEEE Trans. Comput., vol. 37, no. 8, pp. 909-920, Aug. 1988.
[25] J. Zahorjan, E. Lazowska, and D. Eager, "Spinning versus blocking in parallel systems with uncertainty," inProc. Intern. Seminar Performance of Distributed and Parallel Syst., North Holland, Dec. 1988.

Index Terms:
Index Termsshared data structures; software queueing; CSMA network protocols; Ethernet backoff;multistage interconnection network; shared bus multiprocessors; Symmetry Model B; spinlock alternatives; shared-money multiprocessors; atomic instructions; softwarespin-waiting algorithms; distributed system; dynamic arbitration; delays; parallelprocessing; performance evaluation; storage management
T.E. Anderson, "The Performance of Spin Lock Alternatives for Shared-Money Multiprocessors," IEEE Transactions on Parallel and Distributed Systems, vol. 1, no. 1, pp. 6-16, Jan. 1990, doi:10.1109/71.80120
Usage of this product signifies your acceptance of the Terms of Use.