-
Notifications
You must be signed in to change notification settings - Fork 340
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
disable in-packet parallel processing for gossip #4838
base: master
Are you sure you want to change the base?
Conversation
@behzadnouri do you think it is a good idea? It was discussed on discord in context of "why would we use threads if someone sends a packet full of bogus CRDS values", i.e. it would be cheaper to verify them serially and exit on first failure. |
When doing #4259 I actually tested removing inner |
What kind of regression did you observe? i.e. which metrics degraded? |
https://github.com/anza-xyz/agave/blob/f36a62dce/gossip/src/cluster_info.rs#L2288
I think the counter argument is that, if we verify CrdsValue's serially the spammer can easily send a |
That is true. In the end, however, we are getting > 20K packets per second, there is obviously enough of them to make it irrelevant to parallelize within a packet. And parallelizing unnecessarily is pure overhead. |
But the
That was my thinking too, and like I said I tried removing the inner |
The distribution depends a lot on the node's stake.
I repeated the test again on a staked node on testnet. |
Problem
Verifying signatures for individual CRDS values within a packet is not very useful as we do not have unlimited CPU cores, and there is already parallel processing on a per-packet level.
Summary of Changes