Collecting The Garbage Without Blocking The Traffic

Jones, Richard and King, Andy (2004) Collecting The Garbage Without Blocking The Traffic. Technical report. University of Kent

HTML
Download (470Kb)
[img]
Preview
Postscript
Download (470Kb)
[img]
Preview
PDF
Download (172Kb)
[img]
Preview

Abstract

Java is an increasingly common platform for server-side applications. Such applications are usually long-running, heavily multi-threaded, require very large heaps, executed on multiprocessors, load classes dynamically and make stringent demands of garbage collector performance. Synchronisation of all application threads in order to perform a collection is shown to be a significant bottleneck but current methods fail to solve this issue. We show how a combination of a new static analysis and novel garbage collector framework can address this issue by allowing independent collection of thread-local heaps. In contrast to previous work, our analysis can classify objects even in the presence of incomplete knowledge; our system is safe in the presence of dynamic class loading; it requires neither synchronisation for nor locks during thread-local collections; and it does not use a write-barrier that may do an unbounded work. Finally, our analysis is sufficiently fast to permit its integration into a high-performance, production-quality virtual machine.

Item Type: Monograph (Technical report)
Uncontrolled keywords: garbage collection, synchronisation removal, static analysis, escape analysis, Java
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing > Systems Architecture Group
Depositing User: Mark Wheadon
Date Deposited: 24 Nov 2008 18:01
Last Modified: 06 Sep 2011 01:22
Resource URI: http://kar.kent.ac.uk/id/eprint/14106 (The current URI for this page, for reference purposes)
  • Depositors only (login required):