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

Improve parallelism of push-based ExecPlanTask for binary operator #212

Open
hartig opened this issue Jul 16, 2022 · 2 comments
Open

Improve parallelism of push-based ExecPlanTask for binary operator #212

hartig opened this issue Jul 16, 2022 · 2 comments

Comments

@hartig
Copy link
Member

hartig commented Jul 16, 2022

The current implementation of PushBasedExecPlanTaskForBinaryOperator (as provided by PR #211) ignores whether op.requiresCompleteChild1InputFirst() is true or false but, instead, simply consumes and pushes the complete child 1 input first (as would be required in case that op.requiresCompleteChild1InputFirst() returns true). To improve parallelism, for the case that op.requiresCompleteChild1InputFirst() returns false, poll both inputs each time until exhaustion before starting to wait for the first input.

@hartig
Copy link
Member Author

hartig commented Mar 5, 2023

The new PushBasedExecPlanTaskForNaryOperator (as added by PR #280) has the same problem.

hartig added a commit that referenced this issue Mar 17, 2023
hartig added a commit that referenced this issue Mar 17, 2023
…moment (until we have time for some experimentation to better understand the behavior of it)
@hartig
Copy link
Member Author

hartig commented Mar 17, 2023

Commit e728edd adds the code for this (not only for the binary operators but also for the n-ary ones). However, the relevant code paths are currently commented out. Before actually using them, we should do some experiments to better understand their behavior in different cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant