RFR: 8312116 GenShen: make instantaneous allocation rate triggers more timely [v2]

Kelvin Nilsen kdnilsen at openjdk.org
Mon Sep 25 01:42:27 UTC 2023


> When heuristics fail to trigger because an instantaneous "allocation spike" is not so large as to consume all available memory before GC completes, this assessment is based on an assumption that the allocation rate remains constant, and it ignores the time that will be lost due to the _interval between consecutive allocation spike measurements.
> 
> This PR watches for "acceleration" of allocation rates.  When acceleration of allocation is detected in 3 consecutive allocation spike measurements, it calculates a best-fit curve (assuming constant acceleration) and predicts the memory to be consumed during the time that spans both the next sample interval and the GC effort that follows it.  If the memory to be allocated according to anticipated acceleration of allocations during this time span exceeds what is available, we trigger immediately.

Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:

  Fine tune and fix the heuristics

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

Changes:
  - all: https://git.openjdk.org/shenandoah/pull/327/files
  - new: https://git.openjdk.org/shenandoah/pull/327/files/5050e39f..734ca370

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=shenandoah&pr=327&range=01
 - incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=327&range=00-01

  Stats: 315 lines in 3 files changed: 210 ins; 16 del; 89 mod
  Patch: https://git.openjdk.org/shenandoah/pull/327.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/327/head:pull/327

PR: https://git.openjdk.org/shenandoah/pull/327


More information about the shenandoah-dev mailing list