JDK-8234336 : Improve G1 per-region predictions by discounting waste
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 14
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2019-11-18
  • Updated: 2019-11-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Blocks :  
Description
Currently (and particularly after JDK-8231579) assumes that eden regions are completely filled in its calculation of survival ratios.

Investigate the impact of this ratio calculation on the prediction by not assuming that eden regions are completely filled, but have various amounts of waste in them.

E.g. end-of-region fill-up waste, and potentially waste at the end of regions.

This results in the survival ratio to be way too low, particular for the last region which we sometimes (particularly in NUMA) end up filling early, thrashing the prediction for that region.

An example: Assume that the last region is only filled half, and for some reason the actual survival rate is 50%. So instead of updating the predictors with 50% survival ratio, the current value used for updating is 25%.

Another example would be waste at the end of TLAB, where the default sizing goal is 10% waste. Assuming again an actual survival rate of 50%, the value the current prediction is 45% (50% of 100-10%).
Comments
The example issue above, that the "youngest" region's survival ratio is unexpectedly low, can be noticed when printing survivor rates on e.g. specjvm2008.xml.validation (as I've been working with this in a bit more detail); this is my best guess on what is happening. I.e. the survivor ratios are kind-of bell-shaped, being low for the youngest region(s) (probably depending on the number of NUMA nodes and other issues), rises a bit for a few ages, and then more or less (with some variation) decreases with older ages. It may also be the application though.
19-11-2019