JEP 291: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector

kirk at kodewerk.com kirk at kodewerk.com
Fri Nov 11 07:04:19 UTC 2016


> Thanks Eric,


These RFCs looks very good. The RFC on throughput barriers would be the highest priority item. My discussions with low latency people suggest that this will be a huge barrier to them migrating to 9. I would suggest that a parallel full is the least important on the list as I would hope we can find strategies to tune them out of systems so that one would only see them in (pseudo-) failure conditions that are often a result of “work queues” backing up and thus are outside the realm of GC tuning.

I look forward to testing them.

Kind regards,
Kirk

> 
> On Wed, Nov 9, 2016 at 7:26 AM, Erik Helin <erik.helin at oracle.com <mailto:erik.helin at oracle.com>> wrote:
> Hi Jeremy,
> 
> Thanks for taking notes. I have created separate email threads on hotspot-gc-dev at openjdk.java.net <mailto:hotspot-gc-dev at openjdk.java.net> for three enhancements to G1 that we think will make G1 be more like CMS for the use cases discussed during the meeting. The ideas are described in:
> - "RFC: Throughput barriers for G1"
> 
> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-November/019215.html <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-November/019215.html>
> - "RFC: Parallel full collection for G1"
> 
> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-November/019216.html <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-November/019216.html>
> - "RFC: Rebuilding remembered sets during concurrent mark"
> 
> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-November/019217.html <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-November/019217.html>
> 
> Please respond to these ideas in the respective email thread. We would be happy to help out with the design and integration if you and/or any external contributor would like too look into any (or all) of these ideas.
> 
> Thanks,
> Erik
> 
> On 10/21/2016 08:37 PM, Jeremy Manson wrote:
> Hi folks,
> 
> We had the face to face at JavaOne on 9/20.  I took notes, which are
> linked from the bug:
> 
> https://bugs.openjdk.java.net/browse/JDK-8142518 <https://bugs.openjdk.java.net/browse/JDK-8142518>
> <https://bugs.openjdk.java.net/browse/JDK-8142518 <https://bugs.openjdk.java.net/browse/JDK-8142518>>
> 
> (Sorry about the delay - anything that happens at a quarterly boundary
> takes me twice as long because of the Google planning cycle).
> 
> The current plan for followup includes Erik Helin figuring out what
> extracting CMS code from Hotspot will actually look like, and Paul Su
> providing a list of ideas for helping G1 close the performance gap.  See
> meeting notes for more followup actions.
> 
> We didn't specify a timeline for the next meeting.  Paul (cc'd) said he
> had to go do some due diligence about getting the list of ideas.  It
> would be great if he and / or Erik could talk about when a good time for
> the next sync would be.
> 
> Jeremy
> 
> On Sat, Aug 27, 2016 at 5:42 PM, Jeremy Manson <jeremymanson at google.com <mailto:jeremymanson at google.com>
> <mailto:jeremymanson at google.com <mailto:jeremymanson at google.com>>> wrote:
> 
>     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 at oracle.com <mailto:jon.masamitsu at oracle.com> <mailto:jon.masamitsu at oracle.com <mailto:jon.masamitsu at 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 <https://bugs.openjdk.java.net/browse/JDK-8142518>
>         <https://bugs.openjdk.java.net/browse/JDK-8142518 <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 at google.com <mailto:jeremymanson at google.com> <mailto:jeremymanson at google.com <mailto:jeremymanson at 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 at gmail.com <mailto:martijnverburg at gmail.com>
>             <mailto:martijnverburg at gmail.com <mailto:martijnverburg at 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 at oracle.com <mailto:jon.masamitsu at oracle.com>
>                 <mailto:jon.masamitsu at oracle.com <mailto:jon.masamitsu at 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 at gmail.com <mailto:ysr1729 at gmail.com> <mailto:ysr1729 at gmail.com <mailto:ysr1729 at gmail.com>>
>                     mark.reinhold at oracle.com <mailto:mark.reinhold at oracle.com>
>                     <mailto:mark.reinhold at oracle.com <mailto:mark.reinhold at oracle.com>>
> 
> 
> 
>                     On Mon, Jul 18, 2016 at 8:13 AM,
>                     kirk.pepperdine at gmail.com <mailto:kirk.pepperdine at gmail.com>
>                     <mailto:kirk.pepperdine at gmail.com <mailto:kirk.pepperdine at gmail.com>>
>                     <kirk.pepperdine at gmail.com <mailto:kirk.pepperdine at gmail.com>
>                     <mailto:kirk.pepperdine at gmail.com <mailto:kirk.pepperdine at gmail.com>>> wrote:
> 
>                         ok we can record if everyone is open to that.
> 
>                         On Jul 18, 2016, at 7:48 AM, Jeremy Manson
>                         <jeremymanson at google.com <mailto:jeremymanson at google.com>
>                         <mailto:jeremymanson at google.com <mailto:jeremymanson at 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 at gmail.com <mailto:kirk.pepperdine at gmail.com>
>                         <mailto:kirk.pepperdine at gmail.com <mailto:kirk.pepperdine at gmail.com>>
>                         <kirk.pepperdine at gmail.com <mailto:kirk.pepperdine at gmail.com>
>                         <mailto:kirk.pepperdine at gmail.com <mailto:kirk.pepperdine at 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 at gmail.com <mailto:richard.warburton at gmail.com>
>                             <mailto:richard.warburton at gmail.com <mailto:richard.warburton at 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 at kodewerk.com <mailto:kirk at kodewerk.com>
>                                 <mailto:kirk at kodewerk.com <mailto:kirk at kodewerk.com>>
>                                 aph at redhat.com <mailto:aph at redhat.com> <mailto:aph at redhat.com <mailto:aph at redhat.com>>
>                                 volker.simonis at gmail.com <mailto:volker.simonis at gmail.com>
>                                 <mailto:volker.simonis at gmail.com <mailto:volker.simonis at gmail.com>>
>                                 jon.masamitsu at oracle.com <mailto:jon.masamitsu at oracle.com>
>                                 <mailto:jon.masamitsu at oracle.com <mailto:jon.masamitsu at oracle.com>>
>                                 jeremymanson at google.com <mailto:jeremymanson at google.com>
>                                 <mailto:jeremymanson at google.com <mailto:jeremymanson at google.com>>
>                                 martijnverburg at gmail.com <mailto:martijnverburg at gmail.com>
>                                 <mailto:martijnverburg at gmail.com <mailto:martijnverburg at gmail.com>>
>                                 jwha at google.com <mailto:jwha at google.com>
>                                 <mailto:jwha at google.com <mailto:jwha at 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 <http://insightfullogic.com/>
>                               @RichardWarburto
>                             <http://twitter.com/richardwarburto <http://twitter.com/richardwarburto>>
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20161111/9105f81d/attachment.htm>


More information about the hotspot-gc-dev mailing list