Department/Institute:
UC3M. Departamento de Informática
Degree:
Programa de Doctorado en Ciencia y Tecnología Informática por la Universidad Carlos III de Madrid
Issued date:
2020-09
Defense date:
2020-09-30
Committee:
Presidente: David Exposito Singh.- Secretario: Manuel Prieto Matías.- Vocal: Marco Danelutto
xmlui.dri2xhtml.METS-1.0.item-contributor-funder:
Ministerio de Economía y Competitividad (España)
Sponsor:
Thanks to the Spanish MINISTERIO DE ECONOMÍA Y COMPETITIVIDAD though project grant TIN2016-79637-P TOWARDS UNIFICATION OF HPC AND BIG DATA PARADIGMS, the EU Project ICT
644235 "REPHRASE: REfactoring Parallel Heterogeneous Resource-
Aware Applications", Spanish "Ministerio de Economía y Competitividad"
under the project grant TIN2016-79637-P "Towards Unification
of HPC and Big Data Paradigms", and Madrid Regional Government,
CABAHLA-CM (ConvergenciA Big dAta-Hpc: de Los sensores a las
Aplicaciones) grant number S2018/TCS-4423.
Rights:
Atribución-NoComercial-SinDerivadas 3.0 España
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 tParticle 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 dLa 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.[+][-]