TABARNAC: Tools for Analyzing Behavior of Applications Running on NUMA Architecture - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2015

TABARNAC: Tools for Analyzing Behavior of Applications Running on NUMA Architecture

Résumé

In modern parallel architectures, memory accesses represent a common bottleneck. Thus, optimizing the way applications access the memory is an important way to improve performance and energy consumption. Memory accesses are even more important with NUMA machines, as the access time to data depends on its location in the memory. Many efforts were made to develop adaptive tools to improve memory accesses at the runtime by optimizing the mapping of data and threads to NUMA nodes. However, theses tools are not able to change the memory access pattern of the original application, therefore a code written without considering memory performance might not benefit from them. Moreover, automatic mapping tools take time to converge towards the best mapping, losing optimization opportunities. A deeper understanding of the memory behavior can help optimizing it, removing the need for runtime analysis. In this paper, we present TABARNAC, a tool for analyzing the memory behavior of parallel applications with a focus on NUMA architectures. TABARNAC provides a new visualization of the memory access behavior, focusing on the distribution of accesses by thread and by structure. Such visualization allows the developer to easily understand why performance issues occur and how to fix them. Using TABARNAC, we explain why some applications do not benefit from data and thread mapping. Moreover, we propose several code modifications to improve the memory access behavior of several parallel applications.
Les accès mémoire représentent une source de problème de performance fréquente avec les architectures parallèle moderne. Ainsi optimiser la manière dont les applications accèdent à la mémoire est un moyen efficace d'améliorer la performance et la consommation d'énergie. Les accès mémoire prennent d'autant plus d'important avec les machines NUMA où le temps d'accès à une donnée dépend de sa localisation dans la mémoire. De nombreuse études ont proposées des outils adaptatif pour améliorer les accès mémoire en temps réel, ces outils opèrent en changeant le placement des données et des thread sur les nœuds NUMA. Cependant ces outils n'ont pas la possibilité de changer la façon dont l'application accède à la mémoire. De ce fait un code développé sans prendre en compte les performances des accès mémoire pourrait ne pas en tirer parti. De plus les outils de placement automatique ont besoin de temps pour converger vers le meilleur placement, perdant des opportunités d'optimisation. Mieux comprendre le comportement mémoire peut aider à l'optimiser et supprimer le besoin d'optimisation en temps réel. Cette étude présente TABARNAC un outil pour analyser le comportement mémoire d'application parallèles s'exécutant sur architecture NUMA. TABARNAC offre une nouvelle forme de visualisation du comportement mémoire mettant l'accent sur la distribution des accès entre les thread et par structure de données. Ce type de visualisations permettent de comprendre facilement pourquoi les problèmes de performances apparaissent et comment les résoudre. En utilisant TABARNAC, nous expliquons pourquoi certaines applications ne tirent pas parti d'outils placement de donnée et de thread. De plus nous proposons plusieurs modification de code permettant d'améliorer le comportement mémoire de plusieurs applications parallèles.
Fichier principal
Vignette du fichier
tabarnac.pdf (1.8 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01202105 , version 1 (18-09-2015)

Identifiants

  • HAL Id : hal-01202105 , version 1

Citer

David Beniamine, Matthias Diener, Guillaume Huard, Philippe Olivier Alexandre Navaux. TABARNAC: Tools for Analyzing Behavior of Applications Running on NUMA Architecture. [Research Report] 8774, Inria Grenoble Rhône-Alpes, Université de Grenoble. 2015, pp.24. ⟨hal-01202105⟩
169 Consultations
361 Téléchargements

Partager

Gmail Facebook X LinkedIn More