RFC: Epsilon GC JEP

Micha Berger micha at aishdas.org
Fri Dec 15 17:01:15 UTC 2017

On Fri, Dec 15, 2017 at 09:29:52AM +0100, Thomas Schatzl wrote:
: I strongly recommend comparing to serial/parallel gc with a huge eden
: and small survivor/small old gen is likely to have the same performance
: with the following advantages:

But it still has some jitter in throughput time. I happen to work in a
space where low latency is a premium, but the standard deviation pf the
latency is also of value. We're willing to give up some of the mean and
median performance in order to have a better six-sigma and maximum values.

: The drawback is that you loose some heap space, which can be close to
: zero if you size your generations correctly, and some memory due to
: side data structures - they are minimal particularly in Serial.

Memory is cheap nowadays; I wouldn't consider this too terrible of a
drawback. If it weren't for the issue I raised above.

On Fri, Dec 15, 2017 at 11:00:30AM +0100, Aleksey Shipilev wrote:
: For example, Shenandoah with "passive" heuristics (which is a diagnostic mode, but might be
: interesting anyway) would disable concurrent phases, and rely only on Full GC to reclaim memory. In
: return, it would not have any barriers enabled (including inter-generational ones that
: serial/parallel would enable being unconditionally generational), and would not do GC until the very
: last moment or until user asks for it with System.gc()....

In practice my firm is leaning toward Azul Zing. However, we're not getting
the performance numbers they boast, even with Azul's assistance with tuning.

So I was told to go explore Shanandoah and anything else I can find in
this space. Which is why I found this conversation to begin with.

But in any case, I believe my comment was misplaced, because I agree
with what Andrew Haley wrote on Fri, Dec 15, 2017 at 08:38:45AM +0000:
: OK, but that is not one of the goals of Epsilon.  It's a reasonable idea,
: but it's another project.

Yeah, for what I want I would have to propose Project Zeta.

Which would have to start by determining which GC method works best
with "cooperative GC" (trying to play on "cooperative multitasking".


Micha Berger             You cannot propel yourself forward
micha at aishdas.org        by patting yourself on the back.
http://www.aishdas.org                   -Anonymous
Fax: (270) 514-1507

More information about the hotspot-gc-dev mailing list