The High Performance Computing (HPC) domain aims to optimize code in order to use the last multicore and parallel technologies including specific processor instructions. In this computing framework, portability and reproducibility are key concepts. A way to handle these requirements is to use Linux containers. These "light virtual machines" allow to encapsulate applications within its environment in Linux processes. Containers has been recently rediscovered due to their abilities to provide both multi-infrastructure environnement for developers and system administrators and reproducibility due to image building file. Two container solutions are emerging: Docker (1) for micro-services and Singularity (2) for computing applications.
We present here the ComputeOps project which has the goal to study the benefit of containers for HPC applications. This three years project starting in 2018 will provide innovative deliverables such as containerized tutorials, a Singularity Hub for Research, a catalog of manifests allowing the computing reproducibility and a multi-ressources scheduler based on XtremWeb-HEP (3) allowing to launch jobs both on virtual machines and bare metal containers. In collaboration with public and private partners, the project will provide to developers testing platforms with recent processors such as Nvidia GPU and Xeon Phi. Based on several use cases such as ray tracing and machine learning applications using the TensorFlow library, we will present the first results of the ComputeOps project.
(1) Docker: https://www.docker.com/
(2) Singularity: http://singularity.lbl.gov/
(3) XtremWeb-HEP: https://xtremweb-hep.lal.in2p3.fr/