Estimating parallelism of Transactional Memory programs

Transactional Memory (TM), a promising concurrency control mechanism that enables easier and more productive parallel/distributed programming, become a standard part of the latest multicores rolled out by IBM, Intel, AMD, and other IC manufacturers. Many TM aspects have been intensively researched, e.g. semantics of various possible implementations, TM safety and liveness properties, and TM performance. Some researchers suggested some novel measures for the amount of concurrency in TM programs. Alternatively, we in this paper propose an approach to analysis of TM programs by using a well-established methodology, which is based on modeling programs as DAGs, and calculating their work, span, parallelism, and speedup. In the paper we present an approach to application of this methodology in order to calculate the parallelism of a typical TM program for processing a group of transactions on a set of bank accounts. As a result of this approach we established some simple theorems that may be used for analysis of a broader class of TM programs.

[1]  Jeremy T. Fineman,et al.  Nested parallelism in transactional memory , 2008, PPoPP.

[2]  Arthur J. Bernstein,et al.  Analysis of Programs for Parallel Processing , 1966, IEEE Trans. Electron. Comput..

[3]  Dan Grossman,et al.  High-level small-step operational semantics for transactions , 2008, POPL '08.

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

[5]  Adam Welc,et al.  Practical weak-atomicity semantics for java stm , 2008, SPAA '08.

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

[7]  Nuno Diegues,et al.  Exploring Parallelism in Transactional Workloads , 2012 .

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

[9]  Ronald L. Rivest,et al.  Introduction to Algorithms, 3rd Edition , 2009 .

[10]  Martín Abadi,et al.  Semantics of transactional memory and automatic mutual exclusion , 2011, TOPL.

[11]  Rachid Guerraoui,et al.  On the liveness of transactional memory , 2012, PODC '12.