A Graph Transformation System formalism for Software Transactional Memory Opacity

In order to check the correctness of Transactional Memory (TM) systems, a formal description of the implementations guarantees is necessary. There are many consistency conditions for TM, one of the most common is opacity. In this paper we present a formal definition to prove opacity on TM histories using a Graph Transformation System (GTS). We explore the connection between a history definition, a sequence of actions to the TM, and a result of direct graph transformations based on the actions portrayed in the history. Thus, creating a framework capable of observing the property of opacity on TM histories.

[1]  Victor Pankratius,et al.  A study of transactional memory vs. locks in practice , 2011, SPAA '11.

[2]  Fabio Gadducci,et al.  Towards a Notion of Transaction in Graph Rewriting , 2008, Electron. Notes Theor. Comput. Sci..

[3]  Ognjen MariÄ,et al.  Formal Verification of Fault-Tolerant Systems , 2017 .

[4]  Leila Ribeiro,et al.  Theorem proving graph grammars with attributes and negative application conditions , 2017, Theor. Comput. Sci..

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

[6]  Roberto Palmieri,et al.  Disjoint-Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations , 2015, PODC.

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

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

[9]  Simon L. Peyton Jones,et al.  Composable memory transactions , 2005, CACM.

[10]  Torvald Riegel,et al.  RobuSTM: A Robust Software Transactional Memory , 2010, SSS.

[11]  Nir Shavit,et al.  Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory , 2015, ASPLOS.

[12]  Panagiota Fatourou,et al.  Consistency for Transactional Memory Computing , 2014, Bull. EATCS.

[13]  Giorgio Delzanno,et al.  Specification and Validation of Link Reversal Routing via Graph Transformations , 2013, SPIN.

[14]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools , 1999 .

[15]  Roberto Palmieri,et al.  HiperTM: High performance, fault-tolerant transactional memory , 2014, Theor. Comput. Sci..

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

[17]  Konrad Siek Zen and the Art of Concurrency Control: An Exploration of TM Safety Property Space with Early Release in Mind , 2014 .

[18]  M. Minas,et al.  Application of graph transformation to visual languages , 1999 .

[19]  Michel Raynal,et al.  Virtual world consistency: A condition for STM systems (with a versatile protocol with invisible read operations) , 2012, Theor. Comput. Sci..

[20]  Eddie Kohler,et al.  The scalable commutativity rule , 2017, Commun. ACM.

[21]  Michael F. Spear,et al.  Transactions as the Foundation of a Memory Consistency Model , 2010, DISC.

[22]  Mark Moir,et al.  Hybrid transactional memory , 2006, ASPLOS XII.

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

[24]  Luke Dalessandro Michael,et al.  Strong Isolation is a Weak Idea , 2009 .

[25]  Hagit Attiya,et al.  Safe privatization in transactional memory , 2018, PPOPP.

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