Project proposal: Shenandoah

Mikael Vidstedt mikael.vidstedt at
Mon Mar 30 21:21:58 UTC 2015


Having looked at your proposal in some detail, I have no reservations 
about it being an OpenJDK Project.

We are working on resolving the HotSpot Group Lead question and should 
soon be able to have the HotSpot Group sponsor the Project, allowing you 
to proceed to the next step in Project creation.

As Jon said, a potential contribution of a new GC would be entirely new 
territory for us, so I can't recommend a specific course of action with 
respect to your JEP and its potential future integration until you have 
had some time to pursue your Project under the OpenJDK umbrella, and 
others have had a chance to evaluate it.

My overriding concern is about the maintainability of the HotSpot code 
base and the potential increased maintenance burden that could arise 
from integration of a new GC. That's the part I have serious 
reservations about, and while I understand that you're not looking to 
integrate your code into HotSpot just yet, I do want to register them to 
make sure that when the time comes they are given their due consideration.


On 2015-02-19 10:42, 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