Cargando…

Development of a Next Generation Concurrent Framework for the ATLAS Experiment

The ATLAS experiment has successfully used its Gaudi/Athena software framework for data taking and analysis during the first LHC run, with billions of events successfully processed. However, the design of Gaudi/Athena dates from early 2000 and the software and the physics code has been written using...

Descripción completa

Detalles Bibliográficos
Autores principales: Leggett, Charles, Stewart, Graeme, Calafiura, Paolo, Wynne, Benjamin, Malon, David, Lampl, Walter
Lenguaje:eng
Publicado: 2015
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/664/7/072031
http://cds.cern.ch/record/2015225
_version_ 1780946654598266880
author Leggett, Charles
Stewart, Graeme
Calafiura, Paolo
Wynne, Benjamin
Malon, David
Lampl, Walter
author_facet Leggett, Charles
Stewart, Graeme
Calafiura, Paolo
Wynne, Benjamin
Malon, David
Lampl, Walter
author_sort Leggett, Charles
collection CERN
description The ATLAS experiment has successfully used its Gaudi/Athena software framework for data taking and analysis during the first LHC run, with billions of events successfully processed. However, the design of Gaudi/Athena dates from early 2000 and the software and the physics code has been written using a single threaded, serial design. This programming model has increasing difficulty in exploiting the potential of current CPUs, which offer their best performance only through taking full advantage of multiple cores and wide vector registers. Future CPU evolution will intensify this trend, with core counts increasing and memory per core falling. With current memory consumption for 64 bit ATLAS reconstruction in a high luminosity environment approaching 4GB, it will become impossible to fully occupy all cores in a machine without exhausting available memory. However, since maximizing performance per watt will be a key metric, a mechanism must be found to use all cores as efficiently as possible. In this paper we report on our progress with a practical demonstration of the use of multi-threading in the ATLAS reconstruction software, using the GaudiHive framework. We have expanded support to Calorimeter, Inner Detector, and Tracking code, discussing what changes were necessary in order to allow the serially designed ATLAS code to run, both to the framework and to the tools and algorithms used. We report on both the performance gains, and what general lessons were learned about the code patterns that had been employed in the software and which patterns were identified as particularly problematic for multi-threading. We also present our findings on implementing a hybrid multi-threaded / multi-process framework, to take advantage of the strengths of each type of concurrency, while avoiding some of their corresponding limitations.
id cern-2015225
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2015
record_format invenio
spelling cern-20152252022-08-10T13:08:39Zdoi:10.1088/1742-6596/664/7/072031http://cds.cern.ch/record/2015225engLeggett, CharlesStewart, GraemeCalafiura, PaoloWynne, BenjaminMalon, DavidLampl, WalterDevelopment of a Next Generation Concurrent Framework for the ATLAS ExperimentParticle Physics - ExperimentThe ATLAS experiment has successfully used its Gaudi/Athena software framework for data taking and analysis during the first LHC run, with billions of events successfully processed. However, the design of Gaudi/Athena dates from early 2000 and the software and the physics code has been written using a single threaded, serial design. This programming model has increasing difficulty in exploiting the potential of current CPUs, which offer their best performance only through taking full advantage of multiple cores and wide vector registers. Future CPU evolution will intensify this trend, with core counts increasing and memory per core falling. With current memory consumption for 64 bit ATLAS reconstruction in a high luminosity environment approaching 4GB, it will become impossible to fully occupy all cores in a machine without exhausting available memory. However, since maximizing performance per watt will be a key metric, a mechanism must be found to use all cores as efficiently as possible. In this paper we report on our progress with a practical demonstration of the use of multi-threading in the ATLAS reconstruction software, using the GaudiHive framework. We have expanded support to Calorimeter, Inner Detector, and Tracking code, discussing what changes were necessary in order to allow the serially designed ATLAS code to run, both to the framework and to the tools and algorithms used. We report on both the performance gains, and what general lessons were learned about the code patterns that had been employed in the software and which patterns were identified as particularly problematic for multi-threading. We also present our findings on implementing a hybrid multi-threaded / multi-process framework, to take advantage of the strengths of each type of concurrency, while avoiding some of their corresponding limitations.ATL-SOFT-PROC-2015-017oai:cds.cern.ch:20152252015-05-11
spellingShingle Particle Physics - Experiment
Leggett, Charles
Stewart, Graeme
Calafiura, Paolo
Wynne, Benjamin
Malon, David
Lampl, Walter
Development of a Next Generation Concurrent Framework for the ATLAS Experiment
title Development of a Next Generation Concurrent Framework for the ATLAS Experiment
title_full Development of a Next Generation Concurrent Framework for the ATLAS Experiment
title_fullStr Development of a Next Generation Concurrent Framework for the ATLAS Experiment
title_full_unstemmed Development of a Next Generation Concurrent Framework for the ATLAS Experiment
title_short Development of a Next Generation Concurrent Framework for the ATLAS Experiment
title_sort development of a next generation concurrent framework for the atlas experiment
topic Particle Physics - Experiment
url https://dx.doi.org/10.1088/1742-6596/664/7/072031
http://cds.cern.ch/record/2015225
work_keys_str_mv AT leggettcharles developmentofanextgenerationconcurrentframeworkfortheatlasexperiment
AT stewartgraeme developmentofanextgenerationconcurrentframeworkfortheatlasexperiment
AT calafiurapaolo developmentofanextgenerationconcurrentframeworkfortheatlasexperiment
AT wynnebenjamin developmentofanextgenerationconcurrentframeworkfortheatlasexperiment
AT malondavid developmentofanextgenerationconcurrentframeworkfortheatlasexperiment
AT lamplwalter developmentofanextgenerationconcurrentframeworkfortheatlasexperiment