We present PermiSTM, a single-version STM that satisfies a practical notion of permissiveness, usually associated with keeping many versions: it never aborts read-only transactions, and it aborts other transactions only due to a conflicting transaction (writing to a common data item), thereby avoiding spurious aborts. PermiSTM also avoids unnecessary contention on the memory, being disjoint-access parallel. We first present a variant of PermiSTM that uses k-compare-single-swap primitive. Then we present a variant with similar properties using only cas, and show how the livelocks it may incur can be avoided with best-effort hardware transactions. © 2012 Springer Science+Business Media, LLC.
CITATION STYLE
Attiya, H., & Hillel, E. (2012). A Single-Version STM that Is Multi-Versioned Permissive. Theory of Computing Systems, 51(4), 425–446. https://doi.org/10.1007/s00224-012-9406-3
Mendeley helps you to discover research relevant for your work.