Removing GC Synchronisation

Andy King
University of Kent at Canterbury

Synchronising and stopping threads in thread-intensive server applications in order to garbage collect incurs significant overhead. We demonstrate how static escape analysis techniques may be combined with novel GC architectures within a production JVM to allow threads to be collected without synchronisation, even in the presence of dynamic class loading.