Previous | Next --- Slide 53 of 65
Back to Lecture Thumbnails
Cake

Recall:

Eager / lazy refer to implementation detail. (What structures do we use to implement commit/abort?)

Pessimistic / optimistic refer to conflict detection policy. (When do we check if we need to commit/abort?)

apk

Why is eager+optimistic not practical?

anonymous

@apk Recall the negative for eager versioning is that slower aborts and fault issues. And optimistic will forward progress. So, if there are a bunch of writes, the one that does commit will restart others that cause a lot of slow aborts. So, the whole performance will be bad. Not sure if it's true, just a guess.

yulunt

Eager versioning writes to memory directly. Optimistic detection only checks before commit. To prevent from violating isolation property, additional checking mechanism must be included. The hardware may be complex and costly, which makes it impractical.

rc0303

GCC seems to have support for transactional memory. https://gcc.gnu.org/wiki/TransactionalMemory