Dynamic thread mapping based on machine learning for transactional memory applications

  • Authors:
  • M$#225;rcio Castro;Luís Fabrício Wanderley Góes;Luiz Gustavo Fernandes;Jean-Fran$#231;ois Méhaut

  • Affiliations:
  • INRIA - CEA - LIG Laboratory, Grenoble University, Montbonnot Saint Martin, France;Department of Computer Science, Pontifical Catholic University of Minas Gerais, Belo Horizonte, MG, Brazil;PPGCC - Pontifical Catholic University of Rio Grande do Sul, Porto Alegre, RS, Brazil;INRIA - CEA - LIG Laboratory, Grenoble University, Montbonnot Saint Martin, France

  • Venue:
  • Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Thread mapping is an appealing approach to efficiently exploit the potential of modern chip-multiprocessors. However, efficient thread mapping relies upon matching the behavior of an application with system characteristics. In particular, Software Transactional Memory (STM) introduces another dimension due to its runtime system support. In this work, we propose a dynamic thread mapping approach to automatically infer a suitable thread mapping strategy for transactional memory applications composed of multiple execution phases with potentially different transactional behavior in each phase. At runtime, it profiles the application at specific periods and consults a decision tree generated by a Machine Learning algorithm to decide if the current thread mapping strategy should be switched to a more adequate one. We implemented this approach in a state-of-the-art STM system, making it transparent to the user. Our results show that the proposed dynamic approach presents performance improvements up to 31% compared to the best static solution.