Skip to content

warmuper: blocking and more #20819

Merged
AskAlexSharov merged 34 commits into
performancefrom
alex/performance_dbg2
Apr 26, 2026
Merged

warmuper: blocking and more #20819
AskAlexSharov merged 34 commits into
performancefrom
alex/performance_dbg2

Conversation

@AskAlexSharov

Copy link
Copy Markdown
Collaborator

in near past i did change warmupers logic to non-blocking. but seems it was mistake for non-chain-tip case.
On bloatnet non-tip: i see 5x improvements in commitment speed - if make warmuper's channel blocking.
Reason: there is so much cold keys that 20% of them go dropped. And it slow-down overall system throughput.

Also increasing amount of warmupers more than runtime.NumCPU() helps +2x because it's oke to have io-threads > cpu_amount

Current bloatnet speed (100 blocks batches): gas/s=289.38M, trie calc keys/s=14.24k

[INFO] [04-26|11:34:37.582] [4/6 Execution][agg] computing trie      progress=2.27M/2.40M keys/s=14.24k akeys=349 skeys=2.27M rdb=4.37M rda=349 rds=3.11M wrb=5.25M cb=8.72M ca=209 cs=832.77k mb=18.57k ma=140 ms=2.28M fld=0 pdur=0s fdur=0s ufdur=0s alloc=21.7GB sys=30.2GB
[INFO] [04-26|11:34:46.903] [4/6 Execution] serial done              in=3m4.129222864s buf=5.6GB/2.9GB blk=24506399 blks=100 blk/s=0.54 txs=6.80k tx/s=36 gas/s=289.38M stepsInDB=0.72 step=7496.7 alloc=22.2GB sys=30.2GB isForkValidation=false isApplyingBlocks=true

@AskAlexSharov AskAlexSharov enabled auto-merge (squash) April 26, 2026 12:18
@AskAlexSharov AskAlexSharov merged commit 1a198e8 into performance Apr 26, 2026
32 checks passed
@AskAlexSharov AskAlexSharov deleted the alex/performance_dbg2 branch April 26, 2026 12:46
lemenkov pushed a commit to fedora-ethereum/erigon that referenced this pull request Apr 28, 2026
Cherry-pick of erigontech#20819 to main.

## Conflicts resolved

`execution/commitment/commitmentdb/commitment_context.go`: main has
additional `ConcurrentPatriciaHashed` branching and a different
warmup-config init layout. Kept main's structure; applied the two PR
changes in-place — added the keys/s logging block and switched
`NumWorkers` from `16` to `dbg.TipTrieWarmupers`. Added `encoding/hex`
import for the new log line.

Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
lupin012 pushed a commit that referenced this pull request May 2, 2026
Cherry-pick of #20819 to main.

## Conflicts resolved

`execution/commitment/commitmentdb/commitment_context.go`: main has
additional `ConcurrentPatriciaHashed` branching and a different
warmup-config init layout. Kept main's structure; applied the two PR
changes in-place — added the keys/s logging block and switched
`NumWorkers` from `16` to `dbg.TipTrieWarmupers`. Added `encoding/hex`
import for the new log line.

Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
AskAlexSharov added a commit that referenced this pull request May 7, 2026
Cherry-pick of #20819 to release/3.4.

## r3.4-specific adaptations

- `commitment_context.go`: kept release/3.4's commented-out
`[commitment] processed` log block; the upstream change to that log line
(adding `keys/s`) was not meaningful since the log is disabled in 3.4.
The functional change (`NumWorkers: 16` → `dbg.TipTrieWarmupers`) was
applied cleanly.

Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants