Adaptive Transactional Memories: Performance and Energy Consumption Tradeoffs

Diego Rughetti, Pierangelo Di Sanzo, and Alessandro Pellegrini


Published in: Proceedings of the Third IEEE Symposium on Network Cloud Computing and Applications
pdf Download PDF

Abstract:
Energy efficiency is becoming a pressing issue, especially in large data centers where it entails, at the same time, a non-negligible management cost, an enhancement of hardware fault probability, and a significant environmental footprint. In this paper, we study how Software Transactional Memories (STM)can provide benefits on both power saving and the overall applications’ execution performance. This is related to the fact that encapsulating shared-data accesses within transactions gives the freedom to the STM middleware to both ensure consistency and reduce the actual data contention, the latter having been shown to affect the overall power needed to complete the application’s execution. We have selected a set of self-adaptive extensions to existing STM middle wares (namely, TinySTM and R-STM) to prove how self-adapting computation can capture the actual degree of parallelism and/or logical contention on shared data in a better way, enhancing even more the intrinsic benefits provided by STM. Of course, this benefit comes at a cost, which is the actual execution time required by the proposed approaches to precisely tune the execution parameters for reducing power consumption and enhancing execution performance. Nevertheless, the results hereby provided show that adaptively is a strictly necessary requirement to reduce energy consumption in STM systems: Without it, it is not possible to reach any acceptable level of energy efficiency at all.

BibTeX Entry:

@inproceedings{Rug14,
author = {Rughetti, Diego and Di Sanzo, Pierangelo and Pellegrini, Alessandro},
booktitle = {Proceedings of the Third IEEE Symposium on Network Cloud Computing and Applications},
title = {Adaptive Transactional Memories: Performance and Energy Consumption Tradeoffs},
year = {2014},
month = feb,
pages = {105--112},
publisher = {IEEE Computer Society},
series = {NCCA},
doi = {10.1109/NCCA.2014.25},
location = {Rome, Italy}
}