Cargando…

Modernising ATLAS Software Build Infrastructure

In the last year ATLAS has radically updated its software development infrastructure hugely reducing the complexity of building releases and greatly improving build speed, flexibility and code testing. The first step in this transition was the adoption of CMake as the software build system over the...

Descripción completa

Detalles Bibliográficos
Autores principales: Ritsch, Elmar, Gaycken, Goetz, Gumpert, Christian, Krasznahorkay, Attila, Lampl, Walter, Moyse, Edward, Obreshkov, Emil, Potamianos, Karolos, Stewart, Graeme, Undrus, Alexander, Winklmeier, Frank, ATLAS Collaboration
Lenguaje:eng
Publicado: 2017
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/1085/3/032033
http://cds.cern.ch/record/2287040
_version_ 1780955994772209664
author Ritsch, Elmar
Gaycken, Goetz
Gumpert, Christian
Krasznahorkay, Attila
Lampl, Walter
Moyse, Edward
Obreshkov, Emil
Potamianos, Karolos
Stewart, Graeme
Undrus, Alexander
Winklmeier, Frank
ATLAS Collaboration
author_facet Ritsch, Elmar
Gaycken, Goetz
Gumpert, Christian
Krasznahorkay, Attila
Lampl, Walter
Moyse, Edward
Obreshkov, Emil
Potamianos, Karolos
Stewart, Graeme
Undrus, Alexander
Winklmeier, Frank
ATLAS Collaboration
author_sort Ritsch, Elmar
collection CERN
description In the last year ATLAS has radically updated its software development infrastructure hugely reducing the complexity of building releases and greatly improving build speed, flexibility and code testing. The first step in this transition was the adoption of CMake as the software build system over the older CMT. This required the development of an automated translation from the old system to the new, followed by extensive testing and improvements. This resulted in a far more standard build process that was married to the method of building ATLAS software as a series of $12$ separate projects from Subversion. We then proceeded with a migration of the code base from Subversion to Git. As the Subversion repository had been structured to manage each package more or less independently there was no simple mapping that could be used to manage the migration into Git. Instead a specialist set of scripts that captured the software changes across official software releases was developed. With some clean up of the repository and the policy of only migrating packages in production releases, we managed to reduce the repository size from $62$ GiB to $220$ MiB. After moving to Git we took the opportunity to introduce continuous integration so that now each code change from developers is built and tested before being approved. With both CMake and Git in place we also dramatically simplified the build management of ATLAS software. Many heavyweight homegrown tools were dropped and the build procedure was reduced to a single bootstrap of some external packages, followed by a full build of the rest of the stack. This has reduced the time for a build by a factor of $2$. It is now easy to build ATLAS software, freeing developers to test compile intrusive changes or new platform ports with ease. We have also developed a system to build lightweight ATLAS releases, for simulation, analysis or physics derivations which can be built from the same branch.
id cern-2287040
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2017
record_format invenio
spelling cern-22870402021-02-09T10:07:03Zdoi:10.1088/1742-6596/1085/3/032033http://cds.cern.ch/record/2287040engRitsch, ElmarGaycken, GoetzGumpert, ChristianKrasznahorkay, AttilaLampl, WalterMoyse, EdwardObreshkov, EmilPotamianos, KarolosStewart, GraemeUndrus, AlexanderWinklmeier, FrankATLAS CollaborationModernising ATLAS Software Build InfrastructureParticle Physics - ExperimentIn the last year ATLAS has radically updated its software development infrastructure hugely reducing the complexity of building releases and greatly improving build speed, flexibility and code testing. The first step in this transition was the adoption of CMake as the software build system over the older CMT. This required the development of an automated translation from the old system to the new, followed by extensive testing and improvements. This resulted in a far more standard build process that was married to the method of building ATLAS software as a series of $12$ separate projects from Subversion. We then proceeded with a migration of the code base from Subversion to Git. As the Subversion repository had been structured to manage each package more or less independently there was no simple mapping that could be used to manage the migration into Git. Instead a specialist set of scripts that captured the software changes across official software releases was developed. With some clean up of the repository and the policy of only migrating packages in production releases, we managed to reduce the repository size from $62$ GiB to $220$ MiB. After moving to Git we took the opportunity to introduce continuous integration so that now each code change from developers is built and tested before being approved. With both CMake and Git in place we also dramatically simplified the build management of ATLAS software. Many heavyweight homegrown tools were dropped and the build procedure was reduced to a single bootstrap of some external packages, followed by a full build of the rest of the stack. This has reduced the time for a build by a factor of $2$. It is now easy to build ATLAS software, freeing developers to test compile intrusive changes or new platform ports with ease. We have also developed a system to build lightweight ATLAS releases, for simulation, analysis or physics derivations which can be built from the same branch.ATL-SOFT-PROC-2017-056oai:cds.cern.ch:22870402017-10-04
spellingShingle Particle Physics - Experiment
Ritsch, Elmar
Gaycken, Goetz
Gumpert, Christian
Krasznahorkay, Attila
Lampl, Walter
Moyse, Edward
Obreshkov, Emil
Potamianos, Karolos
Stewart, Graeme
Undrus, Alexander
Winklmeier, Frank
ATLAS Collaboration
Modernising ATLAS Software Build Infrastructure
title Modernising ATLAS Software Build Infrastructure
title_full Modernising ATLAS Software Build Infrastructure
title_fullStr Modernising ATLAS Software Build Infrastructure
title_full_unstemmed Modernising ATLAS Software Build Infrastructure
title_short Modernising ATLAS Software Build Infrastructure
title_sort modernising atlas software build infrastructure
topic Particle Physics - Experiment
url https://dx.doi.org/10.1088/1742-6596/1085/3/032033
http://cds.cern.ch/record/2287040
work_keys_str_mv AT ritschelmar modernisingatlassoftwarebuildinfrastructure
AT gayckengoetz modernisingatlassoftwarebuildinfrastructure
AT gumpertchristian modernisingatlassoftwarebuildinfrastructure
AT krasznahorkayattila modernisingatlassoftwarebuildinfrastructure
AT lamplwalter modernisingatlassoftwarebuildinfrastructure
AT moyseedward modernisingatlassoftwarebuildinfrastructure
AT obreshkovemil modernisingatlassoftwarebuildinfrastructure
AT potamianoskarolos modernisingatlassoftwarebuildinfrastructure
AT stewartgraeme modernisingatlassoftwarebuildinfrastructure
AT undrusalexander modernisingatlassoftwarebuildinfrastructure
AT winklmeierfrank modernisingatlassoftwarebuildinfrastructure
AT atlascollaboration modernisingatlassoftwarebuildinfrastructure