Profiling code cache behaviour via events

1Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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 off-line 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.

Cite

CITATION STYLE

APA

Tesone, P., Polito, G., & Ducasse, S. (2021). Profiling code cache behaviour via events. In MPLR 2021 - Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (pp. 61–69). Association for Computing Machinery, Inc. https://doi.org/10.1145/3475738.3480720

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free