Containerized apps for research

November 5, 2015 — August 22, 2022

computers are awful

Assumed audience:

People who want to do containerization for machine learning research

Content warning:

Obsolete advice danger. Check the date on this.

Figure 1

Apptainer (née Singularity) promises potentially useful container infrastructure.

A USP is that Apptainer containers do not need root privileges which means that they are easy to put on clusters full of incompetent dingleberries which is, by construction, every cluster that is silly enough to let me on.

Apptainer provides a single universal on-ramp from the laptop, to HPC, to cloud.

Users of Apptainer can build applications on their desktops and run hundreds or thousands of instances—without change—on any public cloud.

Features include:

  • Support for data-intensive workloads—The elegance of Apptainer’s architecture bridges the gap between HPC and AI, deep learning/machine learning, and predictive analytics.
  • A secure, single-file-based container format—Cryptographic signatures ensure trusted, reproducible, and validated software environments during runtime and at rest.
  • Extreme mobility—Use standard file and object copy tools to transport, share, or distribute a Apptainer container. Any endpoint with Apptainer installed can run the container.
  • Compatibility—Designed to support complex architectures and workflows, Apptainer is easily adaptable to almost any environment.
  • Simplicity—If you can use Linux®, you can use Apptainer.
  • Security—Apptainer blocks privilege escalation inside containers by using an immutable single-file container format that can be cryptographically signed and verified.
  • User groups—Join the knowledgeable communities via GitHub, Google Groups, or in the Slack community channel.
  • Enterprise-grade features—Leverage ApptainerPRO’s Container Library, Remote Builder, and expanded ecosystem of resources. […]

Released in 2016, Apptainer is an open source-based container platform designed for scientific and high-performance computing (HPC) environments. Used by more than 25,000 top academic, government, and enterprise users, Apptainer is installed on more than 3 million cores and trusted to run over a million jobs each day.

In addition to enabling greater control over the IT environment, Apptainer also supports Bring Your Own Environment (BYOE)—where entire Apptainer environments can be transported between computational resources (e.g., users’ PCs) with reproducibility.

There is a fork of Apptainer available from the original corporate maintainers:

1 References

Kurtzer, Cclerget, Bauer, et al. 2021. Hpcng/Singularity: Singularity 3.7.3.”