Skip to content

Conversation

@gjoseph92
Copy link
Collaborator

Reflects changes from #4967.

cc @mrocklin


.. autoclass:: Scheduler
:members:
:inherited-members:
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this to get SchedulerState.decide_worker, but maybe we don't want all the Server, etc. methods showing up, and I should add decide_worker explicitly?

Calculating these cousin tasks directly by traversing the graph would be expensive.
Instead, we use the task's TaskGroup, which is the collection of all tasks with the
same key prefix. (``(random-a1b2c3, 0)``, ``(random-a1b2c3, 1)``, ``(random-a1b2c3, 2)``
would all belong to the TaskGroup ``random-a1b2c3``.)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wish we could describe the heuristic without explaining TaskGroups (or at least that they were documented elsewhere), but I couldn't figure out how without something verbose and awkward.

@mrocklin in general I recognize that this addition is probably too much detail on the implementation, and could be much shorter and just describe the scheduler's objective of co-assigning related tasks. I'm not sure if we want to go into the details of the implementation here or not.

@mrocklin
Copy link
Member

mrocklin commented Jul 1, 2021 via email

@gjoseph92
Copy link
Collaborator Author

@mrocklin then in that case, I think this is decent. Should we merge it?

@mrocklin mrocklin merged commit cbcec9c into dask:main Jul 2, 2021
@mrocklin
Copy link
Member

mrocklin commented Jul 2, 2021

Done

@gjoseph92 gjoseph92 deleted the docs/root-task-scheduling branch July 2, 2021 16:26
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