-
-
Notifications
You must be signed in to change notification settings - Fork 719
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
control de/ser offload #3793
control de/ser offload #3793
Conversation
@mrocklin , how would I benchmark this to show this makes any difference? |
If you follow the link from the original issue it points to a comment by @Kobzol . I recommend asking him. |
@martindurant I can run a series of benchmarks with and without this change if you want. However, in my previous benchmarks it was the offloading in |
@Kobzol , oh! |
I ran a few benchmarks. From my current results I have not seen any perf. improvements at all, so it's possible that this change will not have a large effect on the overall pipeline runtime. This is something that we have observed quite often with out Rust scheduler implementation, sometimes even a big (local) win does not translate to faster pipelines if it's not in the overall hot path. But even if we found no perf. gains I still think that this change should be merged, as it's just wasteful to calculate the size on the scheduler. Hopefully in the future there will be a standardized benchmark suite that will allow us to test these changes easily. |
Which comms are not avoiding offload on the scheduler? |
The scheduler has a When I inspect the |
Almost all messages into or out of a Dask Server arrive in two places
There are a few other places from time to time, but have tried hard to centralize connection handling on these two locations. |
The changes here seem sensible to me. It feels awkward to modify an object these days, rather than pass in a parameter, but I suspect that this is nicer than threading the I'm +1. It would be good to get feedback from @Kobzol first though if he has time to run this through benchmarks again. |
I ran the benchmarks again and I got the same perf. gains when the offloading was only disabled at the scheduler. Around 10-20% overall runtime improvement for my numpy and pandas benchmarks. Seems to me like a net win, as it was showing up in profiles before on a very hot path and now it's completely gone. |
@quasiben , do you want to give this a quick once-over, to see if this might affect UCX at all? (I don't think so) |
OK merging. I would like to mention that |
Sorry for missing this @martindurant. FWIW, the changes should not the affect UCX comms |
Thanks for leading this @martindurant !
This should be fine I think. The |
Fixes #3776
(posting some scratch code here, to pick up later)