RFR: 8255984: Shenandoah: "adaptive" heuristic is prone to missing load spikes [v7]

earthling-amzn github.com+71722661+earthling-amzn at openjdk.java.net
Fri Nov 20 23:30:23 UTC 2020


> This change adds a "reactive" heuristic for triggering concurrent GC cycles.
> 
> The reactive heuristic maintains a margin of error and an allocation spike detection mechanism to trigger cycles somewhat more aggressively than the 'adaptive' heuristic. This heuristic 'reacts' to the outcome of GC cycles by adjusting the sensitivity of the triggers.
> 
> JBS ticket is here: https://bugs.openjdk.java.net/browse/JDK-8255984
> 
> The "adaptive" heuristic remains the default.
> 
> Steps to reproduce and test will follow shortly (there are no new jtreg test failures for Shenandoah with this change).

earthling-amzn has updated the pull request incrementally with two additional commits since the last revision:

 - Do not re-sample allocation rate with higher frequency
   
   This causes too many false positives and triggers unnecessary cycles.
 - Sample allocation rate even if cumulative bytes allocated hasn't changed
   
   Without this, the average allocation rate will be much higher than it should be.

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1099/files
  - new: https://git.openjdk.java.net/jdk/pull/1099/files/68ba6285..8b58ec85

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1099&range=06
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1099&range=05-06

  Stats: 12 lines in 1 file changed: 1 ins; 0 del; 11 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1099.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1099/head:pull/1099

PR: https://git.openjdk.java.net/jdk/pull/1099


More information about the hotspot-gc-dev mailing list