ZDirector::one_in_1000 right-tailed vs two-tailed value

Per Liden per.liden at oracle.com
Mon Jun 14 09:43:44 UTC 2021


On 6/11/21 5:32 PM, Chris Thunes wrote:
> Apologies if this is the wrong place to direct this question.

This is the right place.

> I noticed that the ZDirector::one_in_1000 constant
> (https://github.com/openjdk/zgc/blob/master/src/hotspot/share/gc/z/zDirector.cpp#L33)
> seems to use a sigma value corresponding to a two-tailed test. Would
> the right-tailed value (3.090232) make more sense in this case, given
> that it is only high allocation rates and GC durations which would be
> of concern for the allocation rate rule?

You are correct that we're only really interested in one of the tails. 
At the same time it's not important that it exactly matches 1/1000 (i.e. 
that the variable could just as well have been called "sigma", 
"one_in_2000" or something). The sigma we use has just shown to work 
well in practice.

One can also argue whether the data is normally distributed in the first 
place (given that applications can shift phases, etc), but this model 
has shown to be a fairly good approximation.

/Per


More information about the zgc-dev mailing list