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] [pip] PIP-354: apply topK mechanism to ModularLoadManagerImpl #22765

Merged
merged 4 commits into from
May 27, 2024

Conversation

thetumbled
Copy link
Member

@thetumbled thetumbled commented May 23, 2024

PIP-354
Implementation PR: #22753

Motivation

As every bundle in the cluster corresponds to a zk node, it is common that there are thousands of zk nodes in a cluster, which results into thousands of read/update operations to zk. This will cause a lot of pressure on zk.

As All Load Shedding Algorithm pick bundles from top to bottom based on throughput/msgRate, bundles with low throughput/msgRate are rarely be selected for shedding. So that we don't need to contain these bundles in the bundle load report.

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

@github-actions github-actions bot added PIP doc-not-needed Your PR changes do not impact docs labels May 23, 2024
@heesung-sn
Copy link
Contributor

Please add a warning that too small loadBalancerMaxNumberOfBundlesInBundleLoadReport could result in a longer load balance time, especially with a cluster with a large number of bundles, and this is a modular load balancer behavior change(not forward-compatible).

@thetumbled
Copy link
Member Author

Please add a warning that too small loadBalancerMaxNumberOfBundlesInBundleLoadReport could result in a longer load balance time, especially with a cluster with a large number of bundles, and this is a modular load balancer behavior change(not forward-compatible).

Updated, please take a look again, thanks.

@BewareMyPower BewareMyPower merged commit 3534cdd into apache:master May 27, 2024
21 checks passed
Demogorgon314 pushed a commit that referenced this pull request May 28, 2024
…pl (#22753)

Implementation PR for #22765

### Motivation
`ModularLoadManagerImpl` rely on zk to store and synchronize metadata about load, which pose greate pressure on zk, threatening the stability of system. Every broker will upload its `LocalBrokerData` to zk, and leader broker will retrieve all `LocalBrokerData` from zk, generate all `BundleData` from each `LocalBrokerData`, and update all `BundleData` to zk. 

As every bundle in the cluster corresponds to a zk node, it is common that there are thousands of zk nodes in a cluster, which results into thousands of read/update operations to zk. This will cause a lot of pressure on zk.

**As All Load Shedding Algorithm pick bundles from top to bottom based on throughput/msgRate, bundles with low throughput/msgRate are rarely be selected for shedding. So that we don't need to contain these bundles in the bundle load report.**


### Modifications

Reuse the configuration loadBalancerMaxNumberOfBundlesInBundleLoadReport in ExtensibleLoadManager, apply the topK mechanism to ModularLoadManagerImpl.
@lhotari lhotari added this to the 4.0.0 milestone Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc-not-needed Your PR changes do not impact docs PIP ready-to-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants