Publication: Particle tracking and identification on multi- and many-core hardware platforms
Loading...
Identifiers
Publication date
2020-09
Defense date
2020-09-30
Authors
Advisors
Tutors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Particle track reconstruction in high-energy physics is used for purposes
that include simulation, particle analysis, and particle collision
filtering and recording. The LHCb experiment at CERN is undergoing
an upgrade where improvements are being applied to the detectors,
hardware and software. One of the main changes of this upgrade
includes the removal of the "hardware filter" which used custom electronics
to filter particle collisions, and its substitute: the "software
filter". This new filter is composed of commodity hardware which
must be able to process a data rate of 40 Tb per second in real-time.
Different architectures are being considered to achieve this goal, and
the software used to compute it must be optimized and improved
to achieve the target data throughput. This software filter is used
to reconstruct particle collisions, also known as events, including the
trajectories of the resulting particles, which later are analyzed and
used to help explain problems like the matter-antimatter asymmetry.
This thesis explores different opportunities with multi and manycore
architectures, to improve the throughput processing of particle
collisions, and the maintainability and improvement of the source
code used for it.
The Kalman filter algorithm is widely used in high-energy physics
for particle reconstruction, and the Intel Xeon Phi KNL processor offers
a many-core x86 architecture that is well suited for parallel workloads.
Performance and maintainability improvements are discussed, where
optimization are targeted towards the Intel Xeon Phi processor.
GPU architectures are a good fit for high-energy physics workloads,
where its highly parallel architecture can benefit the throughput processing
of it. A GPU framework for event filtering is discussed, in
particular the optimizations and changes implemented to a tracking
algorithm to deliver high-throughput.
Finally vectorization opportunities for CPUs are explored by using
data-oriented algorithms and constructs that benefit the vector units
found in x86 processors. A SPMD compiler that resembles programming
for GPUs is used to improve the readability and performance of
these algorithms.
La reconstrucción de trayectorias en física de partículas se usa con distintos fines entre los que se incluyen la simulación, el análisis y el filtrado y recogida de las colisiones entre protones. El experimento LHCb del CERN se encuentra en pleno proceso de actualización en el que cambios y mejoras serán aplicadas a los detectores, los procesadores y el software. Uno de los principales cambios incluye la eliminación del "filtro hardware" basado en circuitos integrados específicos para estas aplicaciones, por un "filtro software". Este nuevo filtro está compuesto por procesadores de distintas arquitecturas que deben ser capaces de procesar un ratio de datos de 40 Tb por segundo, en tiempo real. Distintas arquitecturas están siendo consideradas para alcanzar este objetivo, y el software utilizado para procesarlo debe ser optimizado y mejorado para conseguir alacanzar el objetivo de rendimiento de procesamiento de datos. Este filtro basado en software es usado para reconstruir las colisiones entre partículas, también conocidas como eventos, lo que incluye las trayectorias que se producen tras la colisión entre protones. Estas son procesadas y analizadas posteriormente, lo que ayuda a entender y explicar problemas como la asimetría entre materia y antimateria. En esta tesis se exploran las potenciales oportunidades que ofrecen las arquitecturas con múltiples núcleos de procesamiento para mejorar el rendimiento al procesar las colisiones entre partículas y el mantenimiento y mejora del código fuente usado para ello. El algoritmo filtro de Kalman es ampliamente utilizado en física de partículas para la reconstrucción de partículas, y el procesador Intel Xeon Phi KNL ofrece una arquitectura x86 con múltiples núcleos que está bien adaptada a cargas de trabajo paralelas. Las arquitecturas GPU se adaptan bien a los problemas encontrados en física de partículas, donde su arquitectura masivamente paralela puede beneficiar el rendimiento de procesado. En esta tesis se discute un framework software basado en GPUs para filtrado de eventos, en particular se discuten las optimizaciones y cambios implementados para un algoritmo de reconstrucción para conseguir un alto rendimiento. Finalmente se exploran las oportunidades que presenta la vectorización en CPUs utilizando algoritmos orientados a datos y estructuras que mejoran las unidades de vectorización en los procesadores x86. Un compilador de modelo SPMD que utiliza un modelo similar al utilizado con GPUs, se utiliza para mejorar la legibilidad y rendimiento de los algoritmos.
La reconstrucción de trayectorias en física de partículas se usa con distintos fines entre los que se incluyen la simulación, el análisis y el filtrado y recogida de las colisiones entre protones. El experimento LHCb del CERN se encuentra en pleno proceso de actualización en el que cambios y mejoras serán aplicadas a los detectores, los procesadores y el software. Uno de los principales cambios incluye la eliminación del "filtro hardware" basado en circuitos integrados específicos para estas aplicaciones, por un "filtro software". Este nuevo filtro está compuesto por procesadores de distintas arquitecturas que deben ser capaces de procesar un ratio de datos de 40 Tb por segundo, en tiempo real. Distintas arquitecturas están siendo consideradas para alcanzar este objetivo, y el software utilizado para procesarlo debe ser optimizado y mejorado para conseguir alacanzar el objetivo de rendimiento de procesamiento de datos. Este filtro basado en software es usado para reconstruir las colisiones entre partículas, también conocidas como eventos, lo que incluye las trayectorias que se producen tras la colisión entre protones. Estas son procesadas y analizadas posteriormente, lo que ayuda a entender y explicar problemas como la asimetría entre materia y antimateria. En esta tesis se exploran las potenciales oportunidades que ofrecen las arquitecturas con múltiples núcleos de procesamiento para mejorar el rendimiento al procesar las colisiones entre partículas y el mantenimiento y mejora del código fuente usado para ello. El algoritmo filtro de Kalman es ampliamente utilizado en física de partículas para la reconstrucción de partículas, y el procesador Intel Xeon Phi KNL ofrece una arquitectura x86 con múltiples núcleos que está bien adaptada a cargas de trabajo paralelas. Las arquitecturas GPU se adaptan bien a los problemas encontrados en física de partículas, donde su arquitectura masivamente paralela puede beneficiar el rendimiento de procesado. En esta tesis se discute un framework software basado en GPUs para filtrado de eventos, en particular se discuten las optimizaciones y cambios implementados para un algoritmo de reconstrucción para conseguir un alto rendimiento. Finalmente se exploran las oportunidades que presenta la vectorización en CPUs utilizando algoritmos orientados a datos y estructuras que mejoran las unidades de vectorización en los procesadores x86. Un compilador de modelo SPMD que utiliza un modelo similar al utilizado con GPUs, se utiliza para mejorar la legibilidad y rendimiento de los algoritmos.
Description
Mención Internacional en el título de doctor
Keywords
Particle tracking, Graphics Processing Units (GPUs), Kalman filtering, Performance