This paper describes the deployment of ATLAS offline software in containers for software development and the use in production jobs on the grid - such as event generation, simulation, reconstruction and physics derivations - and in physics analysis. For this we are using Docker and Singularity which are both lightweight virtualization technologies to encapsulates a piece of software inside a complete file system.
The deployment of offline releases via containers removes the interdependence between the runtime environment needed for job execution and the configuration of a computing site’s worker nodes. Once the two are decoupled from each other, sites can upgrade their nodes whenever and however they see fit. Docker or Singularity will provide a uniform runtime environment for the grid. The ATLAS software is distributed to the containers either via the CernVM File System (CVMFS) or with a full standalone installation.
For software development, splitting the build and runtime environment from the development environment allows users to take advantage of many modern code development tools that may not be available in production runtime setups like SLC6. It also frees developers from a dependence on resources like lxplus at CERN and allows any reasonable laptop to be used for ATLAS code development.
We document here a comprehensive comparison of the performance of the different deployment options in different host operating systems, e.g. Ubuntu, OS X and CC7, using minimal Cern Scientific Linux 6 base installations.