Energy Efficiency of Software Transactional Memory in a Heterogeneous Architecture

Hardware vendors make an important effort creating low-power CPUs that keep battery duration and durability above acceptable levels. In order to achieve this goal and provide good performance-energy for a wide variety of applications, ARM designed the big.LITTLE architecture. This heterogeneous multi-core architecture features two different types of cores: big cores oriented to performance, fast and power-hungry, and little cores, slower and aimed to save energy consumption. As all the cores have access to the same memory, multi-threaded applications must resort to some mutual exclusion mechanism to coordinate the access to shared data by the concurrent threads. Transactional Memory (TM) represents an optimistic approach for shared-memory synchronization. To take full advantage of the features offered by software TM, but also benefit from the characteristics of the heterogeneous big.LITTLE architectures, our focus is to propose TM solutions that take into account the power/performance requirements of the application and what it is offered by the architecture. In order to understand the current state-of-the-art and obtain useful information for future power-aware software TM solutions, we have performed an analysis of a popular TM library running on top of an ARM big.LITTLE processor. Experiments show, in general, better scalability for the LITTLE cores for most of the applications except for one, which requires the computing performance that the big cores offer.

[1]  Torvald Riegel,et al.  Time-Based Software Transactional Memory , 2010, IEEE Transactions on Parallel and Distributed Systems.

[2]  James R. Larus,et al.  Transactional Memory, 2nd edition , 2010, Transactional Memory.

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

[4]  Mateo Valero,et al.  Clock gate on abort: Towards energy-efficient hardware Transactional Memory , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

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

[6]  Yujie Liu,et al.  STAMP Need Not Be Considered Harmful , 2014 .

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

[8]  Rodolfo Azevedo,et al.  Energy-Performance Tradeoffs in Software Transactional Memory , 2012, 2012 IEEE 24th International Symposium on Computer Architecture and High Performance Computing.

[9]  Rodolfo Azevedo,et al.  On the energy-efficiency of software transactional memory , 2009, SBCCI.

[10]  Manuel E. Acacio,et al.  Dynamic Serialization: Improving Energy Consumption in Eager-Eager Hardware Transactional Memory Systems , 2012, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing.

[11]  Maged M. Michael,et al.  Robust architectural support for transactional memory in the power architecture , 2013, ISCA.

[12]  R. I. Bahar,et al.  Energy-Aware Microprocessor Synchronization : Transactional Memory vs . Locks , 2006 .