Singularity (software)
   HOME

TheInfoList



OR:

Singularity is a
free Free may refer to: Concept * Freedom, having the ability to do something, without having to obey anyone/anything * Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism * Emancipate, to procur ...
and
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
computer program that performs operating-system-level virtualization also known as containerization. One of the main uses of Singularity is to bring containers and
reproducibility Reproducibility, also known as replicability and repeatability, is a major principle underpinning the scientific method. For the findings of a study to be reproducible means that results obtained by an experiment or an observational study or in a ...
to scientific computing and the high-performance computing (HPC) world. The need for reproducibility requires the ability to use containers to move applications from system to system. Using Singularity containers, developers can work in reproducible environments of their choosing and design, and these complete environments can easily be copied and executed on other platforms. In 2021 the Singularity open source project split into two projects called Apptainer and SingularityCE.


History

Singularity began as an open-source project in 2015, when a team of researchers at
Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory (LBNL), commonly referred to as the Berkeley Lab, is a United States Department of Energy National Labs, United States national laboratory that is owned by, and conducts scientific research on behalf of, t ...
, led by Gregory Kurtzer, developed the initial version written in the C programming language and released it under the BSD license. By the end of 2016, many developers from different research facilities joined forces with the team at Lawrence Berkeley National Laboratory to further the development of Singularity. Singularity quickly attracted the attention of computing-heavy scientific institutions worldwide: * Stanford University Research Computing Center deployed Singularity on their XStream and Sherlock clusters * National Institutes of Health installed Singularity on Biowulf, their 95,000+ core/30 PB Linux cluster * Various sites of the Open Science Grid Consortium including Fermilab started adopting Singularity; by April 2017, Singularity was deployed on 60% of the Open Science Grid network. For two years in a row, in 2016 and 2017, Singularity was recognized by HPCwire editors as "One of five new technologies to watch". In 2017 Singularity also won the first place for the category "Best HPC Programming Tool or Technology". based on the data entered on a voluntary basis in a public registry, Singularity user base was estimated to be greater than 25,000 installations and included users at academic institutions such as Ohio State University and
Michigan State University Michigan State University (Michigan State, MSU) is a public university, public Land-grant university, land-grant research university in East Lansing, Michigan. It was founded in 1855 as the Agricultural College of the State of Michigan, the fi ...
, as well as top HPC centers like Texas Advanced Computing Center, San Diego Supercomputer Center, and Oak Ridge National Laboratory. In February 2018 the Sylabs company, founded by the Singularity author, was announced to provide commercial support for Singularity. In October of that year Sylabs released version 3.0.0 which was a rewrite in the Go programming language. In May 2020 Gregory Kurtzer left Sylabs but retained leadership of the Singularity open source project. In May 2021 Sylabs made a fork of the project and called it SingularityCE. In November 2021 the Singularity open source project joined the
Linux Foundation The Linux Foundation (LF) is a non-profit technology consortium founded in 2000 as a merger between Open Source Development Labs and the Free Standards Group to standardize Linux, support its growth, and promote its commercial adoption. Additi ...
and was renamed to Apptainer.


Features

Singularity is able to support natively high-performance interconnects, such as InfiniBand and Intel Omni-Path Architecture (OPA). Similar to the support for InfiniBand and Intel OPA devices, Singularity can support any PCIe-attached device within the compute node, such as graphic accelerators. Singularity also has native support for Open MPI library by utilizing a hybrid MPI container approach where OpenMPI exists both inside and outside the container. These features make Singularity increasingly useful in areas such as machine learning,
deep learning Deep learning (also known as deep structured learning) is part of a broader family of machine learning methods based on artificial neural networks with representation learning. Learning can be supervised, semi-supervised or unsupervised. De ...
and most data-intensive workloads where the applications benefit from the high bandwidth and low latency characteristics of these technologies.


Integration

HPC systems traditionally already have resource management and job scheduling systems in place, so the container runtime environments must be integrated into the existing system resource manager. Using other enterprise container solutions like Docker in HPC systems would require modifications to the software. Docker containers can be automatically converted to stand-alone singularity files which can then be submitted to HPC resource managers. Singularity seamlessly integrates with many resource managers including: *
HTCondor HTCondor is an open-source high-throughput computing software framework for coarse-grained distributed parallelization of computationally intensive tasks. It can be used to manage workload on a dedicated cluster of computers, or to farm out wor ...
* Oracle Grid Engine (SGE) * SLURM (Simple Linux Utility for Resource Management) * TORQUE (Terascale Open-source Resource and QUEue Manager) * PBS Pro (PBS Professional)
HashiCorp Nomad
(A simple and flexible workload orchestrator)


See also

*
Grid computing Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished from co ...
* OverlayFS * TOP500


References


Further reading


Proceedings of the 10th International Conference on Utility and Cloud Computing: Is Singularity-based Container Technology Ready for Running MPI Applications on HPC Clouds?

Singularity prepares version 3.0, nears 1 million containers served daily

Dell HPC: Containerizing HPC Applications with Singularity

Intel HPC Developer Conference 2017: Introduction to High-Performance Computing HPC Containers and Singularity

HPCwire Reveals Winners of the 2017 Readers’ and Editors’ Choice Awards at SC17 Conference in Denver: Singularity awarded for Best HPC Programming Tool or Technology category


External links

* {{Linux containers Free software programmed in Go Linux containerization Operating system technology Operating system security Software using the Apache license Software using the BSD license Virtualization software Virtualization software for Linux