Improving Performance of Transactional Applications through Adaptive Transactional Memory

Transactional memory (TM) has become progressively widespread especially with hardware transactional memory implementation becoming increasingly available. In this paper, we focus on Restricted Transactional Memory (RTM) in Intel's Haswell processor and show that performance of RTM varies across applications. While RTM enhances performance of some applications relative to software transactional memory (STM), in some others, it degrades performance. We exploit this variability and present an adaptive system which is a static approach that switches between HTM and STM in transaction granularity. By incorporating a decision tree prediction module, we are able to predict the optimum TM system for a given transaction based on its characteristics. Our adaptive system supports both HTM and STM with the aim of increasing an application's performance. We show that our adaptive system has an average overall speedup of 20.82% over both TM systems.

[1]  Anoop Gupta,et al.  Parallel computer architecture - a hardware / software approach , 1998 .

[2]  Alberto Maria Segre,et al.  Programs for Machine Learning , 1994 .

[3]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..

[4]  Timothy J. Slegel,et al.  Transactional Memory Architecture and Implementation for IBM System Z , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

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

[6]  Christopher J. Hughes,et al.  Performance evaluation of Intel® Transactional Synchronization Extensions for high-performance computing , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[7]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[8]  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).

[9]  Zhen Li,et al.  Discovery of Potential Parallelism in Sequential Programs , 2013, 2013 42nd International Conference on Parallel Processing.

[10]  José Nelson Amaral,et al.  Multi-dimensional Evaluation of Haswell's Transactional Memory Performance , 2014, 2014 IEEE 26th International Symposium on Computer Architecture and High Performance Computing.

[11]  Mike Dai Wang Exploring the Performance and Programmability Design Space of Hardware Transactional Memory , 2014 .

[12]  Jean-François Méhaut,et al.  Dynamic Thread Mapping Based on Machine Learning for Transactional Memory Applications , 2012, Euro-Par.

[13]  Gonçalo Vasco Trincão Bento da Cunha,et al.  Consistent state software transactional memory , 2007 .

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

[15]  Maurice Herlihy,et al.  Invyswell: A hybrid transactional memory for Haswell's restricted transactional memory , 2014, 2014 23rd International Conference on Parallel Architecture and Compilation (PACT).

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