lodestar icon indicating copy to clipboard operation
lodestar copied to clipboard

[block-input-refactor] consider download data columns from multiple peers at a time

Open twoeths opened this issue 4 months ago • 4 comments

Describe the bug

in BlockInputSync of #8200, when we request data_column_sidecars_by_root, it could take up to 10s because peer may only response when it has all data

Image

Expected behavior

in BlockInputSync, we need to consider downloading from multiple peers of a time instead of doing it sequentially

Steps to reproduce

No response

Additional context

No response

Operating system

Linux

Lodestar version or commit hash

mkeil/refactor-block-input-on-unstable

twoeths avatar Sep 16 '25 03:09 twoeths

it also showed that it may take up to more than 5s to download a block

Image

twoeths avatar Sep 16 '25 03:09 twoeths

one down side with this approach is downloading blocks in parallel will degrade the performance of node, need to address this before start also the performance improvement needs to be proved by metrics, see #8403

twoeths avatar Sep 16 '25 13:09 twoeths

the UnknownBlockSync does not seem that bad https://github.com/ChainSafe/lodestar/pull/8416#issuecomment-3302101216

also #8408 should get us import block faster should only revisit if it shows bad validator performance

twoeths avatar Sep 18 '25 02:09 twoeths

some peers likely hold the request and only response once it has data for example:

  • it takes 7.79s to get a success reponse from this peer
Image
  • once it returns, it's already late
Image

twoeths avatar Sep 18 '25 08:09 twoeths