Previous | Next --- Slide 25 of 64
Back to Lecture Thumbnails

This is a perfect example showing why transactions are desirable. Instead of using locks to enforce mutual exclusion in the critical section, transactions only abort when there is an actual R-W or W-W conflict happening. So in a sense, it's a more fine-grained strategy to ensure memory consistency.


To counter this point, there can be significant overhead to implementing transactional systems. There needs to be infrastructure to both detect conflicts (not overly difficult) as well as rollback (more challenging, additional memory requirements to store rollback data). This is without considering the performance consequence of repeated aborts if access is highly contested.