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

De-dupe inbound SCP traffic #4544

Merged
merged 5 commits into from
Nov 22, 2024
Merged

Conversation

marta-lokhova
Copy link
Contributor

The primary goal of this change is to reduce burden on the main thread scheduler by hashing and de-duping inbound SCP traffic. In simulations, we've observed duplicate SCP message consume quite a bit of main thread/scheduler capacity. With this change, the amount of duplicate SCP traffic core processes is reduced by ~50%. Another small change in this PR is to broadcast SCP messages immediately instead of scheduling them asynchronously - SCP traffic is high priority, so there's no reason to delay it like we do in master.
Attaching scheduler load comparison plus duplicate traffic inbound rate for comparison
Screenshot 2024-11-14 at 16 25 25
Screenshot 2024-11-14 at 16 28 54

Copy link
Contributor

@bboston7 bboston7 left a comment

Choose a reason for hiding this comment

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

Thanks for making this change; the performance improvements are awesome! I just found a few small things while reviewing.

src/main/AppConnector.h Outdated Show resolved Hide resolved
src/overlay/Floodgate.cpp Outdated Show resolved Hide resolved
src/overlay/OverlayManagerImpl.cpp Outdated Show resolved Hide resolved
src/overlay/Peer.h Outdated Show resolved Hide resolved
@marta-lokhova marta-lokhova force-pushed the overlayPerfSCPMsg branch 3 times, most recently from 6757bde to f1b8c80 Compare November 21, 2024 00:12
Copy link
Contributor

@graydon graydon left a comment

Choose a reason for hiding this comment

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

Just a couple renaming suggestions, looks good!

src/overlay/OverlayManagerImpl.cpp Outdated Show resolved Hide resolved
src/overlay/Peer.h Outdated Show resolved Hide resolved
@marta-lokhova marta-lokhova force-pushed the overlayPerfSCPMsg branch 3 times, most recently from 791f3e5 to cc567b6 Compare November 21, 2024 19:27
graydon
graydon previously approved these changes Nov 21, 2024
@graydon graydon added this pull request to the merge queue Nov 21, 2024
Merged via the queue into stellar:master with commit 93d0921 Nov 22, 2024
13 checks passed
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.

3 participants