-
Notifications
You must be signed in to change notification settings - Fork 94
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
Explicit-comms-shuffle: fine control of task scheduling #1025
Explicit-comms-shuffle: fine control of task scheduling #1025
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only added a minor code duplication reduction, apart from that LGTM. Thanks @madsbk !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My only comment was similar to @pentschev's; don't know a better way to force location of the compute
Co-authored-by: Peter Andreas Entschev <[email protected]>
Codecov ReportBase: 0.00% // Head: 0.00% // No change to project coverage 👍
Additional details and impacted files@@ Coverage Diff @@
## branch-22.12 #1025 +/- ##
==============================================
Coverage 0.00% 0.00%
==============================================
Files 25 17 -8
Lines 3315 2216 -1099
==============================================
+ Misses 3315 2216 -1099 Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
rerun tests |
Thanks @madsbk ! |
@gpucibot merge |
In shuffle, use
Client.submit()
to control where tasks are executed and release temporary dataframes ASAP.Context
In the final step in explicit-comms shuffle, we call
getitem()
to extract the final dataframe partitions from the result of the local shuffle. In some cases, thesegetitem()
tasks would not run on the worker that ran the local shuffle, which would result in extra communication and spilling.We now use
submit(..., worker=...)
to make sure that the worker running the local shuffle also runs thegetitem()
task afterwards.Is it possible to do this without the use of
submit()
to avoid the overhead of creating aFuture
for each dataframe partition?