Previous | Next --- Slide 55 of 65
Back to Lecture Thumbnails
pdp

"For eager versioning, need a 2nd cache write for undo log" - does it mean: 1) In eager versioning, we need one cache line to store updates and one for the undo logs. 2) For lazy versioning, we only need 1 cache line for write buffer. ?

kayvonf

@pdp... consider a lazy TM scenario. If a write occurs during a transaction, the write occurs to the write log, so that line is brought into cache. Another write to the target memory address occurs only on commit, but no write occurs if there is a transaction abort.

Now consider an eager TM scenario. If a write occurs during a transaction, the write goes to the target address (so that cache line is brought into the cache) and a second write goes to the undo log (also bringing that line into cache.)