Moca: An efficient Memory trace collection system

Autor: Beniamine, David, Huard, Guillaume
Přispěvatelé: Performance analysis and optimization of LARge Infrastructures and Systems (POLARIS ), Inria Grenoble - Rhône-Alpes, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire d'Informatique de Grenoble (LIG ), Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP )-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes [2016-2019] (UGA [2016-2019])-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP )-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes [2016-2019] (UGA [2016-2019]), Inria Grenoble Rhône-Alpes, Université de Grenoble
Jazyk: angličtina
Rok vydání: 2016
Předmět:
Zdroj: [Research Report] RR-8931, Inria Grenoble Rhône-Alpes, Université de Grenoble. 2016, pp.16
Popis: In modern High Performance Computing architectures, the memory subsystem is a common performance bottleneck. When optimizing an application, the developer has to study its memory access patterns and adapt accordingly the algorithms and data structures it uses. The objective is twofold: on one hand, it is necessary to avoid missuses of the memory hierarchy such as false sharing of cache lines or contention in a NUMA interconnect. On the other hand, it is essential to take advantage of the various cache levels and the memory hardware prefetcher. Still, most profiling tools focus on CPU metrics. The few of them able to provide an overview of the memory patterns involved by the execution rely on hardware instrumentation mechanisms and have two drawbacks. The first one is that they are based on sampling which precision is limited by hardware capabilities. The second one is that they trace a subset of all the memory accesses, usually the most frequent, without information about the other ones. In this study we present Moca an efficient tool for the collection of complete spatiotemporal memory traces. It is based on a Linux kernel module and provides a coarse grained trace of a superset of all the memory accesses performed by an application over its addressing space during the time of its execution. The overhead of Moca is reasonable when taking into account the fact that it is able to collect complete traces which are also more precise than the ones collected by comparable tools.; Dans les architectures de calcul hautes performances, le système demémoire est une cause fréquente de baisse de performances. Afind'optimiser une application le.a développeur.euse doit étudier le schémad'accès mémoire de son application et adapter ses algorithmes etstructures de données en conséquence. L'objectif est double : tout d'abordil est nécessaire d'éviter les mauvaise utilisations de la hiérarchiemémoire telles que le faux partage de ligne de cache ou la contentiondans les interconnexion NUMA. De plus il est primordial de tirer lemeilleur parti des différents niveaux de cache et du pré-chargement mémoirematériel.Cependant, la plupart des outils d'analyse de performances se concentrent surdes métriques provenant du processeur. Les rare outils capables de proposerune vue générale des schémas d'accès mémoire se basent sur des mécanismesd'instrumentation matériels et soulèvent deux problèmes. Premièrement ilssont basés sur un échantillonnage dont la précision est limité par lescapacités du matériel. Ensuite ils ne tracent qu'une sous partie des accèsmémoire, en général les plus fréquents, sans informations sur les autresaccès.Dans cette étude, nous présentons Moca un outil efficient de collecte detraces mémoire spatiotemporelles complètes. Cet outil est basé sur unmodule noyau Linux et génère une trace a gros grain contenant unsurensemble des accès mémoire effectués par un application au cours dutemps et de l'espace d'adressage de l'exécution. Le surcout de Moca estraisonnable si on prends en compte le fait que la trace produite estcomplète et donc plus précise que celles produites par des outilscomparable.
Databáze: OpenAIRE