-
Notifications
You must be signed in to change notification settings - Fork 729
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
Enable SCC disclaiming and tweak GC DNSS for InstantOn #20568
Conversation
runtime/gc_modron_startup/mminit.cpp
Outdated
} | ||
} | ||
#endif /* defined(J9VM_OPT_CRIU_SUPPORT) */ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is somewhat an ok place to deal with this, but since these fields are already initially set in OMR's MM_ConfigurationGenerational::initialize(), the matching place in J9 to override the values would be MM_ConfigurationDelegate::initialize()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I agree it's a better place. Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes look good to me.
This patch reduces minTimeBetweenMemoryDisclaims from 5000 to 500 and increases the time between disclaims for the data cache, code cache, and iprofiler data by a factor of 10 to maintain the current behavior. For the SCC it removes the scaling of minTimeBetweenMemoryDisclaims such that we will disclaim the SCC every 500 ms. Signed-off-by: Younes Manton <[email protected]>
This patch enables SCC disclaiming when CRIU or CRaC support is enabled. Signed-off-by: Younes Manton <[email protected]>
7849d9d
to
ae2927a
Compare
This patch scales dnssExpectedRatioMaximum and dnssExpectedRatioMinimum by 2x when neither is user-specified and either CRIU or CRaC support is enabled. This favours reduced memory consumption at the expense of GC overhead. Signed-off-by: Younes Manton <[email protected]>
ae2927a
to
0aab9d6
Compare
jenkins test sanity xlinux,plinux,zlinux,aix jdk21 |
I started jenkins sanity tests assuming @amicic will agree with the new version of the code. |
This PR includes patches that will
dnssExpectedRatioMaximum
anddnssExpectedRatioMinimum
to be 2x larger when CRIU or CRaC support is enabled. Increasing this threshold favours reducing nursery expansion and average memory consumption at the cost of increased GC overhead.SCC disclaiming increases scavenge times, which causes nursery expansion, and offsets most of the memory savings we get from disclaiming the SCC, hence the adjustment to the thresholds. Another way to tackle this problem is to reduce the impact of SCC disclaim on scavenge by re-organizing the SCC layout or caching the SCC data touched during scavenge separately, but these options require further development to realize.
See #20498 for additional background info on SCC disclaiming.
FYI @vijaysun-omr @mpirvu @amicic