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

[Parallel Executor] [VM] Allow transaction execution to be suspended / resumed on reads. #10180

Open
gelash opened this issue Feb 28, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@gelash
Copy link

gelash commented Feb 28, 2022

Currently parallel execution abandons a speculative VM execution of a transaction immediately when it encounters a dependency (i.e. an entry marked as Estimate in the shared MVMemory data-structure). This is an optimization that avoids aborts, as the transaction is then re-executed after the dependency is resolved. However, the re-execution starts from scratch, when in theory, it could have continued exactly from the prior state when the dependency was observed.

Way to solve this could involve some continuations / async programming and managing suspended execution tasks alongside dependencies in executor/scheduler. Exact performance gains need to be investigated, but it's promising.

@gelash gelash added the enhancement New feature or request label Feb 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant