Decomposing Opacity

Transactional memory (TM) algorithms are subtle and the TM correctness conditions are intricate. Decomposition of the correctness condition can bring modularity to TM algorithm design and verification. We present a decomposition of opacity called markability as a conjunction of separate intuitive invariants. We prove the equivalence of opacity and markability. The proofs of markability of TM algorithms can be aided by and mirror the algorithm design intuitions. As an example, we prove the markability and hence opacity of the TL2 algorithm. In addition, based on one of the invariants, we present lower bound results for the time complexity of TM algorithms.

[1]  Kunle Olukotun,et al.  Implementing and Evaluating a Model Checker for Transactional Memory Systems , 2010, 2010 15th IEEE International Conference on Engineering of Complex Computer Systems.

[2]  Michael F. Spear,et al.  NOrec: streamlining STM by abolishing ownership records , 2010, PPoPP '10.

[3]  Bratin Saha,et al.  McRT-STM: a high performance software transactional memory system for a multi-core runtime , 2006, PPoPP '06.

[4]  Rachid Guerraoui,et al.  Software Transactional Memory on Relaxed Memory Models , 2009, CAV.

[5]  Rachid Guerraoui,et al.  Principles of Transactional Memory , 2010, Synthesis Lectures on Distributed Computing Theory.

[6]  Bratin Saha,et al.  Model Checking Transactional Memory with Spin , 2009, ICDCS.

[7]  Bradley C. Kuszmaul,et al.  Unbounded Transactional Memory , 2005, HPCA.

[8]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[9]  Kunle Olukotun,et al.  An effective hybrid transactional memory system with strong isolation guarantees , 2007, ISCA '07.

[10]  Rupak Majumdar,et al.  Parameterized verification of transactional memories , 2010, PLDI '10.

[11]  Petr Kuznetsov,et al.  Safety of Deferred Update in Transactional Memory , 2013, 2013 IEEE 33rd International Conference on Distributed Computing Systems.

[12]  Mohsen Lesani,et al.  On the Correctness of Transactional Memory Algorithms , 2014 .

[13]  Michel Raynal,et al.  Brief announcement: virtual world consistency: a new condition for STM systems , 2009, PODC '09.

[14]  Torvald Riegel,et al.  Dynamic performance tuning of word-based software transactional memory , 2008, PPoPP.

[15]  Kunle Olukotun,et al.  Transactional memory coherence and consistency , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[16]  Hagit Attiya,et al.  Inherent limitations on disjoint-access parallel implementations of transactional memory , 2009, SPAA '09.

[17]  Mark Moir,et al.  Towards formally specifying and verifying transactional memory , 2009, Formal Aspects of Computing.

[18]  Rachid Guerraoui,et al.  On obstruction-free transactions , 2008, SPAA '08.

[19]  Amir Pnueli,et al.  Verifying Correctness of Transactional Memories , 2007 .

[20]  Mark Moir,et al.  A Framework for Formally Verifying Software Transactional Memory Algorithms , 2012, CONCUR.

[21]  Nir Shavit,et al.  TLRW: return of the read-write lock , 2010, SPAA '10.

[22]  Nir Shavit,et al.  Transactional Locking II , 2006, DISC.

[23]  Sean White,et al.  Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory , 2011, ASPLOS XVI.

[24]  Idit Keidar,et al.  On maintaining multiple versions in STM , 2010, PODC.

[25]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[26]  Maged M. Michael,et al.  Evaluation of Blue Gene/Q hardware support for transactional memories , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[27]  Rachid Guerraoui,et al.  On the correctness of transactional memory , 2008, PPoPP.

[28]  Nir Shavit,et al.  Reduced hardware transactions: a new approach to hybrid transactional memory , 2013, SPAA.

[29]  Jens Palsberg,et al.  Proving Non-opacity , 2013, DISC.

[30]  Rachid Guerraoui,et al.  Model checking transactional memories , 2008, PLDI '08.

[31]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[32]  Christopher J. Hughes,et al.  Hybrid transactional memory , 2006, PPoPP '06.

[33]  Amir Pnueli,et al.  Mechanical Verification of Transactional Memories with Non-transactional Memory Accesses , 2008, CAV.