-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
-Xmint
/-Xmaxt
and -Xminf
/-Xmaxf
modification for balanced GC
#835
Comments
The doc changes for this issue could be fairly verbose. I'd love to get some ideas as to how to communicate these ideas both succinctly, and completely. There is lots to unpack here, and making sure users reading the docs understand what is happening (especially why heap resize might not occur if one criteria is not being respected) with a quick read, would certainly be the goal |
I guess doc changes have not happened yet for this issue? I see there's a blog post at https://blog.openj9.org/2021/09/24/balanced-gc-performance-improvements-eden-heap-sizing-improvements/, which would be good background/reference/something to point doc readers at. |
@amicic @dmitripivkine can this be closed? |
I created #934 to cover missing docs (yet to be populated). |
The ID team will take a look to see what further doc updates are required. |
#835 (comment)
Thanks. |
Cedric is no longer working on this project, you need to ask @amicic |
#835 (comment) Under Changes for both sets of options, 2nd point, "... (rather than simply global collection as stated in the docs)", in which topic exactly has it been stated thus? I tried searching for the same. Any pointers will be helpful to make the changes in the correct place. |
eclipse-openj9#835 -Xmint/-Xmaxt, -Xminf/-Xmaxf, and -Xgcpolicy topics modified to reflect the changes applicable for the balanced GC policy. Signed-off-by: Sreekala Gopakumar sreekala.gopakumar@ibm.com
@amicic - Basic changes done in the related topics. Content pending clarification (as stated in #835 (comment)) not updated. What's new in version 0.30.0 topic tidied up (does not require a review since no content was changed). |
I'm not completely sure what docs this was referring to when talking about global GC points, but could be from here, when talking about gencon: https://www.eclipse.org/openj9/docs/xminf/
Yes, your understanding of the core change was correct. Both criteria were active before but there was a conditional dependency. See this:
Now both criteria are combined/blended with equal weight/contribution to the final decision (at the same time - if you want to say so, it's ok, too) All GC policies now blend those 2 criteria. Although how Balanced does it vs others is different, since for others, there is still more weight/priority on occupancy criteria - but is not important to mention. Expansion and contraction section needs to have full explanation. Descriptions of 2 set of command line options have to be updated too, since they don't seem to mention that those options affect Balanced at all, but the exact relationship between the 2 sets of options does not to be repeated there. It just needs to be stated that relationship exists, that final decision about resizing is a combination and then refer to more detail documentation in Expansion and contraction section. Not sure I understand your last concern/question, but I'll say this: meeting only one of the conditions (only minf/maxf or only mint/maxt) may not necessarily lead to heap resizing. True for all GC policies now, but again, exact way how they are combined is probably out of scope of this documentation. |
eclipse-openj9#835 -Xmint/-Xmaxt, -Xminf/-Xmaxf, and Heap allocation topics modified to reflect the changes applicable for the balanced GC policy. Included the change specified in eclipse-openj9#833 in xgcpolicy topic. Signed-off-by: Sreekala Gopakumar sreekala.gopakumar@ibm.com
eclipse-openj9#835 Signed-off-by: Sreekala Gopakumar sreekala.gopakumar@ibm.com
eclipse-openj9#835 Signed-off-by: Sreekala Gopakumar sreekala.gopakumar@ibm.com
eclipse-openj9#835 -Xmint/-Xmaxt, -Xminf/-Xmaxf, Heap allocation and -Xgcpolicy topics modified to reflect the changes applicable for the balanced GC policy. Included the change specified in eclipse-openj9#833 in xgcpolicy topic. Signed-off-by: Sreekala Gopakumar sreekala.gopakumar@ibm.com
Issue or pull request number:
depends on eclipse-openj9/openj9#12043
Overview:
Since the changes for
-Xmint
/-Xmaxt
and-Xminf
/-Xmaxf
are semantically very similar, I have decided to include all notes/requested changes in this single issue. All of these changes only apply for the Balanced GC policy.Changes for both sets of options
-Xmint
/-Xmaxt
and/or-Xminf
/-Xmaxf
criteria are not being met and this results in a heap resize, then the heap resize that occurs only happens on non-eden heap (similar to how these options apply to tenure for gencon)-Xmint
/-Xmaxt
and-Xminf
/-Xmaxf
compared to the appropriate proportion of time spent in GC, and free heap respectively.-Xmint
/-Xmaxt
and/or-Xminf
/-Xmaxf
criteria are not being met, there is no guarantee that a heap resize occurs. The heap sizing logic is (in essence) looking at 2 things:1. if % of time in GC pauses is between
-Xmint
/-Xmaxt
. If it's too high, expand, if it's too low, contract2. if % of free heap is between
-Xminf
/-Xmaxf
. If it's too high(too much free), contract, if too low, expand.Since these 2 criteria may be providing completely opposite recommendations (ex, lots of free memory, but high % of time in GC) causing oscillations in heap size, the balanced GC heap sizing logic is finding a balance between these 2 criteria
Changes specific to
-Xmint
/-Xmaxt
-Xmint
and-Xmaxt
defaults for balanced GC are now2%
and5%
respectively. For this option, the values (-Xmint
/-Xmaxt
) are compared with % of time that GMP and global GC are active, and DOES NOT include PGC pauses (local GC operations, which are collecting eden regions of the heap).Changes specific to
Xminf
/-Xmaxf
Xminf
/-Xmaxf
purposes.Release target:
Eclipse OpenJ9 0.30.0
Applies to the following JDK versions:
all
Applies to the following platforms:
all
For new command line options:
existing
-Xmint
/-Xmaxt
and-Xminf
/-Xmaxf
optionsThe text was updated successfully, but these errors were encountered: