-
Notifications
You must be signed in to change notification settings - Fork 627
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
Parallelize runtime #161
Comments
Fine with me. I think it's easier for developer to assume that every async call is "cross-shard" and results in new block vs trying to account for different possible variants. |
For the record, the hackaton on Dec 21 has demonstrated that the execution of the smart contracts should be parallelized even for the DevNet. When multiple people were submitting contracts to our DevNet we had a congestion which was caused either by the WASM runner or other components of the Runtime. |
To be more specific, the scope of work here:
Are there any other caveats? Have @mikhailOK's work for ViewClient already prepared the grounds for lock-free reading in parallel? |
The caveat is that parallel execution will not account for the worst case scenario -- where all receipts are directed towards the same account. So we need to do a protocol change where we allow at most X gas directed towards the same account. It has the following disadvantages:
The first two bullet points are a no-go to me, so I am closing this issue. |
We can easily parallelize execution of smart contracts that touch different accounts. In fact, it might be possible to parallelize execution of smart contracts on the same account using locking. This is a large piece of work and the specific steps will depend on our design of the storage which might change soon. I am leaving out the steps for now.
The text was updated successfully, but these errors were encountered: