19–25 Oct 2024
Europe/Zurich timezone

Using containers to speed up development, to run integration tests and to teach about distributed systems

22 Oct 2024, 13:48
18m
Room 2.B (Conference Room)

Room 2.B (Conference Room)

Talk Track 8 - Collaboration, Reinterpretation, Outreach and Education Parallel (Track 8)

Speaker

Kevin Pedro (Fermi National Accelerator Lab. (US))

Description

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'll talk about what differentiates workspaces from other containers.
We'll 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'll share our evaluation of different container runtimes, with an eye for ease of use and performance.
Finally, we'll 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 also 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.

Primary authors

Bruno Moreira Coimbra (Fermi National Accelerator Lab. (US)) Marco Mambelli (Fermilab (US))

Presentation materials