Quantitative Evaluation of Thread-Local Garbage Collection Efficiency for Java


Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription Access

Abstract

This paper discusses thread-local garbage collection (GC), a technique of automatic memory management aimed at improving GC throughput and reducing GC pauses in managed runtimes. It exploits the observation that most objects do not escape the scope of the thread allocated them; therefore, memory occupied by these objects can be reclaimed locally within the thread. The question is how to efficiently compute this property at run time while achieving a good tradeoff between the precision of necessary dynamic analysis and the implied overheads for application performance. This paper gives a formal definition of thread-local reachability in the heap graph and proposes several strategies to compute it. Having implemented these strategies in a Java virtual machine, we present results of quantitative evaluation of the amount of thread-local objects discovered with a representative test suite of modern Java applications.

About the authors

A. Yu. Filatov

Novosibirsk State University

Author for correspondence.
Email: a.filatov@g.nsu.ru
Russian Federation, ul. Pirogova 2, Novosibirsk, 630090

V. V. Mikheev

Ershov Institute of Informatics Systems, Siberian Branch, Russian Academy of Sciences

Author for correspondence.
Email: vitvit@excelsior.ru
Russian Federation, pr. Akademika Lavrent’eva 6, Novosibirsk, 630090


Copyright (c) 2019 Pleiades Publishing, Ltd.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies