nimbus-eth2/beacon_chain
Jacek Sieka 1f89b7f7b9
speed up trusted node backfill (#3371)
With these changes, we can backfill about 400-500 slots/sec, which means
a full backfill of mainnet takes about 2-3h.

However, the CPU is not saturated - neither in server nor in client
meaning that somewhere, there's an artificial inefficiency in the
communication - 16 parallel downloads *should* saturate the CPU.

One plasible cause would be "too many async event loop iterations" per
block request, which would introduce multiple "sleep-like" delays along
the way.

I can push the speed up to 800 slots/sec by increasing parallel
downloads even further, but going after the root cause of the slowness
would be better.

* avoid some unnecessary block copies
* double parallel requests
2022-02-12 12:09:59 +01:00
..
consensus_object_pools fix missing backfill when restarting node 2022-02-11 23:08:50 +02:00
eth1 update to engine API alpha.6 (#3351) 2022-02-04 12:12:19 +00:00
fork_choice fork choice proposer boosting support (#3349) 2022-02-04 12:59:40 +01:00
gossip_processing deactivate doppelganger protection during genesis (#3362) 2022-02-07 07:12:36 +02:00
networking harden and speed up block sync (#3358) 2022-02-07 19:20:10 +02:00
rpc Remote KeyManager API and number of fixes/tests for KeyManager API (#3360) 2022-02-07 22:36:09 +02:00
spec speed up trusted node backfill (#3371) 2022-02-12 12:09:59 +01:00
sync move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00
validator_client rename mergeData to bellatrixData and mergeFork to bellatrixFork (#3315) 2022-01-24 16:23:13 +00:00
validators move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00
.editorconfig Add .editorconfig file and remove trailing newlines 2021-09-14 12:12:49 +03:00
.gitignore Rename binaries; Mimic the original repo layout in the distribution 2020-11-09 11:38:52 +02:00
beacon_chain_db.nim Store finalized block roots in database (3s startup) (#3320) 2022-01-30 18:51:04 +02:00
beacon_chain_db_immutable.nim spec URL updates (#3342) 2022-01-31 09:56:59 +00:00
beacon_clock.nim spec URL & copyright year update (#3338) 2022-01-29 01:05:39 +00:00
beacon_node.nim move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00
beacon_node_status.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
conf.nim move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00
deposits.nim move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00
extras.nim use ForkedHashedBeaconState in StateData (#2634) 2021-06-11 20:51:46 +03:00
filepath.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
interop.nim bump `nim-stint` (#2969) 2021-10-14 14:13:51 +03:00
nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
nimbus_beacon_node.nim move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00
nimbus_beacon_node.nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
nimbus_binary_common.nim move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00
nimbus_signing_node.nim complete switch to beacon_chain/specs/datatypes/bellatrix (#3295) 2022-01-18 13:36:52 +00:00
nimbus_signing_node.nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
nimbus_validator_client.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
nimbus_validator_client.nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
sszdump.nim complete switch to beacon_chain/specs/datatypes/bellatrix (#3295) 2022-01-18 13:36:52 +00:00
statediff.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
statusbar.nim switch result = foo to expression return; unexport rest of logtrace symbols (#2788) 2021-08-17 09:51:39 +00:00
trusted_node_sync.nim speed up trusted node backfill (#3371) 2022-02-12 12:09:59 +01:00
version.nim Version 1.6.0 2022-01-14 13:52:06 +02:00
wallets.nim move wallet/deposit commands to separate files (#3372) 2022-02-11 21:40:49 +01:00