RFR: 8255984: Shenandoah: "adaptive" heuristic is prone to missing load spikes [v3]
github.com+71722661+earthling-amzn at openjdk.java.net
Tue Nov 17 19:36:06 UTC 2020
On Tue, 17 Nov 2020 18:13:47 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>>> @shipilev , what workload are you running? I'd like to run it as well.
>> SPECjbb2015 and SPECjvm2008, hacked^W adapted for newer JDKs.
>>> I'm reluctant to remove the headroom and penalty adjustments. They're an additional layer of safety and let the user provide information about the application that we wouldn't otherwise know. Perhaps we could externalize the penalty adjustments for headroom as command line arguments? If somebody wants to run closer to the edge, they could set the headroom and penalties to zero.
>> I think spike threshold already covers both parts. Does HyperAlloc perform worse if you remove both `AllocSpikeFactor` and GC/Degen penalties? If you are unsure, we can leave these as is. But the flipside is that we make heuristics hoard more free memory than it already does.
> I think we are nearing the integration. Please merge (don't rebase) from master to get GH actions updates. (In fact, I cannot see "Testing" section in your first comment -- that one is supposed to be added by bots. Do you have GH actions disabled?)
I don't have GH actions disabled, but I'll merge from master. I'm running more tests after all these changes (there was a regression when we changed from `os::javaTimeNanos` to `os::elapsedTime`).
More information about the hotspot-gc-dev