Skip to content
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

More Conservative Incremental GC Scheduling #4161

Closed
wants to merge 4 commits into from

Conversation

luc-blaeser
Copy link
Contributor

@luc-blaeser luc-blaeser commented Aug 4, 2023

More Conservative Incremental GC Scheduling

The existing incremental GC scheduling is reclaiming memory effectively up to 4GB according to the tests, the GC benchmark, and also other analyzed user programs so far.
However, it could also make sense, to schedule the GC a little bit more conservatively to reduce the allocated memory size, the reclamation latency, and the memory pressure.

Scheduling Refinement

The GC is additionally scheduled on every absolute heap growth of 500 MB or more.

GC benchmark results:

Aspect Difference
Runtime (none)
Allocated Memory -6%
Scalability +28% (*)

(*) The scalability improvement is mostly due to the scalable-buffer benchmark case that scales much higher with this more conservative scheduling. For other cases, the scalability is slightly lower. This heavily depends on when GC is scheduled when the memory is nearly full and the mark bitmaps may no longer be allocated.

@luc-blaeser luc-blaeser self-assigned this Aug 4, 2023
@luc-blaeser luc-blaeser marked this pull request as ready for review August 7, 2023 07:49
@luc-blaeser
Copy link
Contributor Author

Put back for later when needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant