Back to Search Start Over

Profiling Code Cache Behaviour via Events

Authors :
Guillermo Polito
Pablo Tesone
Stéphane Ducasse
Analyses and Languages Constructs for Object-Oriented Application Evolution (RMOD)
Inria Lille - Nord Europe
Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 (CRIStAL)
Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS)-Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS)
Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 (CRIStAL)
Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS)
Source :
MPLR ’21, MPLR ’21, Sep 2021, Münster, Germany. ⟨10.1145/3475738.3480720⟩, MPLR
Publication Year :
2021
Publisher :
HAL CCSD, 2021.

Abstract

International audience; Virtual machine performance tuning for a given application is an arduous and challenging task. For example, parametrizing the behaviour of the JIT compiler machine code caches affects the overall performance of applications while being rather obscure for final users not knowledgeable about VM internals. Moreover, VM components are often heavily coupled and changes in some parameters may affect several seemingly unrelated components and may have unclear performance impacts. Therefore, choosing the best parametrization requires to have precise information. In this paper, we present Vicoca, a tool that allows VM users and developers to obtain detailed information about the behaviour of the code caches and their interactions with other virtual machine components. We present a complex optimization problem due to the heavy interaction of components in the Pharo VM, and we explain it using Vicoca. The information produced by the tool allows developers to produce an optimized configuration for the VM. Vicoca is based on event recording that are manipulated during offline analysis. Vicoca not only allows us to understand this given problem, but it opens the door to future work such as automatic detection of application characteristics, identification of performance issues, and automatic hinting. CCS Concepts: • Software and its engineering → Runtime environments.

Details

Language :
English
Database :
OpenAIRE
Journal :
MPLR ’21, MPLR ’21, Sep 2021, Münster, Germany. ⟨10.1145/3475738.3480720⟩, MPLR
Accession number :
edsair.doi.dedup.....b824f08a3b4ac8de47530ac96c984c80
Full Text :
https://doi.org/10.1145/3475738.3480720⟩