Análise de consumo de energia e desempenho de memórias transacionais em software em ambiente de computação real - Rico, Timóteo Matthies (2013)
With the advent of multicore architectures, new challenges to software development were raised. Among those, one of the main issues in concurrent programming is related to the synchronization required to avoid race conditions. Transactional Memories have been developed by concurrent programming researchers in order to reduce dificulties and limitations found in traditional synchronization mechanisms. As it is a more recent approach to synchronization, little is known about energy consumption of Transactional Memories, in special of software implementations. In this context, this work presents the analysis and characterization of energy consumption and performance of four important Transactional Memory libraries: TL2, TinySTM, SwissTM, and AdaptSTM, using the STAMP benchmark. A differential to other works is that results were obtained for a real computational environment and not simulated. Results show that SwissTM is the most efficient library of the four in terms of energy consumption and performance, followed by AdapSTM, TinySTM, and TL2 in this order, for most of the execution scenarios and 8 threads at most. STM’s scalability is directly tied to the strategies for detection and resolution of conflicts. In this perspective, AdaptSTM is the best STM for applications with short transactions. SwissTM presents the best results for medium transactions. Long transactions and medium/high contention are best handled by TL2. On the other hand, TinySTM shows the worst scalability for most scenarios, with good results only for applications with very small abort rates.