bugfix(cpuset): deactivate cpuset management to prevent allocation failure #1
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We are regulary encountering issue #23405: nomad client is dropping tasks when they attempt to allocate the last reservable core(s). The issue is encountered when:
Nomad starts by only granting the "reservable cores" to the share.slice cpuset. This is unexpected for our usecase. Every time a new task with dedicated cores is started, nomad removes those cores from the share.slice cpuset to the reserve.slice one. This in turn has a few consequences:
We do not need this cpuset logic. The cgroup management of the tasks we are running is done in a parallel cgroup hierarchy, and if we want to enforce "exclusive" use we can do it through this mean. As a consequence, this commit fully deactivates the cpuset hook
One consequence of note is that with this change, tasks with shared cpu will potentially run on cores dedicated to tasks if not explicitly set as exclusive.