-
Notifications
You must be signed in to change notification settings - Fork 636
Batch commits to the state and block store #1040
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
Comments
This task has been completed but initial go benchmarking suggests that the performance is actually downgraded. The plan is to rerun the experiments once we change the key ordering during Q4 2023. This would then help make the final decision on whether this is to be merged or rejected. |
Atomicity is increasing, as mentioned in tendermint/tendermint#6018 because it is all or nothing in the case of the batch.
LSMs don't handle big batches very well (1). The ideal for Here are the results from running the Anton's benchmark on my local PC: Benchmark
If we want to support blocks bigger than 100kB on average, we should not batch single blocks. This becomes more important for big blocks (>1MB). The current max size is 4MB. This implies that CometBFT must handle such a scenario efficiently, which won't be the case w/ a single batch. Now, the current block size of Cosmos Hub is 64kB, with peaks ranging from 200kB to 700kB. For Osmosis, it's 74kB. If we want to target the current customers, then creating a single batch makes sense. |
Uh oh!
There was an error while loading. Please reload this page.
Currently, state is committed to the block and state store using asynchronous calls followed by a synchronous call at the end.
We need to investigate whether explicitly batching them improves performance. In particular, consider the work done in :
tendermint/tendermint#6067
tendermint/tendermint#6018
and issue: tendermint/tendermint#5888
The goal of this is two fold:
DoD:
The text was updated successfully, but these errors were encountered: