-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
Description
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:
- 0 GPU + All CPU: User takes all CPU cores without using GPU
- 1 CPU + All RAM: User takes all RAM with minimal CPU usage
- Excessive Resources: No limits on disk or combinations
Impact:
- Single user can block all other users from the node
- Node operators cannot control fair resource distribution
- Inefficient resource utilization
- Poor user experience for queued jobs
- No visibility of limits in Network dashboard
Implement solution suggeste by @alexcos20 bellow
Add optional minimum and maximums per resource
"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
]
},
]
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
Reactions are currently unavailable