-
Notifications
You must be signed in to change notification settings - Fork 488
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
Perf/Parallelize Pruning #7541
Perf/Parallelize Pruning #7541
Conversation
Could we go for a higher cache with this? Would it make sense to? |
Only 4 time actually. Not much. Trying different key. The write rate is now noticable at rocksdb level, like 75k writes per sec. Thats like 7.5% snap speed. |
I mean, that is average, assuming that only 10% of the time is doing pruning, at that pruning time, the write rate is 750k per sec. So, not much headroom left. |
4+x is very impressive, but it sounds like it is not saturating 16 core CPU, what is the current bottleneck? |
About 40% of it is during persist, where it is disposing batch. The only way to make it faster seems to be to disable wal, but I don't recommend that and its not that much faster. The other part are things such as looping the shards, removing entries and such. |
|
The persist (without wal) just dump it into memtable. Already multithreaded. The actual writing to disk is already in background. I don't think other part can be parallelized futher. Maybe it can be micro optimized somehow, but its already paralellized reasonably well. |
Am full syncing mainnet, up to block 9,097,554 (16hrs) with a 4GB CacheMB (x4 recommended)
No issues so far; StateDb 105 GB |
Also just switched to Parallelize persist cache commit; was on prior |
Had an invalid block issue after repeated shutdown and restarts; not sure if related to this or another change I have in-flight |
Looking at logs I had a memory prune while shutting down
|
Wonder why its an invalid block instead of a trie exception. |
Do prewarmer or something hide a trie exception? |
First error was "insufficient sender balance"; so assume it was reading a non existing account? |
Ok this is different change; not this one |
|
Think going too fast now #7549 |
Full pruning results in missing nodes on restart. But happens on master also. |
Co-authored-by: Ben Adams <thundercat@illyriad.co.uk> Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Changes
Types of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing