Our current implementation will exhibit undefined behaviour if a task's equivalence classes change over time. In other words, we assume that the set of ECs for each task is (a) deterministic in the task's fixed properties, and (b) consequently does not change over time.
None of our current scheduling policies (cost models) have dynamic EC sets, but we may want to have them in the future. (For example: it would be conceivable for Kubernetes labels to be used as ECs, but such labels can change over time.)
This issue is primarily to serve as a reminder that dynamically changing ECs aren't supported, and as a starting point for discussion about future support for them.
If we were to support them, we would have to extend the scheduling code (FlowGraphManager, primarily) with code that checks the set of current ECs returned from GetTaskEquivClasses and GetResourceEquivClasses against the current ECs in the flow graph, and updates the graph to reflect any changes (both in the existence and in the arc costs for each equivalence class).
Our current implementation will exhibit undefined behaviour if a task's equivalence classes change over time. In other words, we assume that the set of ECs for each task is (a) deterministic in the task's fixed properties, and (b) consequently does not change over time.
None of our current scheduling policies (cost models) have dynamic EC sets, but we may want to have them in the future. (For example: it would be conceivable for Kubernetes labels to be used as ECs, but such labels can change over time.)
This issue is primarily to serve as a reminder that dynamically changing ECs aren't supported, and as a starting point for discussion about future support for them.
If we were to support them, we would have to extend the scheduling code (
FlowGraphManager
, primarily) with code that checks the set of current ECs returned fromGetTaskEquivClasses
andGetResourceEquivClasses
against the current ECs in the flow graph, and updates the graph to reflect any changes (both in the existence and in the arc costs for each equivalence class).