JDK-8152438 : Threads may do significant work out of the non-shared overflow buffer
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2016-03-22
  • Updated: 2022-01-21
  • Resolved: 2016-06-22
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.
JDK 8 JDK 9
8u102Fixed 9 b127Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
Some task queue statistics measurements on BigRamTester (attached) indicate that particularly during mixed gcs a significant part of the gc threads operate out of the local overflow buffer, and in many cases also do so while the shared task queue is not completely full or even completely empty, disallowing other threads to steal and distribute work.

BigRamTester run options -Xlog:gc*=debug,gc+phases+task=trace,gc+task+stats=trace,gc+refine=info:x.log -Xms20G -Xmx20G BigRamTester on a 2x10x2 machine.

Look at the attached log file for the task queue stats, particularly the new columns snotfull (indicating that we popped from the overflow queue while the shared queue has not been full) and sempty (indicating that we popped from the overflow queue while shared queue has been empty).

Relevant patches attached.
Comments
URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/07109ac130cd User: amurillo Date: 2016-07-08 20:16:41 +0000
08-07-2016

URL: http://hg.openjdk.java.net/jdk9/hs/hotspot/rev/07109ac130cd User: tschatzl Date: 2016-06-22 09:42:13 +0000
22-06-2016

Review thread link: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-May/018147.html
14-06-2016

Thomas, can you put link to review thread? Thanks!
14-06-2016

Attached patch tries to refill the current queue from overflow queue if there is some space there first instead of directly processing the elements from the overflow queue.
10-05-2016

Bumping priority. Reports indicate that the attached change increases overall throughput by 200% on real-world huge systems.
10-05-2016

Making it P4 because I have no idea about the impact yet. For BigRamTester there does not seem to be a correlation between these numbers and e.g. termination attempts.
22-03-2016