Cargando…

LHCb: A GPU offloading mechanism for LHCb

The LHCb Software Infrastructure is built around a flexible, extensible, single-process, single-threaded framework named Gaudi. One way to optimise the overall usage of a multi-core server, which is used for example in the Online world, is running multiple instances of Gaudi-based applications concu...

Descripción completa

Detalles Bibliográficos
Autores principales: Badalov, A, Campora Perez, D H, Zvyagin, A, Neufeld, N, Vilasis Cardona, X
Lenguaje:eng
Publicado: 2013
Acceso en línea:http://cds.cern.ch/record/1610817
_version_ 1780932035852894208
author Badalov, A
Campora Perez, D H
Zvyagin, A
Neufeld, N
Vilasis Cardona, X
author_facet Badalov, A
Campora Perez, D H
Zvyagin, A
Neufeld, N
Vilasis Cardona, X
author_sort Badalov, A
collection CERN
description The LHCb Software Infrastructure is built around a flexible, extensible, single-process, single-threaded framework named Gaudi. One way to optimise the overall usage of a multi-core server, which is used for example in the Online world, is running multiple instances of Gaudi-based applications concurrently. For LHCb, this solution has been shown to work well up to 32 cores and is expected to scale up a bit further. The appearance of many-core architectures such as GPGPUs and the Intel Xeon/Phi poses a new challenge for LHCb. Since the individual data sets are so small (about 60 kB raw event size), many events must be processed in parallel for optimum efficiency. This is, however, not possible with the current framework, which allows only a single event at a time. Exploiting the fact that we always have many instances of the same application running, we have developed an offloading mechanism, based on a client-server design. The server runs outside the Gaudi framework and thus imposes no additional dependencies on existing applications. It asynchronously receives event data from multiple client applications, coalesces them, and returns the computed results back to callers. While this incurs additional inter-process communication overhead, it allows co-processors to be used within the existing large framework with minimal changes. We present our solution and describe the achieved performance, both at the single-instance and the server levels.
id cern-1610817
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2013
record_format invenio
spelling cern-16108172019-09-30T06:29:59Zhttp://cds.cern.ch/record/1610817engBadalov, ACampora Perez, D HZvyagin, ANeufeld, NVilasis Cardona, XLHCb: A GPU offloading mechanism for LHCbThe LHCb Software Infrastructure is built around a flexible, extensible, single-process, single-threaded framework named Gaudi. One way to optimise the overall usage of a multi-core server, which is used for example in the Online world, is running multiple instances of Gaudi-based applications concurrently. For LHCb, this solution has been shown to work well up to 32 cores and is expected to scale up a bit further. The appearance of many-core architectures such as GPGPUs and the Intel Xeon/Phi poses a new challenge for LHCb. Since the individual data sets are so small (about 60 kB raw event size), many events must be processed in parallel for optimum efficiency. This is, however, not possible with the current framework, which allows only a single event at a time. Exploiting the fact that we always have many instances of the same application running, we have developed an offloading mechanism, based on a client-server design. The server runs outside the Gaudi framework and thus imposes no additional dependencies on existing applications. It asynchronously receives event data from multiple client applications, coalesces them, and returns the computed results back to callers. While this incurs additional inter-process communication overhead, it allows co-processors to be used within the existing large framework with minimal changes. We present our solution and describe the achieved performance, both at the single-instance and the server levels. Poster-2013-326oai:cds.cern.ch:16108172013-10-14
spellingShingle Badalov, A
Campora Perez, D H
Zvyagin, A
Neufeld, N
Vilasis Cardona, X
LHCb: A GPU offloading mechanism for LHCb
title LHCb: A GPU offloading mechanism for LHCb
title_full LHCb: A GPU offloading mechanism for LHCb
title_fullStr LHCb: A GPU offloading mechanism for LHCb
title_full_unstemmed LHCb: A GPU offloading mechanism for LHCb
title_short LHCb: A GPU offloading mechanism for LHCb
title_sort lhcb: a gpu offloading mechanism for lhcb
url http://cds.cern.ch/record/1610817
work_keys_str_mv AT badalova lhcbagpuoffloadingmechanismforlhcb
AT camporaperezdh lhcbagpuoffloadingmechanismforlhcb
AT zvyagina lhcbagpuoffloadingmechanismforlhcb
AT neufeldn lhcbagpuoffloadingmechanismforlhcb
AT vilasiscardonax lhcbagpuoffloadingmechanismforlhcb