Managing Research Workflows with Singularity Containers

date: 
04/17/2018
Location: 

Norlin E206

Title: “Managing Research Workflows with Singularity Containers”
 
Instructors: Andrew Monaghan
 
Location: Norlin E206  (20 students maximum + Zoom students)              
 
Modules: 2 modules @ 2 hours each
 
 
 
Dates: 
 
Module 1: 17 April, 10:00a-12:00p (Norlin E206)
 
Module 2: 24 April, 10:00a-12:00p (Norlin E206)
 
 
Participant Feedback Survey: http://tinyurl.com/curc-survey16
 
 
Prerequisites: 
 
           - some knowledge of Linux;
 
              - a computer with the following installed:
 
                     a Secure Shell (SSH) client (you already have this if you use Linux or Mac; if you use Windows contact andrew.monaghan@colorado.edu for assistance);
 
                     Singularity: 
 
                                  For Linux: http://singularity.lbl.gov/install-linux
 
                                  For Mac: http://singularity.lbl.gov/install-mac
 
                                  For Windows: http://singularity.lbl.gov/install-windows
 
 
 
 
Overview: A container is an image that includes everything needed to run one or more pieces of software: the code itself, an operating system environment and its associated tools and libraries, and other desired customizations. Containers are “stand-alone”, enabling workflows to be easily packaged and shared across platforms. They enhance reproducibility and negate the need to recompile workflows when porting to different computing environments.  Singularity is an open-source containerization software that is well-suited for porting and scaling workflows for high performance computing (HPC) applications, and additionally it can bootstrap containers from Docker, another popular containerization software. 
 
 
Module 1 will introduce users to Singularity and teach them to build new images (containers), bootstrap existing images from Singularity Hub and Docker Hub (created by other users), and modify images.  In Module 2, users will learn how to port containers to the RMACC Summit supercomputer and run them in an HPC environment, including parallel (multi-core) examples. Users need not take Module 2 if they do not have interest in the HPC applications of containerization.  However, those who wish to take Module 2 should also take Module 1.