[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-hotspot-gc-dev
Subject: Re: JEP 291: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector
From: Jeremy Manson <jeremymanson () google ! com>
Date: 2016-08-28 0:42:12
Message-ID: CAPYFHW1OX-3JJXVFfMAboBpCg2VR-j_8xRspHp+PVMZg83SokQ () mail ! gmail ! com
[Download RAW message or body]
Thanks, Jon.
If we are going to do it, I'd (selfishly) like to see it done earlier in
the JDK 10 time frame, so that we can start contributing our patches for it
for JDK 10 earlier, rather than later. But JDK 10 time frame is fine.
Assuming you are asking me about management issues: I just (Thursday) got
back from the vacation I mentioned, so I've only just spoken about it with
our management. Naturally, no immediate answer, but there's a lot of
interest, and we plan to have more conversations in the near term.
For a variety of reasons (most of which I've already articulated), I
strongly believe we will have to do *something*, and it will mostly be a
question of whether this is the right path. Since we have ~three years
before the issue becomes immediate, that gives us a bit of breathing room
to do the right thing. Other possibilities include spending the time until
JDK 10 making G1 do what we need, or figuring out another GC entirely (we'd
want to evaluate, e.g., Shenandoah).
(Since the G1 possibility is clearly of interest to you folks: We would
have to decide a) that it is technically feasible, and b) that you folks
were likely to take the patches. In addition to finding a path forward to
lowering the cost of the write barrier dramatically and dealing with the
memory footprint issues (not sure this is possible), we would also have to
reimplement, e.g., our parallel Full GC patch, as well as a number of other
changes we've made to CMS locally.)
I'd like what we end up doing to be something palatable to the community,
since CMS is obviously filling a very important role in the ecosystem that
won't get filled if it gets abandoned.
Jeremy
On Tue, Aug 23, 2016 at 9:23 PM, Jon Masamitsu <jon.masamitsu@oracle.com>
wrote:
> All,
>
> I've been working on the examples and we're been discussing (arguing)
> about them here. They are failing into at least the following
> classes
>
> - Use inheritance to specialize for CMS (specialize card table is
> envisioned as an example).
> - Use a GC Interface to request something different for CMS (different
> write
> barriers for example).
> - Compile code under macros
> Similar to INCLUDE_ALL_GCS
> Leaves calls to specialized CMS code visible in the shared code
> Involves some code refactoring
> - Move more code to the cms directory (ParNew for example)
> - Custom solutions which might use one or more of the above techniques.
> - Argument processing I don't know about yet.
>
> We're still arguing about the example so they're not here.
>
> As I've said Oracle would not drop support of CMS until at least
> jdk 10 so working on separating out the code would be work
> for the jdk 10 time frame. Do people have reasons to get that
> done earlier rather than later?
>
> Also is your management's support for spending engineering time
> on this effort a slam-dunk? Or a qualified maybe? I'm trying to
> get a feel for how real this CMS project is.
>
> Jon
>
>
>
> On 8/1/2016 1:49 PM, Jeremy Manson wrote:
>
> For those following along at home, the meeting happened last week. We
> took notes, which are linked from the bug:
>
> https://bugs.openjdk.java.net/browse/JDK-8142518
>
> The current plan for followup is to set up a meeting for the end of
> August, and then a f2f during JavaOne.
>
> Jeremy
>
> On Thu, Jul 21, 2016 at 9:46 AM, Jeremy Manson <jeremymanson@google.com>
> wrote:
>
>> I was drafting an agenda. My expectation is that the meeting will go
>> something like this:
>>
>> Introductions
>>
>> Discussion of motivations for JEP 291 (Jon M)
>>
>> Discussions of concerns about JEP 291 (roundtable)
>>
>> Discussion / Brainstorming about potential ways forward, as well as an
>> understanding of what level of commitment organizations are willing to make.
>>
>> Discussion of action items and followup.
>>
>> Jeremy
>>
>>
>> On Thu, Jul 21, 2016 at 7:39 AM, Martijn Verburg <
>> martijnverburg@gmail.com> wrote:
>>
>>> Hi Jon,
>>>
>>> For me it's to see if there are enough folks who are willing *and*
>>> capable (to be blunt, it will need the backing of large companies) of
>>> maintaining CMS as a collector going forwards (it's important to
>>> several of our customers). If that's a yes then I'd hope to have a
>>> technical discussion around the options of how we could achieve that
>>> without causing a major headache for the Oracle GC engineers.
>>>
>>>
>>> Cheers,
>>> Martijn
>>>
>>> On 20 July 2016 at 23:50, Jon Masamitsu <jon.masamitsu@oracle.com>
>>> wrote:
>>>
>>>> What are peoples expectations for this meeting?
>>>>
>>>> Jon
>>>>
>>>> On 07/18/2016 10:16 AM, Jeremy Manson wrote:
>>>>
>>>> Presumably, everyone will be happy with meeting notes rather than an
>>>> actual recording.
>>>>
>>>> Otherwise, I'll add:
>>>>
>>>> ysr1729@gmail.com
>>>> mark.reinhold@oracle.com
>>>>
>>>>
>>>>
>>>> On Mon, Jul 18, 2016 at 8:13 AM, kirk.pepperdine@gmail.com <
>>>> kirk.pepperdine@gmail.com> wrote:
>>>>
>>>>> ok we can record if everyone is open to that.
>>>>>
>>>>> On Jul 18, 2016, at 7:48 AM, Jeremy Manson <jeremymanson@google.com>
>>>>> wrote:
>>>>>
>>>>> Richard - I'll bring someone who can take readable notes. :)
>>>>>
>>>>> Jeremy
>>>>>
>>>>> On Sat, Jul 16, 2016 at 5:07 AM, kirk.pepperdine@gmail.com <
>>>>> kirk.pepperdine@gmail.com> wrote:
>>>>>
>>>>>> Hi Richard,
>>>>>>
>>>>>> I think it's in everyone's interest to keep this out in the open.
>>>>>>
>>>>>> Kind regards,
>>>>>> Kirk
>>>>>>
>>>>>> On Jul 16, 2016, at 1:34 AM, Richard Warburton <
>>>>>> richard.warburton@gmail.com> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Sounds as if the consensus is a telephone / video conference in the
>>>>>>> near term, and then a F2F during / close to JavaOne.
>>>>>>>
>>>>>>> People who want to be invited include:
>>>>>>>
>>>>>>> kirk@kodewerk.com
>>>>>>> aph@redhat.com
>>>>>>> volker.simonis@gmail.com
>>>>>>> jon.masamitsu@oracle.com
>>>>>>> jeremymanson@google.com
>>>>>>> martijnverburg@gmail.com
>>>>>>> jwha@google.com
>>>>>>>
>>>>>>> Did I miss anyone? We can take date / time planning and logistics
>>>>>>> off-list.
>>>>>>>
>>>>>>
>>>>>> Given that this change affects a lot of organisations and people in
>>>>>> the wider Java community I think it would be really appreciated that a
>>>>>> brief summary of the discussion be published somewhere in public. Maybe
>>>>>> this mailing list?
>>>>>>
>>>>>> regards,
>>>>>>
>>>>>> Richard Warburton
>>>>>>
>>>>>> http://insightfullogic.com
>>>>>> @RichardWarburto <http://twitter.com/richardwarburto>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>
>
[Attachment #3 (text/html)]
<div dir="ltr">Thanks, Jon.<div><br></div><div>If we are going to do it, I'd \
(selfishly) like to see it done earlier in the JDK 10 time frame, so that we can \
start contributing our patches for it for JDK 10 earlier, rather than later. But \
JDK 10 time frame is fine.</div><div><br></div><div>Assuming you are asking me about \
management issues: I just (Thursday) got back from the vacation I mentioned, so \
I've only just spoken about it with our management. Naturally, no immediate \
answer, but there's a lot of interest, and we plan to have more conversations in \
the near term. </div><div><br></div><div>For a variety of reasons (most of which \
I've already articulated), I strongly believe we will have to do *something*, and \
it will mostly be a question of whether this is the right path. Since we have \
~three years before the issue becomes immediate, that gives us a bit of breathing \
room to do the right thing. Other possibilities include spending the time until JDK \
10 making G1 do what we need, or figuring out another GC entirely (we'd want to \
evaluate, e.g., Shenandoah). </div><div><br></div><div>(Since the G1 possibility is \
clearly of interest to you folks: We would have to decide a) that it is technically \
feasible, and b) that you folks were likely to take the patches. In addition to \
finding a path forward to lowering the cost of the write barrier dramatically and \
dealing with the memory footprint issues (not sure this is possible), we would also \
have to reimplement, e.g., our parallel Full GC patch, as well as a number of other \
changes we've made to CMS locally.)</div><div><br></div><div>I'd like what we \
end up doing to be something palatable to the community, since CMS is obviously \
filling a very important role in the ecosystem that won't get filled if it gets \
abandoned.<br></div><div><br></div><div>Jeremy</div></div><div \
class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 23, 2016 at 9:23 PM, Jon \
Masamitsu <span dir="ltr"><<a href="mailto:jon.masamitsu@oracle.com" \
target="_blank">jon.masamitsu@oracle.com</a>></span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
All,<br>
<br>
I've been working on the examples and we're been discussing
(arguing)<br>
about them here. They are failing into at least the following<br>
classes<br>
<br>
- Use inheritance to specialize for CMS (specialize card table is<br>
envisioned as an example).<br>
- Use a GC Interface to request something different for CMS
(different write<br>
barriers for example).<br>
- Compile code under macros<br>
Similar to INCLUDE_ALL_GCS<br>
Leaves calls to specialized CMS code visible in the shared code<br>
Involves some code refactoring<br>
- Move more code to the cms directory (ParNew for example)<br>
- Custom solutions which might use one or more of the above
techniques.<br>
- Argument processing I don't know about yet.<br>
<br>
We're still arguing about the example so they're not here.<br>
<br>
As I've said Oracle would not drop support of CMS until at least<br>
jdk 10 so working on separating out the code would be work<br>
for the jdk 10 time frame. Do people have reasons to get that<br>
done earlier rather than later?<br>
<br>
Also is your management's support for spending engineering time<br>
on this effort a slam-dunk? Or a qualified maybe? I'm trying to<br>
get a feel for how real this CMS project is.<span class="HOEnZb"><font \
color="#888888"><br> <br>
Jon</font></span><div><div class="h5"><br>
<br>
<br>
<div class="m_-8151589285105317466moz-cite-prefix">On 8/1/2016 1:49 PM, Jeremy \
Manson wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">For those following along at home, the meeting
happened last week. We took notes, which are linked from the
bug:
<div><br>
</div>
<div><a href="https://bugs.openjdk.java.net/browse/JDK-8142518" \
target="_blank">https://bugs.openjdk.java.net/<wbr>browse/JDK-8142518</a><br> </div>
<div><br>
</div>
<div>The current plan for followup is to set up a meeting for
the end of August, and then a f2f during JavaOne.</div>
<div><br>
</div>
<div>Jeremy</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Jul 21, 2016 at 9:46 AM, Jeremy
Manson <span dir="ltr"><<a href="mailto:jeremymanson@google.com" \
target="_blank">jeremymanson@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex"> <div dir="ltr">I was drafting an agenda. My \
expectation is that the meeting will go something like this:
<div><br>
<div>
<div>Introductions </div>
<div><br>
</div>
<div>Discussion of motivations for JEP 291 (Jon M)</div>
<div><br>
</div>
<div>Discussions of concerns about JEP 291
(roundtable)</div>
<div><br>
</div>
<div>Discussion / Brainstorming about potential ways
forward, as well as an understanding of what level
of commitment organizations are willing to make.</div>
</div>
<div><br>
</div>
<div>Discussion of action items and followup.</div>
<span class="m_-8151589285105317466HOEnZb"><font color="#888888">
<div><br>
</div>
<div>Jeremy</div>
<div><br>
</div>
</font></span></div>
</div>
<div class="m_-8151589285105317466HOEnZb">
<div class="m_-8151589285105317466h5">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Jul 21, 2016 at 7:39
AM, Martijn Verburg <span dir="ltr"><<a \
href="mailto:martijnverburg@gmail.com" \
target="_blank">martijnverburg@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"> <div dir="ltr">
<div>Hi Jon,</div>
<div><br>
</div>
<div>For me it's to see if there are enough
folks who are willing *and* capable (to be
blunt, it will need the backing of large
companies) of maintaining <span \
id="m_-8151589285105317466m_3054826751780768038m_4881629336346031025:3ob.1">CMS</span>
as a collector going forwards (it's important
to several of our customers). If that's a yes
then I'd hope to have a technical discussion
around the options of how we could achieve
that without causing a major headache for the
Oracle <span \
id="m_-8151589285105317466m_3054826751780768038m_4881629336346031025:3ob.2">GC</span> \
engineers.<br> </div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div \
class="m_-8151589285105317466m_3054826751780768038m_4881629336346031025gmail_signature" \
data-smartmail="gmail_signature">Cheers,<br> Martijn</div>
</div>
<div>
<div class="m_-8151589285105317466m_3054826751780768038h5"> \
<br> <div class="gmail_quote">On 20 July 2016 at
23:50, Jon Masamitsu <span dir="ltr"><<a \
href="mailto:jon.masamitsu@oracle.com" \
target="_blank">jon.masamitsu@oracle.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"> <div bgcolor="#FFFFFF" \
text="#000000"> What are peoples expectations for this
meeting?<br>
<br>
Jon<br>
<br>
<div>On 07/18/2016 10:16 AM, Jeremy
Manson wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr"><span \
style="color:rgb(85,85,85);font-size:12.8px;white-space:nowrap">Presumably, everyone \
will be happy with meeting notes rather than an
actual recording.</span>
<div><br>
</div>
<div><span \
style="color:rgb(85,85,85);font-size:12.8px;white-space:nowrap"></span>Otherwise, \
I'll add:<br> <div><br>
<a href="mailto:ysr1729@gmail.com" \
target="_blank">ysr1729@gmail.com</a><br>
<a href="mailto:mark.reinhold@oracle.com" \
target="_blank">mark.reinhold@oracle.com</a> <div>
<table style="font-size:12.8px" \
cellpadding="0"> <tbody>
<tr>
<td style="width:466px"><br>
</td>
</tr>
</tbody>
</table>
</div>
<div><br>
</div>
</div>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon,
Jul 18, 2016 at 8:13 AM, <a \
href="mailto:kirk.pepperdine@gmail.com" \
target="_blank">kirk.pepperdine@gmail.com</a>
<span dir="ltr"><<a \
href="mailto:kirk.pepperdine@gmail.com" \
target="_blank">kirk.pepperdine@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" \
style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">
<div style="word-wrap:break-word">ok
we can record if everyone is
open to that.
<div>
<div>
<div><br>
<div>
<blockquote type="cite">
<div>On Jul 18,
2016, at 7:48
AM, Jeremy
Manson <<a \
href="mailto:jeremymanson@google.com" target="_blank">jeremymanson@google.com</a>> \
wrote:</div> <br>
<div>
<div dir="ltr">Richard
- I'll bring
someone who
can take
readable
notes. :)
<div><br>
</div>
<div>Jeremy</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Sat, Jul 16,
2016 at 5:07
AM, <a \
href="mailto:kirk.pepperdine@gmail.com" target="_blank">kirk.pepperdine@gmail.com</a> \
<span dir="ltr"><<a href="mailto:kirk.pepperdine@gmail.com" \
target="_blank">kirk.pepperdine@gmail.com</a>></span> wrote:<br>
<blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">
<div \
style="word-wrap:break-word">Hi Richard,
<div><br>
</div>
<div>I think
it's in
everyone's
interest to
keep this out
in the open.</div>
<div><br>
</div>
<div>Kind
regards,</div>
<div>Kirk</div>
<div>
<div>
<div><br>
<div>
<blockquote type="cite">
<div>On Jul
16, 2016, at
1:34 AM,
Richard
Warburton <<a \
href="mailto:richard.warburton@gmail.com" \
target="_blank">richard.warburton@gmail.com</a>> wrote:</div>
<br>
<div>
<div dir="ltr">Hi,<br>
<div \
class="gmail_extra"><br>
<div class="gmail_quote">
<blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">
<div dir="ltr">Sounds
as if the
consensus is a
telephone /
video
conference in
the near term,
and then a F2F
during / close
to JavaOne.
<div><br>
</div>
<div>People
who want to be
invited
include:</div>
<div><br>
</div>
<a \
href="mailto:kirk@kodewerk.com" \
target="_blank">kirk@kodewerk.com</a><br>
<a \
href="mailto:aph@redhat.com" target="_blank">aph@redhat.com</a><br>
<a \
href="mailto:volker.simonis@gmail.com" \
target="_blank">volker.simonis@gmail.com</a><br>
<a \
href="mailto:jon.masamitsu@oracle.com" \
target="_blank">jon.masamitsu@oracle.com</a><br>
<a \
href="mailto:jeremymanson@google.com" \
target="_blank">jeremymanson@google.com</a><br>
<a \
href="mailto:martijnverburg@gmail.com" \
target="_blank">martijnverburg@gmail.com</a>
<div><a \
href="mailto:jwha@google.com" target="_blank">jwha@google.com</a></div> <div><br>
</div>
<div>Did I
miss anyone?
We can take
date / time
planning and
logistics
off-list.</div>
</div>
</blockquote>
</div>
<div \
class="gmail_extra"><br> </div>
<div \
class="gmail_extra">Given that this
change affects
a lot of
organisations
and people in
the wider Java
community I
think it would
be really
appreciated
that a brief
summary of the
discussion be
published
somewhere in
public. Maybe
this mailing
list?</div>
<br>
<div \
data-smartmail="gmail_signature"> <div dir="ltr">
<div>
<div>regards,<br>
<br>
</div>
Richard
Warburton<br>
<br>
</div>
<div> <a \
href="http://insightfullogic.com" target="_blank">http://insightfullogic.com</a><br> \
</div>
<div> <a \
href="http://twitter.com/richardwarburto" target="_blank">@RichardWarburto</a><br> \
</div> </div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic