More efficient locks
Queue based locks maintain a list of processors waiting on a lock
- When lock is free, instead of ALL processors trying to claim the lock and letting the bus arbiter choose, we NOTIFY one of the processors that the lock is free and that it can now claim the lock.
- Processors are not ‘spinning’ on the lock (doing a memory access). Instead, waiting for notification from the lock manager hardware.
- Queue based locks require hardware support.
Tera claims to support hardware lock synchronization that is no more expensive than a single load/store.