Beyond Scheduler.is_rootish
#8934
Labels
enhancement
Improve existing functionality or make things work better
Scheduler.is_rootish
#8934
The scheduler currently relies on a crude heuristic to infer topologies that may suggest that certain tasks are "root-ish". If the tasks are detected as such, they are "queued" to avoid memory pressure on the workers due to various scheduling artifacts.
There are a couple of known problems with this
_queueable
that is being set by the P2P extension to explicitly disable queuing in the rare cases where the P2P topologies would be simple enough to fall into the heuristics classification.Instead of relying on this heuristic to control queuing I suggest to leverage the newly introduced task spec classes.
I propose to add an attribute to the
Task
class that is flagging whether or not a task is considered rootish (Instead of root-ish we may actually want to flag the task as IO but this is still TBD)This flag would work very similar to how annotations worked before with the important difference that we wouldn't loose any annotations when moving from HLG to Low level graph representation. Therefore, to make this work we'd also have to reimplement low level fusion code (which from all we know is still very important for array like workloads, see also dask/dask#11458)
The text was updated successfully, but these errors were encountered: