A method for executing transactions including obtaining a memory location
required by a first transaction, where the first transaction is
identified using a first transaction identification and a first
transaction version; determining a second transaction with ownership of a
memory group including the memory location, where the second transaction
is identified using a second transaction identification and a second
transaction version; copying an intermediate value associated with the
memory group from the second transaction into transactional metadata
associated with the first transaction; changing ownership of the memory
group to the first transaction; and committing the first transaction.