There are various abstractions and implementations of locks(or atomic operation). Software semantics are needed for program correctness, and hardware implementation could be efficient.
As mentioned in later slides, locks could be implemented as spin locks or deschedule, and there are trade offs for these two types of implementation. Even only for spin locks, there are various implementation, each with different thought for performance, such as MCS lock, tick lock.
Also, hardware primitives are needed for the lock implementation, like compare and swap, which would guarantee atomic operations.
Besides, optimistic implementation transactional memory would fit the atomic{} semantics, which would eliminate unnecessary wait.
There are various abstractions and implementations of locks(or atomic operation). Software semantics are needed for program correctness, and hardware implementation could be efficient.
As mentioned in later slides, locks could be implemented as spin locks or deschedule, and there are trade offs for these two types of implementation. Even only for spin locks, there are various implementation, each with different thought for performance, such as MCS lock, tick lock. Also, hardware primitives are needed for the lock implementation, like compare and swap, which would guarantee atomic operations. Besides, optimistic implementation transactional memory would fit the atomic{} semantics, which would eliminate unnecessary wait.
This comment was marked helpful 0 times.