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

Memory pool support for Replication IO #18

Merged
merged 3 commits into from
Oct 25, 2023
Merged

Conversation

somnathr
Copy link
Contributor

Added Memory pool support for Replication IO.

Description

Memory pool support for Replication IO. Configurable three different memory pool size and based on the IO size the closest memory pool will be selected. This will enable IO size > 1MB in the DSS Minio KV stack.

Motivation and Context

To support > 1MB IO in the Minio KV path.

Regression

How Has This Been Tested?

Unit testing with single node setup. Performance tested on single minio with 1MB and 8 MB.
Disclaimer because of target issue of supporting large number of bigger IOs, can't stress with more ios in my test.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • [x ] New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • [x ] My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added unit tests to cover my changes.
  • I have added/updated functional tests in mint. (If yes, add mint PR # here: )
  • All new and existing tests passed.

Copy link

@rajpayagond rajpayagond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please update the minSize allocation

divFactor = 2 * divFactor
minSize = globalMaxKVObject/int64 (divFactor)
for (minSize <= 32768) {
midSize = (2 * globalMaxKVObject)/int64 (divFactor)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

allocating for minSize not midSize

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, will resolve, thx

@sonarcloud
Copy link

sonarcloud bot commented Oct 25, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

warning The version of Java (11.0.17) you have used to run this analysis is deprecated and we will stop accepting it soon. Please update to at least Java 17.
Read more here

Copy link

@rajpayagond rajpayagond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

Copy link

@payagond payagond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@somnathr somnathr merged commit a8f809a into master Oct 25, 2023
3 checks passed
@somnathr somnathr deleted the wip-mem-alloc-replication branch October 25, 2023 18:19
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.

4 participants