Here in the DCOS documents it is stated that
"Deciding where to run processes to best utilize cluster resources is hard, NP-hard in-fact."
I don't deny that that sounds right, but is there a proof somewhere?
Here in the DCOS documents it is stated that
"Deciding where to run processes to best utilize cluster resources is hard, NP-hard in-fact."
I don't deny that that sounds right, but is there a proof somewhere?
Best utilization of resources is variation of bin packaging problem:
We have n-dimension space where every dimension corresponds with one resource type. Each task to be scheduled has specific volume defined by required resources. Additionally task can have constraints that slightly change original task but we can treat this constraints as an additional discrete dimension. The task is to schedule tasks in a way to minimize slack resources and so prevent fragmentation.
For example Marathon uses first fit algorithm which is approximation allogrithm but is not that bad: