Users can currently monopolize node resources by submitting C2D jobs with unrestricted resource allocations, leading to unfair usage and node operator loss of control.
"resources":[
{
"id":"cpu",
"max":1,
"constraints": [
{"id":"ram", min: 1, max 3}, // for each cpu you need to have min 1 gb RAM and max of 3GB
{"id":"disk", min: 10, max 33}, // for each cpu you need to have min 10 gb disc space but no more than 33 GB
]
},
{
"id":"ram",
"max":1
},
{
"id":"disk",
"max":1
},
{
"id":"gpu",
"max":4,
"constraints": [
{"id":"ram", min: 1, max 3}, // for each gpu you need to have min 1 gb RAM and max of 3GB
{"id":"disk", min: 10, max 33},
{"id":"cpu", min: 2, max 4}, // for each gpu you need to have min 2 cpu and max 4 cpu
]
},
]
Users can currently monopolize node resources by submitting C2D jobs with unrestricted resource allocations, leading to unfair usage and node operator loss of control.
Critical Scenarios:
Impact:
Implement solution suggeste by @alexcos20 bellow
Add optional minimum and maximums per resource
Pro: flexible
Con: not easy to understand, code complexity (doable)
Everything is optional: you can have constratins for cpu, but not for memory. You can have either min/max or both