Refactor CPU core detection
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
Let's make the responsibility of modules and classes involved in CPU core detection clearer.
- Deprecate `agent.vendor.linux.libnuma.get_available_cores()`\* Change `agent.vendor.linux.libnuma.get_core_topology()` to take the CPU core list as an argument instead of calling the sibling `get_available_cores()`
- Let `agent.docker.intrinsic.CPUPlugin` and `agent.k8s.intrinsic.CPUPlugin` to implement their own CPU core detection logic as originally intended.\* Migrate #804's docker cpuset retrieval routine to `agent.docker.intrinsic.CPUPlugin`
- cf) k8s may not have Docker daemons at all.
- Let the activator plugin to provide the cpuset filter, instead of completely overriding the CPU plugin.\* This will allow use of arbitrary CPU plugin implementation without modifying the activator plugin.
- This will ease addition of new agent backend implementations (e.g., CRI, native, etc.).
JIRA Issue: BA-240
Contributor guide
Assessment
This issue has not been assessed yet.