Project proposal: Shenandoah

Jon Masamitsu jon.masamitsu at
Fri Feb 27 21:28:18 UTC 2015


On 2/27/2015 10:59 AM, Roman Kennke wrote:
> Hello Jon,
> Shenandoah is developed and maintained by Red Hat, yes, but the
> intention is, and has always been, to integrate it into upstream
> Hotspot, if OpenJDK people think it's feasible. The first step in this
> direction is the creation of a Shenandoah project (this proposal) and we
> also want to move forward with the Shenandoah JEP 189.

I would also like to understand how an integration of Shenandoah into
Hotspot would affect my day-to-day work.   For example if I build Hotspot
will I skip the build of Shenandoah sources by default?


> Best regards,
> Roman
>> My impression of Shenandoah was that it would be a project
>> developed and maintained by Redhat and (I don't recall where
>> this last part of my recollection comes from) that it would be kept
>> separate from the OpenJDK hotspot sources.    Is that all
>> correct?
>> Jon
>> On 2/19/2015 10:42 AM, Roman Kennke wrote:
>>> I'd like to discuss the creation of the project Shenandoah with myself
>>> *and/or* Christine Flood as initial lead and the Hotspot group as
>>> sponsoring group.
>>> It's aim is to implement a new garbage collector that reduces GC pause
>>> times for applications that require really large heaps. Existing GCs
>>> show pause times of several 100ms up to several seconds on heaps >
>>> 100GB. That is because they need to stop all Java threads for compacting
>>> the heap. Shenandoah implements a new algorithm that allows to compact
>>> heap while only stopping the Java threads briefly for root scanning, and
>>> then evacuates the heap concurrently. This makes pause times unrelated
>>> to the heap size and only proportional to the root set size.
>>> Shenandoah has so far been developed as part of the IcedTea project:
>>> It has usable implementations for OpenJDK9 and OpenJDK8.
>>> Roman Kennke (me) is Principle Software Engineer at Red Hat, working on
>>> Shenandoah since two years now. Before this, he worked on Thermostat,
>>> and contributed to OpenJDK in several areas, most importantly the Zero
>>> and Shark ports, graphics, and ports to embedded platforms.
>>> Christine H. Flood is a prinicpal software engineer at Red Hat.  Most
>>> recently she's been working on Shenandoah, before that she worked at
>>> Oracle/Sun labs on the  Fortress programming language,  and on JVM
>>> Scalability. She's one of the inventors of both the parallel GC
>>> algorithm and G1.
>>> Initial committers and reviewers would be me and Christine.
>>> Could we both be project leads? Christine doesn't have an OpenJDK
>>> idendity yet...
>>> Best regards,
>>> Roman

More information about the discuss mailing list