nimbus-eth2/beacon_chain
Etan Kissling 5968ed586b
use LRU strategy for shuffling/epoch caches (#4196)
When EL `newPayload` is slow (e.g., Raspberry Pi with Besu), the epoch
and shuffling caches tend to fill up with multiple copies per epoch when
processing gossip and performing validator duties close to wall slot.
The old strategy of evicting oldest epoch led to the same item being
evicted over and over, leading to blocking of over 5 minutes in extreme
cases where alternate epochs/shuffling got loaded repeatedly.
Changing the cache eviction strategy to least-recently-used seems to
improve the situation drastically. A simple implementation was selected
based on single linked-list without a hashtable.
2022-09-29 14:55:58 +00:00
..
consensus_object_pools use LRU strategy for shuffling/epoch caches (#4196) 2022-09-29 14:55:58 +00:00
eth1 newPayload `INVALIDATED` should be `unviableFork` (#4180) 2022-09-26 21:24:32 +00:00
fork_choice Harden EpochRef loading against bogus block root at tail (#4178) 2022-09-27 18:56:08 +02:00
gossip_processing deprecate `--safe-slots-to-import-optimistically` (#4182) 2022-09-29 06:29:49 +00:00
networking update `PeerScore` comments for non-blocks (#4191) 2022-09-28 18:56:04 +00:00
rpc Harden EpochRef loading against bogus block root at tail (#4178) 2022-09-27 18:56:08 +02:00
spec deprecate `--safe-slots-to-import-optimistically` (#4182) 2022-09-29 06:29:49 +00:00
sync update consensus spec ref URLs to v1.2.0 (#4164) 2022-09-23 07:56:06 +00:00
validator_client VC: roles & strategies. (#4113) 2022-09-29 09:57:14 +02:00
validators deprecate `--safe-slots-to-import-optimistically` (#4182) 2022-09-29 06:29:49 +00:00
.editorconfig Add .editorconfig file and remove trailing newlines 2021-09-14 12:12:49 +03:00
.gitignore
beacon_chain_db.nim Harden EpochRef loading against bogus block root at tail (#4178) 2022-09-27 18:56:08 +02:00
beacon_chain_db_immutable.nim update consensus spec ref URLs to v1.2.0 (#4164) 2022-09-23 07:56:06 +00:00
beacon_chain_db_light_client.nim update LC spec references for v1.2.0-rc.2 (#3982) 2022-08-17 19:47:06 +00:00
beacon_clock.nim update consensus spec ref URLs to v1.2.0 (#4164) 2022-09-23 07:56:06 +00:00
beacon_node.nim implement /eth/v1/validator/register_validator (#4115) 2022-09-13 14:52:26 +03:00
beacon_node_light_client.nim rm optimistic candidate block check from LC (#4131) 2022-09-17 00:42:19 +00:00
beacon_node_status.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
conf.nim VC: roles & strategies. (#4113) 2022-09-29 09:57:14 +02:00
conf_light_client.nim reduce LC optsync latency (#4002) 2022-08-25 03:53:59 +00:00
deposits.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
era_db.nim allow accessing withState forky state via `forkyState` (#4026) 2022-08-26 17:14:18 +03:00
extras.nim api: add skip_randao_verification for produceBlockV2 (#3837) 2022-09-21 09:38:08 +02:00
filepath.nim Keymanager API for the validator client (#3976) 2022-08-19 13:30:07 +03:00
interop.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
light_client.nim reduce LC optsync latency (#4002) 2022-08-25 03:53:59 +00:00
nim.cfg enable `styleCheck:usages` (#3573) 2022-04-08 16:22:49 +00:00
nimbus_beacon_node.nim deprecate `--safe-slots-to-import-optimistically` (#4182) 2022-09-29 06:29:49 +00:00
nimbus_beacon_node.nim.cfg use `nim-websock` instead of `news` (#4061) 2022-09-06 23:41:33 +02:00
nimbus_binary_common.nim Remove warning on unused import of `filepath` (#4176) 2022-09-26 17:14:24 +00:00
nimbus_light_client.nim Don't search for the TTD block after the merge (#4152) 2022-09-20 09:17:25 +03:00
nimbus_light_client.nim.cfg use `nim-websock` instead of `news` (#4061) 2022-09-06 23:41:33 +02:00
nimbus_signing_node.nim load suggested fee recipient file also when keymanager is disabled (#4078) 2022-09-17 08:30:07 +03: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 VC: roles & strategies. (#4113) 2022-09-29 09:57:14 +02:00
nimbus_validator_client.nim.cfg use `nim-websock` instead of `news` (#4061) 2022-09-06 23:41:33 +02:00
sszdump.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
statediff.nim update state diffs to Bellatrix (#4177) 2022-09-26 19:13:50 +00:00
statusbar.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
trusted_node_sync.nim more `withState` `state` -> `forkyState` (#4112) 2022-09-13 14:53:12 +03:00
version.nim Version 22.9.1 2022-09-20 23:50:31 +03:00
wallets.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00