Magnusson, Peter S. and Landin, Anders and Hagersten, Erik (1994) Efficient Software Synchronization on Large Cache Coherent Multiprocessors. [SICS Report]
Large-scale shared-memory multiprocessors typically have long latencies for remote data accesses. A key issue for execution performance of many common applications is the synchronization cost. The communication scalability of synchronization has been improved by the introduction of queue-based spin-locks instead of Test & (Test & Set). For architectures with long access latencies for global data, attention should also be paid to the number of global accesses that are involved in synchronization. We present a method to characterize the performance of proposed queue lock algorithms, and apply it to previously published algorithms. We also present two new queue locks, the LH lock and the M lock. We compare the locks in terms of performance, memory requirements, code size, and required hardware support. The LH lock is the simplest of all the locks, yet requires only an atomic swap operation. The M lock is superior in terms of global accesses needed to perform synchronization and still competitive in all other criteria. We conclude that the M lock is the best overall queue lock for the class of architectures studied.
|Item Type:||SICS Report|
|Uncontrolled Keywords:||Queueing Locks, Synchronization, Shared Memory Multiprocessors, Locks, Parallel Programming|
|Deposited By:||Vicki Carleson|
|Deposited On:||22 Oct 2007|
|Last Modified:||18 Nov 2009 16:00|
Repository Staff Only: item control page