Skip to content
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

Prefetcher use in chunk apply could be improved #10953

Open
nagisa opened this issue Apr 5, 2024 · 0 comments
Open

Prefetcher use in chunk apply could be improved #10953

nagisa opened this issue Apr 5, 2024 · 0 comments
Labels
A-transaction-runtime Area: transaction runtime (transaction and receipts processing, state transition, etc)

Comments

@nagisa
Copy link
Collaborator

nagisa commented Apr 5, 2024

Recently we've made some improvements to the prefetcher such that it prefetches data that's necessary for chunk finalization to progress a little bit faster. That also results in less deviation in chunk apply times, and thus, probably, also fewer missed chunks overall.

Anyway, #10935 points out multiple points of improvements we could pursue:

  • prefetch receipt data earlier (especially for delayed receipts -- earlier than right before receipt execution begins;) (Move delayed receipt (and possibly other receipt) prefetching to the beginning of apply #11002)
  • have multiple levels of prefetch priority, so that e.g. prefetching for finalize doesn't interfere with prefetch requests for data that is going to be needed sooner;
  • figure out how to prevent overfetching by as much (perhaps adding a way/guards to remove individual keys rather than clearing the full prefetch queue?)
@nagisa nagisa added the A-transaction-runtime Area: transaction runtime (transaction and receipts processing, state transition, etc) label Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-transaction-runtime Area: transaction runtime (transaction and receipts processing, state transition, etc)
Projects
None yet
Development

No branches or pull requests

1 participant