Aron D. Roberts's picture

Singularity 1.0 released: containerized applications on HPC clusters

Singularity web site (screen shot), 20 April 2016

On April 14, 2016, the release of Singularity 1.0 was announced by Greg Kurtzer, Linux Cluster Architect for Berkeley Research Computing (BRC) Program’s Savio cluster and LBNL’s HPC group.

Singularity provides a way for researchers and others to package together the artifacts of their computational workflows - one or more Linux applications, with all their dependencies - and run them successfully in a variety of other environments.

This make it much easier to develop a research workflow on a laptop or a laboratory’s server, then bundle it up and copy it: to a departmental cluster; to Savio, the campus’s high-performance computing (HPC) cluster; to a national HPC resource; or to a cloud computing environment. When it is necessary to run existing computations faster, or to work with larger datasets, Singularity can help reduce the time and effort required to get existing computational environments up and running on a new and more powerful system.

From the release announcement posted on LinkedIn Pulse (login required for access):

Singularity is a container platform built around the notion of "Mobility of Compute". With Singularity you can build executable containers based on your host system and define what happens when that container is launched. Processes inside the container can be single binaries, or a complex of binaries, scripts and data.

While there are several full featured container systems that already exist, these container solutions are feature rich as they tend to emulate a full hardware virtualization hypervisor. Because of many of these features (e.g. user level contexts and ability to escalate to root) implementation on large scale multi-user resources is difficult and maybe impossible. This is what motivated the development of Singularity; a lightweight, non-invasive and easily implementable container system that supports existing workflows and focuses on application portability and mobility.

Further detail on features supported in Singularity v1.0 can be found in the release notes.

Exploration is currently underway to explore the feasibility and utility of deploying Singularity in the Berkeley Research Computing Program’s Savio cluster, in support of campus computational research.

Research IT will host a Reading Group presentation and discussion led by Greg Kurtzer on 21 May, noon to 1pm in 200C Warren Hall. Faculty, postdocs, and graduate students interested in exploring the applicability of Singularity to their computational research are especially encouraged to participate. Please contact if you have questions or for additional information.