DOE PAGES title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Modernising ATLAS Software Build Infrastructure

Abstract

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 integrationmore » 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.« less

Authors:
; ; ; ; ; ; ; ; ; ;
Publication Date:
Research Org.:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States). National Energy Research Scientific Computing Center (NERSC)
Sponsoring Org.:
USDOE Office of Science (SC)
Contributing Org.:
ATLAS Collaboration
OSTI Identifier:
1544177
Resource Type:
Accepted Manuscript
Journal Name:
Journal of Physics. Conference Series
Additional Journal Information:
Journal Volume: 1085; Journal ID: ISSN 1742-6588
Publisher:
IOP Publishing
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Citation Formats

Ritsch, E., Gaycken, G., Gumpert, C., Krasznahorkay, A., Lampl, W., Moyse, E., Obreshkov, E., Potamianos, K., Stewart, G. A., Undrus, A., and Winklmeier, F. Modernising ATLAS Software Build Infrastructure. United States: N. p., 2018. Web. doi:10.1088/1742-6596/1085/3/032033.
Ritsch, E., Gaycken, G., Gumpert, C., Krasznahorkay, A., Lampl, W., Moyse, E., Obreshkov, E., Potamianos, K., Stewart, G. A., Undrus, A., & Winklmeier, F. Modernising ATLAS Software Build Infrastructure. United States. https://doi.org/10.1088/1742-6596/1085/3/032033
Ritsch, E., Gaycken, G., Gumpert, C., Krasznahorkay, A., Lampl, W., Moyse, E., Obreshkov, E., Potamianos, K., Stewart, G. A., Undrus, A., and Winklmeier, F. Sat . "Modernising ATLAS Software Build Infrastructure". United States. https://doi.org/10.1088/1742-6596/1085/3/032033. https://www.osti.gov/servlets/purl/1544177.
@article{osti_1544177,
title = {Modernising ATLAS Software Build Infrastructure},
author = {Ritsch, E. and Gaycken, G. and Gumpert, C. and Krasznahorkay, A. and Lampl, W. and Moyse, E. and Obreshkov, E. and Potamianos, K. and Stewart, G. A. and Undrus, A. and Winklmeier, F.},
abstractNote = {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.},
doi = {10.1088/1742-6596/1085/3/032033},
journal = {Journal of Physics. Conference Series},
number = ,
volume = 1085,
place = {United States},
year = {Sat Sep 01 00:00:00 EDT 2018},
month = {Sat Sep 01 00:00:00 EDT 2018}
}

Journal Article:
Free Publicly Available Full Text
Publisher's Version of Record

Citation Metrics:
Cited by: 1 work
Citation information provided by
Web of Science

Save / Share: