Skip to content

Kubernetes resource

C3SE operates a shared Kubernetes cluster (Disa) for users who wish to run containerized applications, with support for GPU workloads and persistent services. C3SE maintains several ready-to-deploy Helm charts, and advanced users may define their own services with standard Kubernetes API.

Getting started

Disa is currently running experimentally. Access to Disa is provided to researchers at cost, please contact us for details.

Differences from HPC resource

Services

Services on Disa can be easily published to be accessed elsewhere, for instance, you may host your database to be accessed on a HPC cluster, or host an AI to be integrated to other services; you may also bring your own authentication method to provide your service to users that are not suitable as project members (e.g. to host a service for participants of an experiment).

Batch jobs vs Deployments

While one run batch jobs on Disa, the typical usage for Kubernetes are the so-called Deployments. A Deployment defines a persistent application, for instance, running a LLM Deployment would ensure that one instance of the specified Pod is running, in the case of software of hardware failure, Kubernetes will automatically start a new pod. You may also replicate the Pods to achieve load-balancing or high availability.

Scheduling

Disa schedules workloads with the kueue scheduler. Like the Slurm scheduler on a HPC cluster, kueue manages workloads with fair-share mechanism to ensure efficient and fair usage of resources, unlike Slurm, workloads within your allocation are allowed to run persistently and bonus workloads are preempted promptly.

For example, if you have a project that allocates 4 GPUs, you may keep get more than 4 GPU tasks scheduled if the cluster is not busy; once other users request more resource, your excess workloads will be preempted (depending on your past usage).