Cargando…

Study of a Fine Grained Threaded Framework Design

Traditionally, HEP experiments exploit the multiple cores in a CPU by having each core process one event. However, future PC designs are expected to use CPUs which double the number of processing cores at the same rate as the cost of memory falls by a factor of two. This effectively means the amount...

Descripción completa

Detalles Bibliográficos
Autor principal: Jones, Christopher
Lenguaje:eng
Publicado: 2012
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/396/2/022027
http://cds.cern.ch/record/1457416
_version_ 1780925112829083648
author Jones, Christopher
author_facet Jones, Christopher
author_sort Jones, Christopher
collection CERN
description Traditionally, HEP experiments exploit the multiple cores in a CPU by having each core process one event. However, future PC designs are expected to use CPUs which double the number of processing cores at the same rate as the cost of memory falls by a factor of two. This effectively means the amount of memory per processing core will remain constant. This is a major challenge for LHC processing frameworks since the LHC is expected to deliver more complex events (e.g. greater pileup events) in the coming years while the LHC experiment's frameworks are already memory constrained. Therefore in the not so distant future we may need to be able to efficiently use multiple cores to process one event. In this presentation we will discuss a design for an HEP processing framework which can allow very fine grained parallelization within one event as well as supporting processing multiple events simultaneously while minimizing the memory footprint of the job. The design is built around the libdispatch framework created by Apple Inc. (a port for Linux is available) whose central concept is the use of task queues. This design also accommodates the reality that not all code will be thread safe and therefore allows one to easily mark modules or sub parts of modules as being thread unsafe. In addition, the design efficiently handles the requirement that events in one run must all be processed before starting to process events from a different run. After explaining the design we will provide measurements from simulating different processing scenarios where the processing times used for the simulation are drawn from processing times measured from actual CMS event processing.
id cern-1457416
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2012
record_format invenio
spelling cern-14574162019-09-30T06:29:59Zdoi:10.1088/1742-6596/396/2/022027http://cds.cern.ch/record/1457416engJones, ChristopherStudy of a Fine Grained Threaded Framework DesignDetectors and Experimental TechniquesTraditionally, HEP experiments exploit the multiple cores in a CPU by having each core process one event. However, future PC designs are expected to use CPUs which double the number of processing cores at the same rate as the cost of memory falls by a factor of two. This effectively means the amount of memory per processing core will remain constant. This is a major challenge for LHC processing frameworks since the LHC is expected to deliver more complex events (e.g. greater pileup events) in the coming years while the LHC experiment's frameworks are already memory constrained. Therefore in the not so distant future we may need to be able to efficiently use multiple cores to process one event. In this presentation we will discuss a design for an HEP processing framework which can allow very fine grained parallelization within one event as well as supporting processing multiple events simultaneously while minimizing the memory footprint of the job. The design is built around the libdispatch framework created by Apple Inc. (a port for Linux is available) whose central concept is the use of task queues. This design also accommodates the reality that not all code will be thread safe and therefore allows one to easily mark modules or sub parts of modules as being thread unsafe. In addition, the design efficiently handles the requirement that events in one run must all be processed before starting to process events from a different run. After explaining the design we will provide measurements from simulating different processing scenarios where the processing times used for the simulation are drawn from processing times measured from actual CMS event processing.CMS-CR-2012-084oai:cds.cern.ch:14574162012-05-11
spellingShingle Detectors and Experimental Techniques
Jones, Christopher
Study of a Fine Grained Threaded Framework Design
title Study of a Fine Grained Threaded Framework Design
title_full Study of a Fine Grained Threaded Framework Design
title_fullStr Study of a Fine Grained Threaded Framework Design
title_full_unstemmed Study of a Fine Grained Threaded Framework Design
title_short Study of a Fine Grained Threaded Framework Design
title_sort study of a fine grained threaded framework design
topic Detectors and Experimental Techniques
url https://dx.doi.org/10.1088/1742-6596/396/2/022027
http://cds.cern.ch/record/1457416
work_keys_str_mv AT joneschristopher studyofafinegrainedthreadedframeworkdesign