Abstract
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.
| Original language | English |
|---|---|
| Pages (from-to) | 425-446 |
| Number of pages | 22 |
| Journal | Theory of Computing Systems |
| Volume | 51 |
| Issue number | 4 |
| DOIs | |
| State | Published - Nov 2012 |
Keywords
- Best-effort hardware transactional memory
- Compare-and-swap
- Disjoint access parallelism
- Permissiveness
- Transactional memory
- Versions
- k-compare-single-swap
All Science Journal Classification (ASJC) codes
- Theoretical Computer Science
- Computational Theory and Mathematics