Present: Jungwoo Ha (Google), Erik Helin (Oracle), Jeremy Manson (Google), Jon Masamitsu (Oracle), Kirk Pepperdine (jClarity), Ramki Ramakrishnan (Twitter), Chuck Rasbold (Google), Volker Simonis (SAP), Paul Su (Oracle)
(Pardon the sparsity of the notes this time - last time, I brought professional note-taking help!)
Biggest takeaways:
Action items:
Jon: Is retiring. Sad for us, happy for him.
Needs from various partners WRT support:
Volker: We need to support as early as Java 1.4, so it helps for other people to be working on it.
Kirk: The trading community would not go with the additional cost from write barriers.
Volker: Only makes sense to have CMS in mainline - otherwise it won’t work.
Testing:
Volker / Ramki: We can do this without having to run JPRT.
Jeremy: Need to pursue CI/CT and pursue synchronizing frequently with the community.
CMS refactoring / removal:
Jungwoo: Most of the changes that need to happen are in pretty well factored code. Maybe 10 places that we have to add macros.
Paul: No plans to remove Parallel, Serial collectors.
Erik: Unstated assumptions about CMS peppered throughout the code. Need to work to identify those places and factor them out better.
Timeline: No known timeline for JDK 10.
Why CMS and not G1?
Typical use cases for CMS: Large YGs, full GCs take down the service.
Jon: Would community members write a special-purpose G1 for their uses?
Ramki: Anything we fixed would be beneficial for the community (shorter pauses, lower CPU consumption).
Erik: Twitter, Google should think about how we could fix G1.
Back to testing:
Erik: Also, what testing is required? Should we test OS X or Solaris?
Volker: Platform-independence might matter less for GC than for JIT / interpreter. Would be easier if we could get JPRT public facing. Volker wants to talk with TPTB about JPRT.
Ramki: What are the issues around JPRT?
Paul: Mostly prioritization.
Volker: There are some issues around licensing.
Ramki: Would be great if JPRT were available as a service.
Erik: Most of the tests are open. Getting a replica of Oracle’s CT platform isn’t too much of an issue - the information is public. The tools are in place.
Jeremy: If we were working at head, then we would be pushing against JDK 10.
Should development focus on G1?
Paul: Are we interested in fixing G1?
Jeremy: Potentially, if there are the right ideas, and we had the ability to push. Paul: TODO: Provide information about potential G1 improvements.
Jon: Testing iCMS was expensive. If a G1 improvement looked like a separate collector, that would be expensive.
Oracle: Let’s assume that we can do the appropriate testing / SQE.
Erik: If G1 is practical, can we get help in refactoring?
Volker: Potentially. Testing is complicated.
Erik: Shared code needs to be sponsored.
Jeremy: Will you be able to take our patches if we work on G1?
Erik: Yes.
Community Needs:
Kirk: Are Oracle’s interests going to dominate? This should be more community driven.
Oracle: Just an issue of the amount of resources we have to contribute.
Erik: Do people generally have the same problems WRT write barriers and rset costs?
Ramki / Jeremy: Yes
Kirk: Generally, people aren’t going to want to use deprecated CMS in Java 9, so this is imminent.
Jeremy: There’s the chance that we can work on both CMS and G1.
All: The blocker for a really vibrant community around G1 is JPRT test availability.