Performance evaluation of View-Oriented Transactional Memory

This paper extensively evaluates the performance of View-Oriented Transactional Memory (VOTM) based on two implementations that adopt different Transactional Memory (TM) algorithms. The Restricted Admission Control (RAC) mechanism in VOTM plays a key role in the performance gains of VOTM. In this paper, we use six applications to evaluate the performance advantage of VOTM. Experimental results show that partitioning shared data into separate views can improve performance when one of the views has high contention while others may have low contention, because the contention of each view is independently controlled by RAC. For memory-intensive applications, even when the contention on application data is not high enough to justify admission control by RAC, partitioning shared data into different views can improve the performance of TM systems due to the reduced contention on the metadata of the TM systems.

[1]  Zhiyi Huang,et al.  Data race: tame the beast , 2010, The Journal of Supercomputing.

[2]  Rachid Guerraoui,et al.  Preventing versus curing: avoiding conflicts in transactional memories , 2009, PODC '09.

[3]  Sameer Kulkarni,et al.  A transactional memory with automatic performance tuning , 2012, TACO.

[4]  Amitabha Roy,et al.  A runtime system for software lock elision , 2009, EuroSys '09.

[5]  Robert Tappan Morris,et al.  An Analysis of Linux Scalability to Many Cores , 2010, OSDI.

[6]  Kunle Olukotun,et al.  STAMP: Stanford Transactional Applications for Multi-Processing , 2008, 2008 IEEE International Symposium on Workload Characterization.

[7]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[8]  James R. Larus,et al.  Transactional Memory , 2006, Transactional Memory.

[9]  Håkan Grahn,et al.  Transactional memory , 2010, J. Parallel Distributed Comput..

[10]  Josep Torrellas,et al.  Colorama: Architectural Support for Data-Centric Synchronization , 2007, 2007 IEEE 13th International Symposium on High Performance Computer Architecture.

[11]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[12]  Z. Huang,et al.  View-Oriented Transactional Memory , 2011, 2011 40th International Conference on Parallel Processing Workshops.

[13]  H. T. Kung,et al.  On optimistic concurrency control , 1981 .

[14]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

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

[16]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

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

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

[19]  Kunle Olukotun,et al.  Eigenbench: A simple exploration tool for orthogonal TM characteristics , 2010, IEEE International Symposium on Workload Characterization (IISWC'10).

[20]  Yannis Smaragdakis,et al.  Adaptive Locks: Combining Transactions and Locks for Efficient Concurrency , 2009, 2009 18th International Conference on Parallel Architectures and Compilation Techniques.

[21]  Zhiyi Huang,et al.  When and How VOTM Can Improve Performance in Contention Situations , 2012, 2012 41st International Conference on Parallel Processing Workshops.

[22]  Zhiyi Huang,et al.  Restricted admission control in view-oriented transactional memory , 2013, The Journal of Supercomputing.

[23]  Martin K. Purvis,et al.  Performance evaluation of view-oriented parallel programming , 2005, 2005 International Conference on Parallel Processing (ICPP'05).

[24]  Hsien-Hsin S. Lee,et al.  Adaptive transaction scheduling for transactional memory systems , 2008, SPAA '08.

[25]  Wenguang Chen,et al.  Maotai: View-Oriented Parallel Programming on CMT Processors , 2008, 2008 37th International Conference on Parallel Processing.

[26]  David Eisenstat,et al.  Lowering the Overhead of Nonblocking Software Transactional Memory , 2006 .