One of the main challenges in stating the correctness of transactional memory (TM) systems is the need to provide guarantees on the system state observed by live transactions, i.e., those that have not yet committed or aborted. A TM correctness condition should be weak enough to allow flexibility in implementation, yet strong enough to disallow undesirable TM behavior, which can lead to run-time errors in live transactions. The latter feature is formalized by observational refinement between TM implementations, stating that properties of a program using a concrete TMimplementation can be established by analyzing its behavior with an abstract TM, serving as a specification of the concrete one.
We show that a variant of transactional memory specification (TMS), a TM correctness condition, is equivalent to observational refinement for the common programming model in which local variables are rolled back upon a transaction abort and, hence, is the weakest acceptable condition for this case. This is challenging due to the nontrivial formulation of TMS, which allows different aborted and live transactions to have different views of the system state. Our proof reveals some natural, but subtle, assumptions on the TM required for the equivalence result.
|Title of host publication||Distributed Computing - 28th International Symposium, DISC 2014, Proceedings|
|Number of pages||15|
|State||Published - 2014|
|Event||28th International Symposium on Distributed Computing, DISC 2014 - Austin, United States|
Duration: 12 Oct 2014 → 15 Oct 2014
|Name||Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)|
|Conference||28th International Symposium on Distributed Computing, DISC 2014|
|Period||12/10/14 → 15/10/14|