JEP 189: Shenandoah: An Ultra-Low-Pause-Time Garbage Collector

Andrew Dinn adinn at redhat.com
Mon Jan 20 17:26:51 UTC 2014


On 20/01/14 17:04, Florian Weimer wrote:
> On 01/20/2014 03:32 PM, Andrew Dinn wrote:
>> On 20/01/14 14:05, Florian Weimer wrote:
>>> Does your pause time goal only include strictly-GC related pause
>>> times, or other causes for stop-the-world pauses (not all of
>>> which are related to object reachability)?
>> 
>> What other causes for stop-the-world pauses are there that are not 
>> strictly-GC related?
> 
> Off the top of my head (mostly, admittedly):
> 
> GetPrimitiveArrayCritical/ReleasePrimitiveArrayCritical critical 
> sections causing stalls (still somewhat GC-related)
> 
> finalizers and reference processing, in particular unmapping direct
> buffers
> 
> unbiasing biased locks
> 
> non-GC resource reclamation (e.g. object monitors)
> 
> java.lang.invoke.SwitchPoint invalidation
> 
> other deoptimizations and compilation-related activities

No, indeed, Shenandoah is not going to remove those overheads from any
app which currently incurs them. It's not going to turn your sandwich
into a banquet either. But it should be of enormous benefit for most
programs which require large heaps yet still need to respond to events
in a timely fashion.

>> I don't really see that the question needs answering. Clearly, if
>> any such pauses exist in the execution of a given on the JVM
>> independent of the action of the GC and are not to do with the
>> latter's operation then Shenandoah is not going to remove them. The
>> goal of Shenandoah can only be to remove pause times caused by GC.
> 
> At least some of the above are often lumped together with GC pause 
> times, so I think it's best to set appropriate expectations.

Ok, to any such lumpers: small print may apply.

regards,


Andrew Dinn
-----------
Principal Software Engineer
Red Hat UK Ltd
Registered in UK and Wales under Company Registration No. 3798903
Directors: Michael Cunningham (USA), Matt Parson (USA), Charlie Peters
(USA), Paul Hickey (Ireland)



More information about the hotspot-gc-dev mailing list