Garbage Collector Tuning in Pathological Allocation Pattern Applications - Pharo
Conference Papers Year : 2023

Garbage Collector Tuning in Pathological Allocation Pattern Applications

Abstract

Automatic memory management is often supported by Garbage Collectors (GC). GC usually impacts running application performance. For tuning properly, they expose some parameters to support the adaptation of their algorithms to specific applications' scenarios. In some cases, the developers should modify the GC parameter values to achieve high performance. However, many application developers cannot be expected to perform expert analysis to determine which parameter values are the best for their application. There are techniques to find "good enough" parameter values. But, even if the overhead was reduced, it is still unknown the cause of the problem and how the GC tuning managed it. In this paper, we present a methodology to identify the causes of GC overhead in Pharo applications for tuning GC parameters. We describe the GC inside the PharoVM and its parameters, looking at how their variations change the allocation behaviour. We were able to analyse, identify and understand the GC performance issues present in one real application and suggest specific GC tuning actions. Using the suggested parameter values, we improved its performance by up to 12x and reduced GC overhead by up to 3.8x. During the experiments, we also found: 1) a bug in the production PharoVM concerning the tenuring policy, 2) a misconception about one GC parameter even for the VM developers, and 3) some possible improvements for the current GC implementation.
Fichier principal
Vignette du fichier
paper01.pdf (1.27 Mo) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-04225588 , version 1 (02-10-2023)
hal-04225588 , version 2 (09-02-2024)

Licence

Identifiers

  • HAL Id : hal-04225588 , version 2

Cite

Nahuel Palumbo, Sebastian Jordan Montaño, Guillermo Polito, Pablo Tesone, Stéphane Ducasse. Garbage Collector Tuning in Pathological Allocation Pattern Applications. IWST 2023: International Workshop on Smalltalk Technologies, Aug 2023, Lyon, France. ⟨hal-04225588v2⟩
342 View
116 Download

Share

More