-
-
Notifications
You must be signed in to change notification settings - Fork 720
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
[DNM] Scatter shuffle proof-of-concept #5473
Commits on Oct 27, 2021
-
Consistent worker Client instance in
get_client
Fixes dask#4959 `get_client` was calling the private `Worker._get_client` method when it ran within a task. `_get_client` should really have been called `_make_client`, since it created a new client every time. The simplest correct thing to do instead would have been to use the `Worker.client` property, which caches this instance. In order to pass the `timeout` parameter through though, I changed `Worker.get_client` to actually match its docstring and always return the same instance.
Configuration menu - View commit details
-
Copy full SHA for d895141 - Browse repository at this point
Copy the full SHA d895141View commit details -
Check for Futures from the wrong Client in
gather
If you accidentally pass Futures created by a different Client into `Client.gather`, you'll get a `CancelledError`. This is confusing and misleading. An explicit check for this would have made discovering dask#5466 much easier. And since there are probably plenty of other race conditions regarding default clients in multiple threads, hopefully a better error message will save someone else time in the future too.
Configuration menu - View commit details
-
Copy full SHA for 5e8fcd4 - Browse repository at this point
Copy the full SHA 5e8fcd4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cd61df - Browse repository at this point
Copy the full SHA 0cd61dfView commit details -
Set current client in worker while deserializing dependencies
This is probably a good idea in general (xref dask#4959), but it particularly helps with performance deserializing Futures, which have a fastpath through `Client.current` that bypasses a number of unnecessarily slow things that `get_client` does before it checks `Client.current`.
Configuration menu - View commit details
-
Copy full SHA for 30af07e - Browse repository at this point
Copy the full SHA 30af07eView commit details -
Don't report back locally-scattered keys
When a key is scattered from a task and written directly to worker storage, the Client immediately sets the Future's state to `"finished"`. There's no need for the scheduler to also tell the client that that key is finished; it already knows. This saves a bit of scheduler time and a comms roundtrip.
Configuration menu - View commit details
-
Copy full SHA for 3399830 - Browse repository at this point
Copy the full SHA 3399830View commit details -
Configuration menu - View commit details
-
Copy full SHA for 555be9b - Browse repository at this point
Copy the full SHA 555be9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b2d7b0 - Browse repository at this point
Copy the full SHA 8b2d7b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1898673 - Browse repository at this point
Copy the full SHA 1898673View commit details -
Preserve contextvars during comm offload
Helps with setting the current client in worker while deserializing. Implementation referenced from python/cpython#9688
Configuration menu - View commit details
-
Copy full SHA for 90e1c47 - Browse repository at this point
Copy the full SHA 90e1c47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d9d090 - Browse repository at this point
Copy the full SHA 6d9d090View commit details -
FIXME remove address coercion in update_data
This was really slow and probably doesn't matter when the future is coming from a worker. But probably not safe to remove in general?
Configuration menu - View commit details
-
Copy full SHA for 673ea24 - Browse repository at this point
Copy the full SHA 673ea24View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4369028 - Browse repository at this point
Copy the full SHA 4369028View commit details -
Configuration menu - View commit details
-
Copy full SHA for d485eaa - Browse repository at this point
Copy the full SHA d485eaaView commit details -
REVERTME no-report cancellation
We don't need to report back to the client that its key was cancelled. But this shouldn't be exposed and may be wrong.
Configuration menu - View commit details
-
Copy full SHA for 23b1e65 - Browse repository at this point
Copy the full SHA 23b1e65View commit details -
Configuration menu - View commit details
-
Copy full SHA for a46c507 - Browse repository at this point
Copy the full SHA a46c507View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78c337f - Browse repository at this point
Copy the full SHA 78c337fView commit details -
HACK don't inform on deserialized keys
Hoping this speeds up the transfer of Futures; makes no sense in general though.
Configuration menu - View commit details
-
Copy full SHA for aefe78a - Browse repository at this point
Copy the full SHA aefe78aView commit details