-
Notifications
You must be signed in to change notification settings - Fork 129
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
Refactor the jobs
argument.
#251
Comments
We may just go with a |
The |
If the manual scheduler in #227 replaces the non- |
workers_imports
and workers_targets
arguments to replace jobs
What about just one single
|
jobs
argument.
Are you still going to support |
That's interesting. So if we name just one of the slots, the other should be some other default? For A note on names: I would actually rather make the distinction between local vs remote workers rather than targets vs imports. With the upcoming |
Looking back at the Make man page, I remember now why I originally picked "jobs" rather than "workers".
So "jobs" was not an entirely terrible choice of words. In any case, I am biased toward keeping it because it would be extremely painful to deprectate. If/when we run multiple jobs per worker, we could make the behavior back compatible: # 1 worker with 1 job (default)
make(...)
# 2 jobs with 2 workers to match (1 job per worker, back compatible)
make(..., jobs = 2)
# same
make(..., workers = 2)
# 4 concurrent jobs spread over 2 parallel workers
make(..., workers = 2, jobs = 4)
# 16 concurrent jobs spread over 4 parallel workers,
# plus 2 multicore jobs on the master process for imports, etc.
make(..., workers = 4, jobs = c(master = 2, workers = 16))
# 16 concurrent jobs spread over 16 parallel workers (one job per worker)
# 2 multicore jobs on the master process for imports, etc.
make(..., jobs = c(master = 2, workers = 16)) Thoughts? I could start implementing |
jobs
argument.jobs
argument.
I have been thinking about this, and I decided I agree after all. |
Fixed via #278. May revisit when it is time to consider multiple jobs per worker. |
Update: because of #369 and its documentation, I am more comfortable leaving the name "jobs" alone. Yes, we actually have persistent workers in the |
Reasons:
drake
relies so much onfuture
, their vocabularies should agree.Makefile
parallelism can assign different numbers of workers, but all ofdrake
should be capable of this, and it should all be cleaner.The text was updated successfully, but these errors were encountered: