Previous | Next --- Slide 34 of 35
Back to Lecture Thumbnails

FGL reduces contention and increase execution overhead.

LF avoid the additional FGL overhead.

LF still have contentions(the while spin).

Implementation Complexity:

FGL increases the complexity.

LF increases the complexity by a lot.


While locking isn't required for LF data structures, we still will need memory fences to ensure different threads have updated values when dealing with relaxed consistency memory systems.


Course-grained locks and transactional synchronization are very important concepts. It talks about how Intel TSX allows highly concurrent accesses using only a simple locking mechanism. This is an article by Intel explaining these concepts.