First page Back Continue Last page Graphics
Software Transaction Implementation
Goals:
- Non-transactional operations should be fast
- Reads should be faster than writes
- Minimal amount of object bloat
Solution:
- Use special FLAG value to indicate “location involved in a transaction”
- Object points to a linked list of versions, containing values written by (in-progress, committed, or aborted) transactions
- Semantic value of FLAGged field is: “value of the first version owned by a committed transaction on the version list”
- Values which are “really” FLAG are handled with an escape mechanism (we call these “false flags”)
Notes: