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

Adaptive min max #1797

Merged
merged 10 commits into from
Mar 3, 2018
Merged

Adaptive min max #1797

merged 10 commits into from
Mar 3, 2018

Conversation

mrocklin
Copy link
Member

@mrocklin mrocklin commented Mar 2, 2018

Replaces #1618 cc @jacobtomlinson @jhamman

This adds minimum and maximum keywords to the Adaptive class to set limits on available workers.

@mrocklin
Copy link
Member Author

mrocklin commented Mar 2, 2018

There are still some issues with this. Maximum isn't implemented.

@mrocklin mrocklin merged commit 3dba77b into dask:master Mar 3, 2018
@mrocklin mrocklin deleted the adaptive-min-max branch March 3, 2018 16:26
@jhamman
Copy link
Member

jhamman commented Mar 3, 2018

Thanks @mrocklin - I'm looking forward to using this!

azjps added a commit to azjps/dask-drmaa that referenced this pull request Mar 15, 2018
- Support passing kwargs to distributed.Adaptive, which now
  includes arguments like minimum and maximum [number of workers].
- Add an option workers argument to _retire_workers() to match
  dask/distributed#1797
azjps added a commit to azjps/dask-drmaa that referenced this pull request Mar 15, 2018
- Support passing kwargs to distributed.Adaptive.__init__, which now
  takes keyword arguments like minimum and maximum [number of workers].
- Add an optional workers argument to _retire_workers() to match
  dask/distributed#1797 -- currently Adaptive
  raises a TypeError.
jakirkham pushed a commit to dask/dask-drmaa that referenced this pull request Mar 24, 2018
* Compatibility fixes with distributed 1.21.3

- Support passing kwargs to distributed.Adaptive.__init__, which now
  takes keyword arguments like minimum and maximum [number of workers].
- Add an optional workers argument to _retire_workers() to match
  dask/distributed#1797 -- currently Adaptive
  raises a TypeError.

* Adaptive memory resource compatibility fix for distributed==1.21.0

In dask/distributed#1594, the scheduler's
internal maps of task objects were changed from using their keys to
using TaskState objects. However, dask_drmaa.Adaptive was still
querying for keys, causing new workers to never find the memory
resource constraints for pending tasks and consequently tasks
to never find workers with sufficient resources. This was causing
the unit test test_adaptive_memory to wait indefinitely.

Try to fix this to support both distributed pre- and post- 1.21.0,
and un-skip test_adaptive_memory.

* basestring -> six.string_types

(Was testing on python2, switching to python2/3-compatible)

* Add six to requirements.txt

Also a couple of miscellaneous comments, including
Windows-specific comment for running docker-based tests.

* Undo windows comments (moving to a separate PR)

* Drop support for distributed < 1.21.0

Update requirements.txt to require distributed >= 1.21.0,
since there are some internal changes in the way tasks
are stored. Also drop the corresponding backwards-
compatibility fixes. Feel free to revert if
distributed 1.20.x support if desired.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants