We are getting a few calls to support container workloads on our Slurm cluster; I want to support these user's usecases, so am looking into it now.
The problem for me is, I'm not super-familiar with container runtimes excepting (regular rootful) Docker... I see that any Slurm-compatible runtime must be "rootless", so that takes out the integration with regular Docker. How does one choose between the many options (from what I gather, Apptainer/Singularity, Podman, and rootless Docker seem to be the most widely-used.) We also have to support GPUs in these containers, but I assume that any of these can support that.
Can anyone tell me what the most popular Slurm-compatible container runtime may be, and plusses/minuses of the three I mentioned above? Thanks!
We've been using Singularity for this for years with out much issue. It doesn't cover all use cases, but most applications work fine.
We have not implemented this yet: https://slurm.schedmd.com/containers.html%C2%A0 But I intend to investigate it in the future. As of right now we just have the latest version of singularity-ce from EPEL installed on the cluster and users use that from the commandline.
Here are our current docs (though we are in the middle of overhauling them all so this may change in the future): https://github.com/fasrc/User_Codes/tree/master/Singularity_Containers
-Paul Edmon-
On 8/23/24 2:21 PM, wdennis--- via slurm-users wrote:
We are getting a few calls to support container workloads on our Slurm cluster; I want to support these user's usecases, so am looking into it now.
The problem for me is, I'm not super-familiar with container runtimes excepting (regular rootful) Docker... I see that any Slurm-compatible runtime must be "rootless", so that takes out the integration with regular Docker. How does one choose between the many options (from what I gather, Apptainer/Singularity, Podman, and rootless Docker seem to be the most widely-used.) We also have to support GPUs in these containers, but I assume that any of these can support that.
Can anyone tell me what the most popular Slurm-compatible container runtime may be, and plusses/minuses of the three I mentioned above? Thanks!