Previous | Next --- Slide 35 of 56
Back to Lecture Thumbnails
yanzhan2

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.