Cargando…

Using OpenMP for HEP Framework Algorithm Scheduling

The OpenMP standard is the primary mechanism used at high performance computing facilities to allow intra-process parallelization. In contrast, many HEP specific software packages (such as CMSSW, GaudiHive, and ROOT) make use of Intels Threading Building Blocks (TBB) library to accomplish the same g...

Descripción completa

Detalles Bibliográficos
Autor principal: Jones, Christopher Duncan
Lenguaje:eng
Publicado: 2020
Materias:
Acceso en línea:http://cds.cern.ch/record/2712271
_version_ 1780965274094141440
author Jones, Christopher Duncan
author_facet Jones, Christopher Duncan
author_sort Jones, Christopher Duncan
collection CERN
description The OpenMP standard is the primary mechanism used at high performance computing facilities to allow intra-process parallelization. In contrast, many HEP specific software packages (such as CMSSW, GaudiHive, and ROOT) make use of Intels Threading Building Blocks (TBB) library to accomplish the same goal. In this talk we will discuss our work to compare TBB and OpenMP when used for scheduling algorithms to be run by a HEP style data processing framework (i.e. running hundreds of interdependent algorithms at most once for each event read from the detector). This includes both scheduling of different algorithms to be run concurrently as well as scheduling concurrent work within one algorithm. As part of the discussion we present an overview of the OpenMP threading model. We also explain how we used OpenMP when creating a simplified HEP-like processing framework. Using that simplified framework, and a similar one written using TBB, we will present performance comparisons between TBB and different compiler versions of OpenMP.
id cern-2712271
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2020
record_format invenio
spelling cern-27122712020-03-06T22:49:14Zhttp://cds.cern.ch/record/2712271engJones, Christopher DuncanUsing OpenMP for HEP Framework Algorithm SchedulingDetectors and Experimental TechniquesThe OpenMP standard is the primary mechanism used at high performance computing facilities to allow intra-process parallelization. In contrast, many HEP specific software packages (such as CMSSW, GaudiHive, and ROOT) make use of Intels Threading Building Blocks (TBB) library to accomplish the same goal. In this talk we will discuss our work to compare TBB and OpenMP when used for scheduling algorithms to be run by a HEP style data processing framework (i.e. running hundreds of interdependent algorithms at most once for each event read from the detector). This includes both scheduling of different algorithms to be run concurrently as well as scheduling concurrent work within one algorithm. As part of the discussion we present an overview of the OpenMP threading model. We also explain how we used OpenMP when creating a simplified HEP-like processing framework. Using that simplified framework, and a similar one written using TBB, we will present performance comparisons between TBB and different compiler versions of OpenMP.CMS-CR-2020-060oai:cds.cern.ch:27122712020-02-10
spellingShingle Detectors and Experimental Techniques
Jones, Christopher Duncan
Using OpenMP for HEP Framework Algorithm Scheduling
title Using OpenMP for HEP Framework Algorithm Scheduling
title_full Using OpenMP for HEP Framework Algorithm Scheduling
title_fullStr Using OpenMP for HEP Framework Algorithm Scheduling
title_full_unstemmed Using OpenMP for HEP Framework Algorithm Scheduling
title_short Using OpenMP for HEP Framework Algorithm Scheduling
title_sort using openmp for hep framework algorithm scheduling
topic Detectors and Experimental Techniques
url http://cds.cern.ch/record/2712271
work_keys_str_mv AT joneschristopherduncan usingopenmpforhepframeworkalgorithmscheduling