3 navsection: installguide
4 title: Singularity container runtime
7 Copyright (C) The Arvados Authors. All rights reserved.
9 SPDX-License-Identifier: CC-BY-SA-3.0
12 h2(#overview). Overview
14 Please refer to the "Singularity":{{site.baseurl}}/architecture/singularity.html documentation in the Architecture section.
16 h2(#configuration). Configuration
18 To use singularity, first make sure "Singularity is installed":https://sylabs.io/guides/3.7/user-guide/quick_start.html on your cloud worker image or SLURM/LSF compute nodes as applicable. Note @squashfs-tools@ is required.
21 <pre><code>$ <span class="userinput">singularity version</span>
23 $ <span class="userinput">mksquashfs -version</span>
24 mksquashfs version 4.3-git (2014/06/09)
29 Then update @Containers.RuntimeEngine@ in your cluster configuration:
32 <pre><code> # Container runtime: "docker" (default) or "singularity"
33 RuntimeEngine: singularity
37 Restart your dispatcher (@crunch-dispatch-slurm@, @arvados-dispatch-cloud@, or @arvados-dispatch-lsf@) after updating your configuration file.
39 h2(#singularity_configuration). Singularity configuration
41 Docker images are converted on the fly by @mksquashfs@, which can consume a considerable amount of RAM. The RAM usage of mksquashfs can be restricted in @/etc/singularity/singularity.conf@ with a line like @mksquashfs mem = 512M@. The amount of memory made available for mksquashfs should be configured lower than the smallest amount of memory requested by a container on the cluster to avoid the conversion being killed for using too much memory.