-
Notifications
You must be signed in to change notification settings - Fork 748
[ICRDMA] Chunk reclaimation feature for slot mem pool. Change limit. EXT-1782 #31708
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
[ICRDMA] Chunk reclaimation feature for slot mem pool. Change limit. EXT-1782 #31708
Conversation
The original implementation of slot mem pool has no ability to reuse chunk for slots size X if it was split for slots size Y. It can cause the situation when we have no abbility to allocate memory it all chunks was splited for wirkset with different size. The proposed change track usage of chunk and allows to reuse it for any slot size if use count for chunk become 0. This commit also changes limit so allocate object up to 32MB are allowed. Two improvement should be implemented in a future work: - Priority to alocate slots by use count of underlying chunk. This heuristic increases probability of success reclaimation - Varied chunk size. No need to allocate 32Mb chunk to split it in to 4K slots. It also increases probability of success reclaimation and improve perfomance of it
|
🟢 |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪ ⚪ Ya make output | Test bloat | Test bloat
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪ ⚪ Ya make output | Test bloat | Test bloat
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
…XT-1782 (ydb-platform#31708) The original implementation of slot mem pool has no ability to reuse chunk for slots size X if it was split for slots size Y. It may cause the situation when we have no ability to allocate memory if all chunks was split for workset with different sizes. The proposed change track usage of chunk and allows to reuse it for any slot size if use count for the chunk becomes 0. This commit also changes limit so allocate object up to 32MB are allowed. Two improvement should be implemented in a future work: * Priority to allocate slots by use count of underlying chunk. This heuristic increases probability of success reclaimation * Varied chunk size. No need to use 32Mb chunk to split it in to 4K slots. It also increases probability of success reclaimation and improve performance of it
…XT-1782 (#31708) The original implementation of slot mem pool has no ability to reuse chunk for slots size X if it was split for slots size Y. It may cause the situation when we have no ability to allocate memory if all chunks was split for workset with different sizes. The proposed change track usage of chunk and allows to reuse it for any slot size if use count for the chunk becomes 0. This commit also changes limit so allocate object up to 32MB are allowed. Two improvement should be implemented in a future work: * Priority to allocate slots by use count of underlying chunk. This heuristic increases probability of success reclaimation * Varied chunk size. No need to use 32Mb chunk to split it in to 4K slots. It also increases probability of success reclaimation and improve performance of it
Changelog entry
The original implementation of slot mem pool has no ability to reuse chunk for slots size X if it was split for slots size Y. It can cause the situation when we have no abbility to allocate memory if all chunks was split for workset with different size.
The proposed change track usage of chunk and allows to reuse it for any slot size if use count for chunk become 0.
This commit also changes limit so allocate object up to 32MB are allowed.
Two improvement should be implemented in a future work:
...
Changelog category
Description for reviewers
...