Open PetrosPapapa opened 4 years ago
Relevant drawing from meeting with @MBaczun just now.
However, things can be generalized further:
Introducing "roles" is a much bigger challenge at this point, as resource selection is a whole other optimization problem on its own.
Currently each
Task
(orTaskGenerator
) contains a list of resource names it requires. These are then picked up by theScheduler
usingTask.taskResources
and theresourceMap
provided by theCoordinator
.It would be helpful to allow flexible resource matching, i.e. the potential to have more than 1 resource that can handle a particular task.
For example, one implementation could involve resources that have a list of capabilities. A
Task
might require one or more capabilities from one or more resources.It would be even nicer if the matching function can be generalized to depend on the implementation.
This will complicate the
Scheduler
further as it will have tomerge
the appropriate (or all of?) the different combinations of resources that can handle each task and pick the optimal one.