Cargando…

Preparing HEP software for concurrency

The necessity for thread-safe experiment software has recently become very evident, largely driven by the evolution of CPU architectures towards exploiting increasing levels of parallelism. For high-energy physics this represents a real paradigm shift, as concurrent programming was previously only l...

Descripción completa

Detalles Bibliográficos
Autores principales: Clemencic, Marco, Hegner, Benedikt, Mato, Pero, Piparo, Danilo
Lenguaje:eng
Publicado: 2014
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/513/5/052028
http://cds.cern.ch/record/2025718
_version_ 1780947201794506752
author Clemencic, Marco
Hegner, Benedikt
Mato, Pero
Piparo, Danilo
author_facet Clemencic, Marco
Hegner, Benedikt
Mato, Pero
Piparo, Danilo
author_sort Clemencic, Marco
collection CERN
description The necessity for thread-safe experiment software has recently become very evident, largely driven by the evolution of CPU architectures towards exploiting increasing levels of parallelism. For high-energy physics this represents a real paradigm shift, as concurrent programming was previously only limited to special, well-defined domains like control software or software framework internals. This paradigm shift, however, falls into the middle of the successful LHC programme and many million lines of code have already been written without the need for parallel execution in mind. In this paper we have a closer look at the offline processing applications of the LHC experiments and their readiness for the many-core era. We review how previous design choices impact the move to concurrent programming. We present our findings on transforming parts of the LHC experiment reconstruction software to thread-safe code, and the main design patterns that have emerged during the process. A plethora of parallel-programming patterns are well known outside the HEP community, but only a few have turned out to be straightforward enough to be suited for non-expert physics programmers. Finally, we propose a potential strategy for the migration of existing HEP experiment software to the many-core era.
id oai-inspirehep.net-1302152
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2014
record_format invenio
spelling oai-inspirehep.net-13021522022-08-17T13:27:43Zdoi:10.1088/1742-6596/513/5/052028http://cds.cern.ch/record/2025718engClemencic, MarcoHegner, BenediktMato, PeroPiparo, DaniloPreparing HEP software for concurrencyComputing and ComputersThe necessity for thread-safe experiment software has recently become very evident, largely driven by the evolution of CPU architectures towards exploiting increasing levels of parallelism. For high-energy physics this represents a real paradigm shift, as concurrent programming was previously only limited to special, well-defined domains like control software or software framework internals. This paradigm shift, however, falls into the middle of the successful LHC programme and many million lines of code have already been written without the need for parallel execution in mind. In this paper we have a closer look at the offline processing applications of the LHC experiments and their readiness for the many-core era. We review how previous design choices impact the move to concurrent programming. We present our findings on transforming parts of the LHC experiment reconstruction software to thread-safe code, and the main design patterns that have emerged during the process. A plethora of parallel-programming patterns are well known outside the HEP community, but only a few have turned out to be straightforward enough to be suited for non-expert physics programmers. Finally, we propose a potential strategy for the migration of existing HEP experiment software to the many-core era.oai:inspirehep.net:13021522014
spellingShingle Computing and Computers
Clemencic, Marco
Hegner, Benedikt
Mato, Pero
Piparo, Danilo
Preparing HEP software for concurrency
title Preparing HEP software for concurrency
title_full Preparing HEP software for concurrency
title_fullStr Preparing HEP software for concurrency
title_full_unstemmed Preparing HEP software for concurrency
title_short Preparing HEP software for concurrency
title_sort preparing hep software for concurrency
topic Computing and Computers
url https://dx.doi.org/10.1088/1742-6596/513/5/052028
http://cds.cern.ch/record/2025718
work_keys_str_mv AT clemencicmarco preparinghepsoftwareforconcurrency
AT hegnerbenedikt preparinghepsoftwareforconcurrency
AT matopero preparinghepsoftwareforconcurrency
AT piparodanilo preparinghepsoftwareforconcurrency