Parallelizing the full compaction of CMS

Volker Simonis volker.simonis at gmail.com
Wed Jun 3 09:32:35 UTC 2015


Hi Jeremy,

thanks for your answer. Maybe you misunderstood Ivan but it is definitely
his and our (i.e. SAP's) intention to make this part of the OpenJDK.

I can also fully understand the pains you have with integrating changes
into the HotSpot. We've gone through this painful process with our ppc64
port a year ago but we think it will finally pay off. After all you (i.e.
Google) used it as the base for your ppc64le port (Alexander Smundak
contributed most of the LE-specific changes).

We're facing the exactly same problems regarding the support of proprietary
changes in a downstream version of the OpenJDK. That was actually the main
reason why we started contributing to the OpenJDK. What we want to kindly
ask you is to make your changes and extensions more transparently visible
to the community if you intend to integrate them into the OpenJDK. If
Hiroshi had posted his changes directly to the hotspot mailing lists
instead of sending them privately to Jon I'm pretty sure we would have
picked them up. And maybe together we would have managed to push them
through (we have some reviewers as well :). After all, there are already
quite a lot of features in the OpenJDK which are supported and maintained
by the community (i.e. RedHat, IBM, SAP, ...) and not by Oracle.

I don't have much experience with other Open Source projects, but with
OpenJDK and especially HotSpot it's pretty pointless to try to contribute
something by writing mails like "..I've implemented this cool feature XXX.
If somebody is interested I can post more details..". You'll almost never
get any feedback to such kind of requests. You'll at least have to post a
complete buildabel and runnable patch against the head revision. I know
that's a lot of overhead and we're having this very same discussion if it
is worth doing it nearly every day for most of the features/additions we
are implementing. Nevertheless, I think it is worth doing it although it
sometimes may take years until you get your changes back in the version you
are using productively.

So coming back to Ivan's initial request, we would kindly ask you to just
publish your changes in their current form against your current version
(8u45 or whatsoever). We'll take a look at them an may invest some time and
effort (also jointly with you if desired) to forward port them to 9 and
propose them for integration into the head revision if that makes sense.
Thus that sound reasonable to you?

Thank you and best regards,
Volker


On Tue, Jun 2, 2015 at 5:00 PM, Jeremy Manson <jeremymanson at google.com>
wrote:

> We'd much rather it be part of OpenJDK, because it is large and fairly
> complicated, so that would save us time and energy forward porting it every
> year or so.  It's pretty large (for 8u45, it is a 2600 line change and
> touches 20 files), so it tends to be a lengthy and complicated forward
> port.  We would much rather spend that time doing something more
> interesting.
>
> Just posting an updated patch whenever we need to update it would be a
> little annoying (although not impossible).
>
> Hiroshi Yamauchi tried to offer it to (I think it was) Jon Masamitsu a few
> years ago, and Jon didn't know anyone with the bandwidth to review it.  (It
> was around the same time we contributed the parallel initial mark).  I
> believe that was when CMS was unowned for a while.  Perhaps there's a
> different story now?  Oracle volunteers?
>
> (Procedural: One problem is that Hotspot reviews have to go through
> someone at Oracle.  We had it written by an OpenJDK author and reviewed by
> a reviewer.  We've been using it in production for years without too many
> headaches (although we have yet to inflict^Wlaunch 8u45, which has the
> latest updates, widely).  I totally understand that Oracle folks are the
> ones who have to pay the price for a bad check-in, but it's a pretty big
> hurdle for us.)
>
> Jeremy
>
> On Tue, Jun 2, 2015 at 6:12 AM, Galkin, Ivan <ivan.galkin at sap.com> wrote:
>
>>  Hi,
>>
>>
>>
>> in the thread „JEP 248: Make G1 the Default Garbage Collector” [1] there
>> is an email from Jeremy Manson, who mentions the enhancements made by
>> Google to improve CMS.
>>
>> Especially the parallelizing of full compaction is a great improvement
>> and we at SAP see the strong demand of it.
>>
>>
>>
>> @Jeremy: Are these changes published somewhere? May we have insight into
>> the diffs you've made? We could collaborate in order to try to bring your
>> changes into OpenJDK.
>>
>>
>>
>> Kind regards and thank you in advance,
>>
>> Ivan
>>
>>
>>
>> [1]
>> http://mail.openjdk.java.net/pipermail/hotspot-dev/2015-June/018740.html
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150603/da3045f2/attachment.htm>


More information about the hotspot-gc-dev mailing list