CosmicAC Logo
Architecture

GPU Container architecture

How a GPU Container Job runs on your cluster, from the job starting to the shell you open on it.

A GPU Container Job runs your workload inside a KubeVirt VMI with a GPU and shell access.

How a job starts

When you submit a job from cosmicac-ui or cosmicac-cli, cosmicac-app-node authenticates the request and forwards it to cosmicac-wrk-ork, the orchestrator that places jobs. cosmicac-wrk-ork allocates the GPUs the job needs on one node. It then hands the job to cosmicac-wrk-server-k8s-nvidia, which creates the Kubernetes resources through the API. Kubernetes then creates a pod containing a VMI, with cosmicac-wrk-agent-instance running inside it.

How a shell connects

Once the VMI is running, cosmicac-cli connects directly to cosmicac-wrk-agent-instance over hyperswarm-ssh. Your commands reach the VMI over the Holepunch peer-to-peer stack rather than through cosmicac-app-node, so the interactive session doesn't depend on the control path that submitted the job.

Next steps

On this page