Rachid Guerraoui, Thomas A. Henzinger, and Vasu Singh
We introduce the notion of permissiveness in transactional memories (TMs). Intuitively, a TM is permissive if it never aborts a transaction when it need not. More specifically, a TM is permissive with respect to a safety property p if the TM accepts every history that satisfies p. Permissiveness, like safety and liveness, can be used as a metric to compare TMs. We illustrate that it is impractical to achieve permissiveness deterministically, and then show how randomization can be used to achieve permissiveness efficiently. We introduce Adaptive Validation STM (AVSTM), which is probabilistically permissive with respect to opacity; that is, every opaque history is accepted by AVSTM with positive probability. Moreover, AVSTM guarantees lock freedom. Owing to its permissiveness, AVSTM outperforms other STMs by up to 40% for read dominated workloads in high contention scenarios. On the other hand, in low contention scenarios, the bookkeeping done by AVSTM to achieve permissiveness makes it, on average, 20-30% slower than existing STMs.
Proceedings of the 22nd International Symposium on Distributed Computing (DISC), Lecture Notes in Computer Science 5218, Springer, 2008, pp. 305-319.