Feature detection for agents
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
Like storage-proxy backends, we have multi-backend support in the agents as well.So the manager should be able to detect what features are available in each agent to reflect certain limitations when scheduling.For instance, our k8s agent backend (beta) supports relatively limited functionality compared to the docker agent backend.
Candidates for the feature flags:
- `SINGLE_NODE_BUNDLING`: support in-agent networking setup for multiple containers.\* The docker agent supports this by a local bridge network for a bundle of containers.
- The k8s agent can support this by making a pod (=session) to be a bundle of containers (=kernels). Internally the k8s cluster may spawn the containers belonging to a single pod on a physically same node or multiple distributed nodes. The Backend.AI agent just don't care of it.
- `MULTI_NODE_BUNDLING`: support cross-agent networking setup for distributed kernels across agents\* The docker agent supports this by an overlay network managed via the Docker Swarm managers.
- The k8s agent does not support this because a single agent abstracts a whole k8s cluster. Cross-agent networking here means cross-cluster networking. The scheduler will prevent assigning multi-node cluster session in such agents.
- `VFOLDER`: support mounting vfolders which can be managed via storage proxy.
CUDA acceleration support should be detected by the reported resource slots, not the feature flags.
JIRA Issue: BA-288
Contributor guide
Assessment
This issue has not been assessed yet.