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

Improve scheduling of storages to nodes #764

Merged
merged 3 commits into from
Oct 20, 2021

Conversation

joseph-v
Copy link
Collaborator

@joseph-v joseph-v commented Oct 18, 2021

What this PR does / why we need it:
This PR add weight option for nodes in hashring. This will improve scheduling of performance collection of storages to nodes

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #700

Special notes for your reviewer:

Following is the output for test with different WEIGHT values and resulting distribution of Storages (DATA_COUNT) to nodes

  • WEIGHT = 1
    DATA_COUNT = 100000
    NODE_COUNT = 3
    PARTITION_SIZE = 2**5
    33333: Desired data ids per node
    34460: Most data ids on one node, 3.38% over
    31251: Least data ids on one node, 6.25% under

  • WEIGHT = 10
    DATA_COUNT = 100000
    NODE_COUNT = 3
    PARTITION_SIZE = 2**5
    33333: Desired data ids per node
    34860: Most data ids on one node, 4.58% over
    30875: Least data ids on one node, 7.38% under

  • WEIGHT = 100
    DATA_COUNT = 100000
    NODE_COUNT = 3
    PARTITION_SIZE = 2**5
    33333: Desired data ids per node
    34268: Most data ids on one node, 2.80% over
    32478: Least data ids on one node, 2.57% under

  • WEIGHT = 1000
    DATA_COUNT = 100000
    NODE_COUNT = 3
    PARTITION_SIZE = 2**5
    33333: Desired data ids per node
    33490: Most data ids on one node, 0.47% over
    33225: Least data ids on one node, 0.33% under

Release note:

@codecov
Copy link

codecov bot commented Oct 18, 2021

Codecov Report

Merging #764 (0861fe9) into master (cfd3f3e) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #764      +/-   ##
==========================================
+ Coverage   70.42%   70.43%   +0.01%     
==========================================
  Files         163      163              
  Lines       15853    15855       +2     
  Branches     1961     1961              
==========================================
+ Hits        11164    11167       +3     
  Misses       4014     4014              
+ Partials      675      674       -1     
Impacted Files Coverage Δ
delfin/common/config.py 95.00% <ø> (ø)
delfin/coordination.py 60.65% <100.00%> (+0.43%) ⬆️
delfin/drivers/fake_storage/__init__.py 95.34% <0.00%> (+0.27%) ⬆️

Copy link
Member

@NajmudheenCT NajmudheenCT left a comment

Choose a reason for hiding this comment

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

LGTM

@sushanthakumar
Copy link
Collaborator

LGTM

Copy link
Collaborator

@ThisIsClark ThisIsClark left a comment

Choose a reason for hiding this comment

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

LGTM

@ThisIsClark ThisIsClark merged commit 765df24 into sodafoundation:master Oct 20, 2021
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.

Improve Job Distribution by making consistent hashing more efficient
4 participants