School of Computing

A fast analysis for thread-local garbage collection with dynamic class loading

Richard Jones and Andy King

In Fifth IEEE International Workshop on Source Code Analysis and Manipulation, pages 182-196, Budapest, September 2005. IEEE Computer Society.

Abstract

Long-running, heavily multi-threaded, Java server applications make stringent demands of garbage collector (GC) performance. Synchronisation of all application threads before garbage collection is a significant bottleneck for JVMs that use native threads.

We present a new static analysis and a novel GC framework designed to address this issue by allowing independent collection of thread-local heaps. In contrast to previous work, our solution safely classifies objects even in the presence of dynamic class loading, requires neither write-barriers that may do unbounded work, nor synchronisation, nor locks during thread-local collections; our analysis is sufficiently fast to permit its integration into a high-performance, production-quality virtual machine.

This paper is a shorter version of our technical report. Download publication 128 kbytes (PDF)

Bibtex Record

@inproceedings{2228,
author = {Richard Jones and Andy King},
title = {A Fast Analysis for Thread-Local Garbage Collection with Dynamic Class Loading},
month = {September},
year = {2005},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2005/2228},
    ISBN = {0-7695-2292-0},
    publication_type = {inproceedings},
    submission_id = {8365_1120038689},
    booktitle = {Fifth IEEE International Workshop on Source Code Analysis and Manipulation},
    address = {Budapest},
    publisher = {IEEE Computer Society},
    refereed = {yes},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014