-
Notifications
You must be signed in to change notification settings - Fork 124
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
[merkledb] Prefetch Missing Trie Nodes Not Found in Cache #491
Comments
This could be done when marking that a key has been modified (we could async check all intermediate nodes are present). We wouldn't necessarily need to do this on the read path because we would just be reading values directly. |
According to @dboehm-avalabs, this can be accomplished using logic already implemented in "GetProof". |
We should stop prefetching paths as soon as we are done executing txs (as we will already fetch in root gen) to avoid duplicate fetches? |
If we split trie node cache vs value cache, this should make it much faster. Right now, lock contention on trie path prefetch (specifically the node cache) slows things down. |
Playing with some improvements in https://github.com/ava-labs/avalanchego/tree/NodeReduction that could help with this. |
With |
Example implementation: ava-labs/coreth#372 |
This may allow us to use more disk bandwidth rather than more memory (which may be a good balance for some networks).
The EVM supports this by pre-executing all txs on the parent state.
The text was updated successfully, but these errors were encountered: