Saved in:
Bibliographic Details
Main Authors: Mambelli, Marco, Coimbra, Bruno Moreira, Urs, Namratha, Baburashvili, Ilya
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2507.21464
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912508009250816
author Mambelli, Marco
Coimbra, Bruno Moreira
Urs, Namratha
Baburashvili, Ilya
author_facet Mambelli, Marco
Coimbra, Bruno Moreira
Urs, Namratha
Baburashvili, Ilya
contents GlideinWMS is a workload manager provisioning resources for many experiments, including CMS and DUNE. The software is distributed both as native packages and specialized production containers. Following an approach used in other communities like web development, we built our workspaces, system-like containers to ease development and testing. Developers can change the source tree or check out a different branch and quickly reconfigure the services to see the effect of their changes. In this paper, we will talk about what differentiates workspaces from other containers. We will describe our base system, composed of three containers: a one-node cluster including a compute element and a batch system, a GlideinWMS Factory controlling pilot jobs, and a scheduler and Frontend to submit jobs and provision resources. Additional containers can be used for optional components. This system can easily run on a laptop, and we will share our evaluation of different container runtimes, with an eye for ease of use and performance. Finally, we will talk about our experience as developers and with students. The GlideinWMS workspaces are easily integrated with IDEs like VS Code, simplifying debugging and allowing development and testing of the system even when offline. They simplified the training and onboarding of new team members and summer interns. And they were useful in workshops where students could have first-hand experience with the mechanisms and components that, in production, run millions of jobs.
format Preprint
id arxiv_https___arxiv_org_abs_2507_21464
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Using Containers to Speed Up Development, to Run Integration Tests and to Teach About Distributed Systems
Mambelli, Marco
Coimbra, Bruno Moreira
Urs, Namratha
Baburashvili, Ilya
Distributed, Parallel, and Cluster Computing
H.3.4; D.2.6
GlideinWMS is a workload manager provisioning resources for many experiments, including CMS and DUNE. The software is distributed both as native packages and specialized production containers. Following an approach used in other communities like web development, we built our workspaces, system-like containers to ease development and testing. Developers can change the source tree or check out a different branch and quickly reconfigure the services to see the effect of their changes. In this paper, we will talk about what differentiates workspaces from other containers. We will describe our base system, composed of three containers: a one-node cluster including a compute element and a batch system, a GlideinWMS Factory controlling pilot jobs, and a scheduler and Frontend to submit jobs and provision resources. Additional containers can be used for optional components. This system can easily run on a laptop, and we will share our evaluation of different container runtimes, with an eye for ease of use and performance. Finally, we will talk about our experience as developers and with students. The GlideinWMS workspaces are easily integrated with IDEs like VS Code, simplifying debugging and allowing development and testing of the system even when offline. They simplified the training and onboarding of new team members and summer interns. And they were useful in workshops where students could have first-hand experience with the mechanisms and components that, in production, run millions of jobs.
title Using Containers to Speed Up Development, to Run Integration Tests and to Teach About Distributed Systems
topic Distributed, Parallel, and Cluster Computing
H.3.4; D.2.6
url https://arxiv.org/abs/2507.21464