Previous | Next --- Slide 4 of 65
Back to Lecture Thumbnails
pajamajama

A transaction is a sequence of memory operations (reads + writes) that is atomic and isolated. 'Atomic' means that from the user's point of view, a transaction has either executed all of its actions, or none at all. 'Isolated' means that execution of one transaction is separate from execution of other transactions. Another property of transactions is serializability, which means that the transactions should appear as if it was executed/committed in serial order.

holard

Difference between atomic blocks and locks: atomic blocks are declared by the programmer to indicate that the block should be performed all at once without specifying the underlying implementation. Locks are a synchronization primitive that can be used to implement atomicity.

firebb

Notice that for transactions in databases, there are four desired properties ACID (Atomicity, Consistency, Isolation, Durability). As @pajamajama points out, the transnational memory provides A and I property. Since it is on the single machine and no replication should be involved, consistency is not a concern. And since memory is volatile, durability is not needed in this case.

SR_94

Transactions can be thought of as a non-blocking algorithm, as one thread is guaranteed make progress at any point of time.

atadkase

A key difference between atomic blocks and locks is that when a programmer writes an atomic block, he doesn't care how the system provides the atomicity (eg: lock free/locks/etc). However when you use lock primitive, the implementation forces the use of a blocking lock.