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

2016/07/25

Attendees *present

Background

http://openjdk.java.net/jeps/291

Goals for the Meeting

  1. Understand Oracle’s intentions concerning the CMS collector.
  2. Understand everyone else’s motivations for keeping / using the CMS collector.
  3. Understand parties’ levels of commitment to / openness to community maintenance and development.  Discuss and brainstorm what forms this could take, and concerns about it.
  4. Develop action items and roadmap for next meeting (possibly in August).

Action Items

  • Jeremy - schedule a followup meeting in about a month and invite the Shenandoah engineers.  The agenda for this meeting will be to 1) Andrew - understand the status of Shenandoah and 2) Jon - draft proposal for refactoring.
  • Jeremy - schedule an informal F2F at JVMLS to build the social cohesiveness of the team
  • Jon - put together an early draft proposal of the separation for the next meeting.  How much will be static?  How many build time vs. runtime flags? List classes of changes functionality-by-functionality not line-by-line.  Requirements for what you want and don’t want in the tree.  What do we need to get rid of?
  • Andrew - for the next meeting, get status from the Shenandoah engineers about where they are in the refactoring of the interfaces, if they think that things are in a good state and ready for others to take a look at it.

Summary

  • Partners are interested in having CMS continue to be supported, as there are scenarios (substantially increased memory and CPU cost) that may not meet customer’s needs.  Oracle will continue to provide support for CMS with JDK 9, but future JDKs are TBD.  Partners are interested in moving CMS to the open source community where we can continue to add enhancements.
  • Separation of CMS is the key short-term engineering goal.  It would be good to have simple, clean GC interfaces.  The team will look at the feasibility of leveraging what Shenandoah has done / planned.  
  • We need to figure out the effort and complexity of separating CMS and getting the ecosystem (workflow, tools) working for community development.
  • The developer workflow and tools look like they will work for community support.
  • We will communicate via the hotspot-gc-dev mailing list for now, until that no longer meets our needs.
  • Oracle does not consider CPU / memory cost to be a blocker for G1’s being the replacement for CMS.  They have ideas to improve it in the future, but it is not on their roadmap.
  • Partners are interested in providing binaries of future JDK releases with CMS available, as building OpenJDK can be an inhibitor

Notes

1. Understand parties’ levels of commitment to / openness to community maintenance and development.  Discuss and brainstorm what forms this could take, and concerns about it.

2. Understand everyone else’s motivations for keeping / using the CMS collector.

3. Understand parties’ levels of commitment to / openness to community maintenance and development.  Discuss and brainstorm what forms this could take, and concerns about it.

4. Develop action items and roadmap for next meeting (possibly in August).