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

Remove Rayon-based Scheduler #6169

Merged
merged 4 commits into from
Apr 30, 2023
Merged

Conversation

tustvold
Copy link
Contributor

Which issue does this PR close?

Closes #2504

Rationale for this change

Partly inspired by #6164, but the rayon-based scheduler in its current incomplete incarnation provides minimal benefits over the current tokio-based approach, and is a non-trivial amount of fairly complex code. Given this and the fact I am unlikely to be able to find time to work on it in the next few months, I think we should just remove it. We can always bring it or something based on it back in the future should we wish to.

Whilst I still think the long-term vision of the scheduler of moving to a push-based execution model would have been pretty compelling, at this stage it is probably too difficult and intrusive to make such a change. Additionally, whilst perhaps less architecturally elegant, we can likely get many of the advantages by introducing interior parallelism to the existing operators (e.g. #6162).

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

@github-actions github-actions bot added the core Core DataFusion crate label Apr 30, 2023
@tustvold tustvold added the api change Changes the API exposed to users of the crate label Apr 30, 2023
@tustvold tustvold merged commit 71efcf5 into apache:main Apr 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api change Changes the API exposed to users of the crate core Core DataFusion crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[EPIC]: Morsel-Driven Scheduler IO
2 participants