Hi,
The UT Southwestern BioHPC group (
https://portal.biohpc.swmed.edu) is using Singularity to ease installation of applications on our HPC cluster. We are currently running RHEL 6.x (upgrading to 7.x later this year), and continue to have issues with various applications that expect newer distros / libs. Our user base of biomedical researchers are often not familiar with software installation, so we need to maintain a very large collection of software modules relative to our size and number of team members.
Singularity offers huge promise as a way to allow us to quickly deploy software that e.g. expects recent Ubuntu, without days of effort rebuilding from source, tracking down deps etc. Deep learning and visuzalization packages are particularly problematic for us. The effort required to install frequent updates, building from source on an older OS, is extremely high relative to the usage of the packages. However, the packages are vital to some researchers so we must make them available.
Example - we had a request from 3 users for the latest version of Blender (
www.blender.org). Binaries require GLIBC 2.19 which is newer than our cluster has. We use a Windows VM approach to support some other software, with 3D rendering on the host GPU using the NICE DCV product. This didn't work for blender. A singularity image of the latest blender on Ubuntu took approx. 1 hr to produce. GPU support worked, as did using VirtualGL inside the container to render on the GPU, forwarding graphics into a TurboVNC server on the host for display on the user desktop. In this case Singularity saved multiple days of effort and frustration building the deep dependency tree of blender.
We also plan to leverage
https://biocontainers.pro and singularity to provide trivial access for user to a very large range of versioned bioinformatics software, automatically making new packages/versions available. We have an in-house web-based workflow platform using Nextflow, and wish to encourage use of containerized apps here as a way of improving long-term reproducibility and insulating bioinformaticians from the impacts of cluster updates etc, which can impact a traditional module stack of software.
Finally, it's possible that Singularity will give users enough freedom that we can avoid having to implement complex multi-image cluster or openstack VM environment which has been looking increasingly likely.
Many thanks for all your work!
--
Dave Trudgian
Computational Scientist
UT Southwestern BioHPC