lablup / lablup/backend.ai

Feature detection for agents

Open
#286 0 comments 0 reactions 1 assignee Claimed by @HyeockJinKim View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.