[jdk17u-dev] RFR: 8310031: Parallel: Implement better work distribution for large object arrays in old gen [v3]

Richard Reingruber rrich at openjdk.org
Thu Mar 7 09:27:23 UTC 2024


> I would like to backport this as a performance bug fix.
> 
> We received bug reports from users which have some young pauses of 30s, and even up to 50s (normally <1s) running large Gerrit instances (200GB heap, 100 gc threads).
> We have tried to tune ParallelGC. Reducing the number of gc threads helps to make the pause time spikes smaller but this makes average pause times longer.
> 
> This pr depends on
> https://github.com/openjdk/jdk17u-dev/pull/2226
> https://github.com/openjdk/jdk17u-dev/pull/2227
> https://github.com/openjdk/jdk17u-dev/pull/2228
> 
> All hunks except the following 2 applied after a trivial preparation change.
> The 1st hunk of psCardTable.hpp did not apply because of different context. Resolved by inserting the new lines.
> The 2nd hunk of psScavenge.cpp did not apply because of different context. Resolved by inserting the new lines.
> Finally a few trivial changes are required (renaming and the like).
> 
> Risk is medium. We've done the downstream backport already many weeks ago.
> 
> I've tested on x86_64:
> jdk:tier1       TEST_VM_OPTS="-XX:+UseParallelGC"
> langtools:tier1 TEST_VM_OPTS="-XX:+UseParallelGC"
> 
> Local CI Testing:
> The fix passed our CI testing (e.g. 2024-02-25): JTReg tests: tier1-4 of hotspot and jdk. All of Langtools and jaxp. JCK, SPECjvm2008, SPECjbb2015, Renaissance Suite, and SAP specific tests (also with ParallelGC).
> Testing was done with fastdebug builds on the main platforms and also on Linux/PPC64le.

Richard Reingruber has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains ten commits:

 - Merge branch 'master' into 8310031_17u_backport
 - Fix build
 - 8310031: Parallel: Implement better work distribution for large object arrays in old gen
   
   Co-authored-by: Albert Mingkun Yang <ayang at openjdk.org>
   Reviewed-by: tschatzl, ayang
 - Prepare
 - Fix build
 - 8282094: [REDO] Parallel: Refactor PSCardTable::scavenge_contents_parallel
   
   Reviewed-by: iwalulya, tschatzl
 - 8278893: Parallel: Remove GCWorkerDelayMillis
   
   Reviewed-by: ayang, mli
 - Fix build
 - 8280030: [REDO] Parallel: More precise boundary in ObjectStartArray::object_starts_in_range
   
   Reviewed-by: sjohanss, tschatzl

-------------

Changes: https://git.openjdk.org/jdk17u-dev/pull/2230/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2230&range=02
  Stats: 4341 lines in 168 files changed: 360 ins; 3317 del; 664 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/2230.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/2230/head:pull/2230

PR: https://git.openjdk.org/jdk17u-dev/pull/2230


More information about the jdk-updates-dev mailing list