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

Huge network thread latency to/from main thread when subscribing to all subnets #7188

Open
twoeths opened this issue Oct 22, 2024 · 2 comments
Labels
meta-bug Issues that identify a bug and require a fix.

Comments

@twoeths
Copy link
Contributor

twoeths commented Oct 22, 2024

Describe the bug

When subscribing to all subnets, network thread to/from main thread latency increase significantly

Screenshot 2024-10-22 at 15 49 01

I don't see any latency from libp2p, or at least it's a tiny difference, we still receive gossip block on time at network thread

Screenshot 2024-10-22 at 15 50 01

the above latency leads to significantly increase of below topics:

  • Avg block recv to gossip validation delay
Screenshot 2024-10-22 at 15 51 52
  • Avg block recv to state transition delay
Screenshot 2024-10-22 at 15 52 24

Expected behavior

for beacon_block topic, we don't want to have this latency, as it causes block to becomes head very late and validator votes for wrong head, see #7186

Steps to reproduce

No response

Additional context

No response

Operating system

Linux

Lodestar version or commit hash

v1.22.0, unstable

@twoeths twoeths added the meta-bug Issues that identify a bug and require a fix. label Oct 22, 2024
@twoeths
Copy link
Contributor Author

twoeths commented Oct 22, 2024

I had a hypothesis that queued attestations at the main thread side may cause this, so I queued at network thread instead but it did not work, see #7189

it seems to me the gc caused this (before 23:00 is the version without subscribe_to_subnet flag)

Screenshot 2024-10-22 at 16 10 07

@twoeths
Copy link
Contributor Author

twoeths commented Oct 28, 2024

the validator performance really depends on latency of beacon block, this metric track the time when we first seen beacon block in network thread until the time it's validated in main thread

Screenshot 2024-10-28 at 09 49 35

it really looks like gc caused beacon blocks to be delayed frequently when it runs
due to that validator votes for wrong block head/target and it may cause missed attestations for those blocks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta-bug Issues that identify a bug and require a fix.
Projects
None yet
Development

No branches or pull requests

1 participant