Cargando…

Multi-threaded software framework development for the ATLAS experiment

ATLAS's current software framework, Gaudi/Athena, has been very successful for the experiment in LHC Runs 1 and 2. However, its single threaded design has been recognised for some time to be increasingly problematic as CPUs have increased core counts and decreased available memory per core. Eve...

Descripción completa

Detalles Bibliográficos
Autores principales: Stewart, Graeme, Baines, John, Bold, Tomasz, Calafiura, Paolo, Dotti, Andrea, Farrell, Steven, Leggett, Charles, Malon, David, Ritsch, Elmar, Snyder, Scott, Tsulaia, Vakhtang, van Gemmeren, Peter, Wynne, Benjamin
Lenguaje:eng
Publicado: 2016
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/762/1/012024
http://cds.cern.ch/record/2142775
_version_ 1780950198382493696
author Stewart, Graeme
Baines, John
Bold, Tomasz
Calafiura, Paolo
Dotti, Andrea
Farrell, Steven
Leggett, Charles
Malon, David
Ritsch, Elmar
Snyder, Scott
Tsulaia, Vakhtang
van Gemmeren, Peter
Wynne, Benjamin
author_facet Stewart, Graeme
Baines, John
Bold, Tomasz
Calafiura, Paolo
Dotti, Andrea
Farrell, Steven
Leggett, Charles
Malon, David
Ritsch, Elmar
Snyder, Scott
Tsulaia, Vakhtang
van Gemmeren, Peter
Wynne, Benjamin
author_sort Stewart, Graeme
collection CERN
description ATLAS's current software framework, Gaudi/Athena, has been very successful for the experiment in LHC Runs 1 and 2. However, its single threaded design has been recognised for some time to be increasingly problematic as CPUs have increased core counts and decreased available memory per core. Even the multi-process version of Athena, AthenaMP, will not scale to the range of architectures we expect to use beyond Run2. ATLAS examined the requirements on an updated multi-threaded framework and laid out plans for a new framework, including better support for high level trigger (HLT) use cases, in 2014. In this paper we report on our progress in developing the new multi-threaded task parallel extension of Athena, AthenaMT. Implementing AthenaMT has required many significant code changes. Progress has been made in updating key concepts of the framework, to allow the incorporation of different levels of thread safety in algorithmic code (from un-migrated thread-unsafe code, to thread safe copyable code to reentrant code). Substantial advances have also been made in implementing a data flow centric design, which has fundamental implications on the structure of the framework, as well as on the development of the new `event views' infrastructure. These event views support partial event processing and are an essential component to support the HLT's processing of certain regions of interest. A major effort has also been invested to have an early version of AthenaMT that can run simulation on many core architectures, which has augmented the understanding gained from work on earlier ATLAS demonstrators
id cern-2142775
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2016
record_format invenio
spelling cern-21427752019-09-30T06:29:59Zdoi:10.1088/1742-6596/762/1/012024http://cds.cern.ch/record/2142775engStewart, GraemeBaines, JohnBold, TomaszCalafiura, PaoloDotti, AndreaFarrell, StevenLeggett, CharlesMalon, DavidRitsch, ElmarSnyder, ScottTsulaia, Vakhtangvan Gemmeren, PeterWynne, BenjaminMulti-threaded software framework development for the ATLAS experimentParticle Physics - ExperimentATLAS's current software framework, Gaudi/Athena, has been very successful for the experiment in LHC Runs 1 and 2. However, its single threaded design has been recognised for some time to be increasingly problematic as CPUs have increased core counts and decreased available memory per core. Even the multi-process version of Athena, AthenaMP, will not scale to the range of architectures we expect to use beyond Run2. ATLAS examined the requirements on an updated multi-threaded framework and laid out plans for a new framework, including better support for high level trigger (HLT) use cases, in 2014. In this paper we report on our progress in developing the new multi-threaded task parallel extension of Athena, AthenaMT. Implementing AthenaMT has required many significant code changes. Progress has been made in updating key concepts of the framework, to allow the incorporation of different levels of thread safety in algorithmic code (from un-migrated thread-unsafe code, to thread safe copyable code to reentrant code). Substantial advances have also been made in implementing a data flow centric design, which has fundamental implications on the structure of the framework, as well as on the development of the new `event views' infrastructure. These event views support partial event processing and are an essential component to support the HLT's processing of certain regions of interest. A major effort has also been invested to have an early version of AthenaMT that can run simulation on many core architectures, which has augmented the understanding gained from work on earlier ATLAS demonstratorsATL-SOFT-PROC-2016-005oai:cds.cern.ch:21427752016-03-31
spellingShingle Particle Physics - Experiment
Stewart, Graeme
Baines, John
Bold, Tomasz
Calafiura, Paolo
Dotti, Andrea
Farrell, Steven
Leggett, Charles
Malon, David
Ritsch, Elmar
Snyder, Scott
Tsulaia, Vakhtang
van Gemmeren, Peter
Wynne, Benjamin
Multi-threaded software framework development for the ATLAS experiment
title Multi-threaded software framework development for the ATLAS experiment
title_full Multi-threaded software framework development for the ATLAS experiment
title_fullStr Multi-threaded software framework development for the ATLAS experiment
title_full_unstemmed Multi-threaded software framework development for the ATLAS experiment
title_short Multi-threaded software framework development for the ATLAS experiment
title_sort multi-threaded software framework development for the atlas experiment
topic Particle Physics - Experiment
url https://dx.doi.org/10.1088/1742-6596/762/1/012024
http://cds.cern.ch/record/2142775
work_keys_str_mv AT stewartgraeme multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT bainesjohn multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT boldtomasz multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT calafiurapaolo multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT dottiandrea multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT farrellsteven multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT leggettcharles multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT malondavid multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT ritschelmar multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT snyderscott multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT tsulaiavakhtang multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT vangemmerenpeter multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment
AT wynnebenjamin multithreadedsoftwareframeworkdevelopmentfortheatlasexperiment