Cargando…

Making containers lazy with Docker and CernVM-FS

Containerization technology is becoming more and more popular because it provides an efficient way to improve deployment flexibility by packaging up code into software micro-environments. Yet, containerization has limitations and one of the main ones is the fact that entire container images need to...

Descripción completa

Detalles Bibliográficos
Autores principales: Hardi, N, Blomer, J, Ganis, G, Popescu, R
Lenguaje:eng
Publicado: 2018
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/1085/3/032019
http://cds.cern.ch/record/2838138
_version_ 1780975907755786240
author Hardi, N
Blomer, J
Ganis, G
Popescu, R
author_facet Hardi, N
Blomer, J
Ganis, G
Popescu, R
author_sort Hardi, N
collection CERN
description Containerization technology is becoming more and more popular because it provides an efficient way to improve deployment flexibility by packaging up code into software micro-environments. Yet, containerization has limitations and one of the main ones is the fact that entire container images need to be transferred before they can be used. Container images can be seen as software stacks and High Energy Physics has long solved the distribution problem for large software stacks with CernVM-FS. CernVM-FS provides a global, shared software area, where clients only load the small subset of binaries that are accessed for any given compute job. In this paper, we propose a solution to the problem of efficient image distribution using CernVM-FS for storage and transport of container images. We chose to implement our solution for the Docker platform, due to its popularity and widespread use. To minimize the impact on existing workflows our implementation comes as a Docker plugin, meaning that users will continue to pull, run, modify, and store Docker images using standard Docker tools. We introduce the concept of a thin image, whose contents are served on demand from CernVM-FS repositories. Such behavior closely reassembles the lazy evaluation strategy in programming language theory. Our measurements confirm that the time before a task starts executing depends only on the size of the files actually used, minimizing the cold start-up time in all cases.
id cern-2838138
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2018
record_format invenio
spelling cern-28381382022-10-22T21:46:12Zdoi:10.1088/1742-6596/1085/3/032019http://cds.cern.ch/record/2838138engHardi, NBlomer, JGanis, GPopescu, RMaking containers lazy with Docker and CernVM-FSComputing and ComputersContainerization technology is becoming more and more popular because it provides an efficient way to improve deployment flexibility by packaging up code into software micro-environments. Yet, containerization has limitations and one of the main ones is the fact that entire container images need to be transferred before they can be used. Container images can be seen as software stacks and High Energy Physics has long solved the distribution problem for large software stacks with CernVM-FS. CernVM-FS provides a global, shared software area, where clients only load the small subset of binaries that are accessed for any given compute job. In this paper, we propose a solution to the problem of efficient image distribution using CernVM-FS for storage and transport of container images. We chose to implement our solution for the Docker platform, due to its popularity and widespread use. To minimize the impact on existing workflows our implementation comes as a Docker plugin, meaning that users will continue to pull, run, modify, and store Docker images using standard Docker tools. We introduce the concept of a thin image, whose contents are served on demand from CernVM-FS repositories. Such behavior closely reassembles the lazy evaluation strategy in programming language theory. Our measurements confirm that the time before a task starts executing depends only on the size of the files actually used, minimizing the cold start-up time in all cases.oai:cds.cern.ch:28381382018
spellingShingle Computing and Computers
Hardi, N
Blomer, J
Ganis, G
Popescu, R
Making containers lazy with Docker and CernVM-FS
title Making containers lazy with Docker and CernVM-FS
title_full Making containers lazy with Docker and CernVM-FS
title_fullStr Making containers lazy with Docker and CernVM-FS
title_full_unstemmed Making containers lazy with Docker and CernVM-FS
title_short Making containers lazy with Docker and CernVM-FS
title_sort making containers lazy with docker and cernvm-fs
topic Computing and Computers
url https://dx.doi.org/10.1088/1742-6596/1085/3/032019
http://cds.cern.ch/record/2838138
work_keys_str_mv AT hardin makingcontainerslazywithdockerandcernvmfs
AT blomerj makingcontainerslazywithdockerandcernvmfs
AT ganisg makingcontainerslazywithdockerandcernvmfs
AT popescur makingcontainerslazywithdockerandcernvmfs