Since memory is modified how do other threads still manage to read the un-updated value?
apadwekar
I imagine it would be somewhat similar to cache coherence, where another thread attempting to access the same value will trigger the abort.
zale
But then is an eager, optimistic implementation impossible? If you only check your read/write sets immediately before committing, in an eager setting you risk reading modified values (the transaction will get aborted, but it could still lead to accessing illegal addresses, for instance).
atadkase
Is there a limit to the number of operations that can be buffered on the undo log/write buffer?
preritrodney
If during abort the thread writes the value 10 to X then won't it overwrite the value that was committed by some other thread?
Since memory is modified how do other threads still manage to read the un-updated value?
I imagine it would be somewhat similar to cache coherence, where another thread attempting to access the same value will trigger the abort.
But then is an eager, optimistic implementation impossible? If you only check your read/write sets immediately before committing, in an eager setting you risk reading modified values (the transaction will get aborted, but it could still lead to accessing illegal addresses, for instance).
Is there a limit to the number of operations that can be buffered on the undo log/write buffer?
If during abort the thread writes the value 10 to X then won't it overwrite the value that was committed by some other thread?