Keep single core executor.#5172
Open
Shubham8287 wants to merge 5 commits into
Open
Conversation
Contributor
joshua-spacetime
left a comment
There was a problem hiding this comment.
The change itself looks good. Although it has the potential to invalidate a lot of comments. Can you just make sure there are no more references to the old names/executor?
Contributor
Author
yes, I did. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of Changes
Merged
SingleThreadedExecutorintoSingleCoreExecutor.With this change,
proceduresrun on a TokioLocalSet, while reducers run inline on the OS thread. The goal is to avoid spawning more than one thread.I don’t think this meaningfully changes runtime behavior (or we can call it bit of an optimisaion), and it still avoids the
asyncoverhead for reducer calls. It also better aligns with the “thread per core” principle and allows the single-threaded DST executor to perform close to production simulation.API and ABI breaking changes
NA
Expected complexity level and risk
2, simple runtime behaviour change but it could have hidden implications if done wrong.
Testing
I think existing tests should be enough, considering we also have benchmark tests in CI.