Departament d'Arquitectura de Computadors
http://hdl.handle.net/2117/95886
2024-03-29T11:54:40ZEfficient hardware acceleration of deep neural networks via arithmetic complexity reduction
http://hdl.handle.net/2117/404668
Efficient hardware acceleration of deep neural networks via arithmetic complexity reduction
Reggiani, Enrico
(English) Over the past decade, significant progresses in the field of artificial intelligence have led to remarkable advancements in a wide
range of technologies. Deep learning, a subfield of machine learning centered around deep neural networks (DNNs), has played
a pivotal role in driving these achievements. Indeed, DNNs have demonstrated unprecedented accuracy levels in tasks such as
image recognition, speech recognition, and natural language processing (NLP). However, the high computational demand
associated with current DNN models limits their applicability across different platforms and applications.
Specifically, the constant increase in the number of parameters and operations required for DNN computations, and the growing
complexity of their topologies and layers are posing obstacles for a wide range of computing systems, ranging from small
general-purpose CPUs to hardware accelerators targeting HPC and cloud computing environments.
In this thesis, we explore various research directions aimed at optimizing DNN computations on modern hardware architectures.
We first investigate a novel mathematical technique, called binary segmentation, studiyng its applicability to reduce the arithmetic
complexity of linear algebra operations involving narrow integers on general-purpose CPU architectures. Additionally, we
propose a novel hardware microarchitecture called Bison-e accelerating linear algebra kernels using binary segmentation. We
demonstrate that Bison-e achieves up to 5.6×, 13.9×, and 24× improvement than a single RISC-V core in the computation of
convolution and fully-connected layers of relevant DNNs using 8-bit, 4-bit, and 2-bit data sizes, respectively. Moreover, we show
that Bison-e enhances energy efficiency by 5× for string-matching tasks when compared to a RISC-V-based vector processing
unit (VPU). We integrate Bison-e into a complete SoC based on RISC-V showing that it only accounts for a negligible 0.07% area
overhead compared to the baseline architecture.
We then propose Mix-GEMM, a hardware-software co-designed architecture accelerating quantized DNNs, supporting arbitrary
data sizes ranging from 8-bit to 2-bit, including mixed-precision computations. On the software side, we introduce a library that
enhances the existing BLIS framework and exploits custom RISC-V instructions to allow for high-performance matrix-matrix
multiplication on CPU architectures. On the hardware side, Mix-GEMM leverage on the Bison-e microarchitecture to perform
SIMD computations among narrow integers, with performance scaling as the computational data sizes decrease. Our
experimental evaluation, conducted on representative quantized CNNs and targeting edge and mobile CPUs, demonstrates that
a RISC-V-based edge SoC incorporating Mix-GEMM achieves up to 1.3 TOPS/W in energy efficiency and up to 13.6 GOPS per
core in throughput, surpassing the performance of the OpenBLAS framework running on a commercial RISC-V-based edge
processor by a factor ranging from 5.3× to 15.1×.
Furthermore, synthesis and PnR of the enhanced SoC in 22nm FDX technology shows that Mix-GEMM accounts for only 1% of
the overall SoC area.
We finally explore a novel hardware microarchitecture called Flex-SFU, acceleration complex DNN activation functions. Flex-SFU
expands the set of functional units within deep learning VPUs, used as general-purpose co-processors alongside the main matrix
multiplication units of DNN accelerators targeting HPC and cloud computing. Flex-SFU leverages non-uniform piecewise
interpolation and supports multiple data formats. Thanks to these features, Flex-SFU achieves an average improvement of 22.3×
in mean squared error (MSE) compared to previous piecewise linear (PWL) interpolation approaches. We evaluate Flex-SFU
using over 600 computer vision and NLP models, demonstrating an average end-to-end performance improvement of 35.7%
compared to the baseline AI hardware accelerator, while only introducing a 5.9% area and 0.8% power overhead.; (Español) Durante la última década, avances significativos en el campo de la inteligencia artificial han llevado a notables mejoras en una amplia gama de tecnologías. El deep learning, un subcampo del machine learning centrado en las deep neural networks (DNN), ha desempeñado un papel fundamental en impulsar estos logros. De hecho, las DNN han demostrado niveles de precisión sin precedentes en tareas como el reconocimiento de imágenes, el reconocimiento de voz y el procesamiento del lenguaje natural (NLP). Sin embargo, la alta demanda computacional asociada a los modelos de DNN actuales limita su aplicabilidad en diferentes plataformas y aplicaciones.
Específicamente, el constante aumento en el número de parámetros y operaciones requeridas para las computaciones de DNN, y la creciente complejidad de sus topologías y layers, plantean obstáculos para una amplia gama de sistemas informáticos, desde pequeñas CPU hasta aceleradores HPC.
En esta tesis, exploramos varias direcciones de investigación destinadas a optimizar las computaciones de DNN en arquitecturas de hardware modernas.
Primero, investigamos una técnica matemática llamada binary segmentation, estudiando su aplicabilidad para reducir la complejidad aritmética de operaciones de álgebra lineal que involucran narrow-integers CPUs. Además, proponemos una nueva microarquitectura de hardware llamada Bison-e que acelera algoritmos de álgebra lineal utilizando binary segmentation. Demostramos que Bison-e logra mejoras de hasta 5.6×, 13.9× y 24× en la computación de DNN relevantes utilizando tamaños de datos de 8, 4 y 2 bits, respectivamente. Además, mostramos que Bison-e mejora la eficiencia energética en un 5× para tareas de string-matching en comparación con una unidad de procesamiento vectorial (VPU) basada en RISC-V. Integrar Bison-e en un SoC completo basado en RISC-V muestra que solo representa un 0.07% de sobrecarga de área en comparación con la arquitectura base.
Luego, proponemos Mix-GEMM, una arquitectura co-diseñada de hardware y software que acelera DNN cuantizados, admitiendo tamaños de datos arbitrarios que van desde 8 bits hasta 2 bits, incluyendo cálculos de precisión mixta. En el lado del software, introducimos una libreria que aprovecha las instrucciones personalizadas de RISC-V para permitir una multiplicación de matrices de alto rendimiento. En el lado del hardware, Mix-GEMM aprovecha de Bison-e para realizar cálculos SIMD entre narrow-integers, con un rendimiento que escala a medida que disminuyen los tamaños de datos computacionales. Nuestra evaluación experimental demuestra que un SoC basado en RISC-V que incorpora Mix-GEMM logra hasta 1.3 TOPS/W en eficiencia energética y hasta 13.6 GOPS por core en rendimiento, superando el rendimiento del marco OpenBLAS en un procesador comercial basado en RISC-V en un factor que oscila entre 5.3× y 15.1×.
Además, la síntesis y el PnR del SoC mejorado en tecnología de 22 nm FDX muestran que Mix-GEMM representa solo un 1% del área total del SoC.
Finalmente, exploramos una nueva microarquitectura de hardware llamada Flex-SFU, que acelera las activation functions de DNN complejas. Flex-SFU amplía el conjunto de unidades funcionales dentro de las unidades de procesamiento de deep learning, que se utilizan como coprocesadores de propósito general junto con las unidades principales de multiplicación de matrices de aceleradores de DNN dirigidos a HPC. Flex-SFU aprovecha la interpolación no uniforme y admite múltiples formatos de datos. Gracias a estas características, Flex-SFU logra una mejora promedio del 22.3× en el error cuadrático medio en comparación con enfoques anteriores de interpolación lineal. Evaluamos Flex-SFU utilizando más de 600 modelos de computer vision y NLP, demostrando una mejora promedio de rendimiento end-to-end del 35.7% en comparación con el acelerador de hardware AI de referencia, con solo un 5.9% de sobrecarga de área y un 0.8% de sobrecarga de potencia.
Tesi amb menció de Doctorat Internacional
2024-03-14T19:34:31ZReggiani, Enrico(English) Over the past decade, significant progresses in the field of artificial intelligence have led to remarkable advancements in a wide
range of technologies. Deep learning, a subfield of machine learning centered around deep neural networks (DNNs), has played
a pivotal role in driving these achievements. Indeed, DNNs have demonstrated unprecedented accuracy levels in tasks such as
image recognition, speech recognition, and natural language processing (NLP). However, the high computational demand
associated with current DNN models limits their applicability across different platforms and applications.
Specifically, the constant increase in the number of parameters and operations required for DNN computations, and the growing
complexity of their topologies and layers are posing obstacles for a wide range of computing systems, ranging from small
general-purpose CPUs to hardware accelerators targeting HPC and cloud computing environments.
In this thesis, we explore various research directions aimed at optimizing DNN computations on modern hardware architectures.
We first investigate a novel mathematical technique, called binary segmentation, studiyng its applicability to reduce the arithmetic
complexity of linear algebra operations involving narrow integers on general-purpose CPU architectures. Additionally, we
propose a novel hardware microarchitecture called Bison-e accelerating linear algebra kernels using binary segmentation. We
demonstrate that Bison-e achieves up to 5.6×, 13.9×, and 24× improvement than a single RISC-V core in the computation of
convolution and fully-connected layers of relevant DNNs using 8-bit, 4-bit, and 2-bit data sizes, respectively. Moreover, we show
that Bison-e enhances energy efficiency by 5× for string-matching tasks when compared to a RISC-V-based vector processing
unit (VPU). We integrate Bison-e into a complete SoC based on RISC-V showing that it only accounts for a negligible 0.07% area
overhead compared to the baseline architecture.
We then propose Mix-GEMM, a hardware-software co-designed architecture accelerating quantized DNNs, supporting arbitrary
data sizes ranging from 8-bit to 2-bit, including mixed-precision computations. On the software side, we introduce a library that
enhances the existing BLIS framework and exploits custom RISC-V instructions to allow for high-performance matrix-matrix
multiplication on CPU architectures. On the hardware side, Mix-GEMM leverage on the Bison-e microarchitecture to perform
SIMD computations among narrow integers, with performance scaling as the computational data sizes decrease. Our
experimental evaluation, conducted on representative quantized CNNs and targeting edge and mobile CPUs, demonstrates that
a RISC-V-based edge SoC incorporating Mix-GEMM achieves up to 1.3 TOPS/W in energy efficiency and up to 13.6 GOPS per
core in throughput, surpassing the performance of the OpenBLAS framework running on a commercial RISC-V-based edge
processor by a factor ranging from 5.3× to 15.1×.
Furthermore, synthesis and PnR of the enhanced SoC in 22nm FDX technology shows that Mix-GEMM accounts for only 1% of
the overall SoC area.
We finally explore a novel hardware microarchitecture called Flex-SFU, acceleration complex DNN activation functions. Flex-SFU
expands the set of functional units within deep learning VPUs, used as general-purpose co-processors alongside the main matrix
multiplication units of DNN accelerators targeting HPC and cloud computing. Flex-SFU leverages non-uniform piecewise
interpolation and supports multiple data formats. Thanks to these features, Flex-SFU achieves an average improvement of 22.3×
in mean squared error (MSE) compared to previous piecewise linear (PWL) interpolation approaches. We evaluate Flex-SFU
using over 600 computer vision and NLP models, demonstrating an average end-to-end performance improvement of 35.7%
compared to the baseline AI hardware accelerator, while only introducing a 5.9% area and 0.8% power overhead.
(Español) Durante la última década, avances significativos en el campo de la inteligencia artificial han llevado a notables mejoras en una amplia gama de tecnologías. El deep learning, un subcampo del machine learning centrado en las deep neural networks (DNN), ha desempeñado un papel fundamental en impulsar estos logros. De hecho, las DNN han demostrado niveles de precisión sin precedentes en tareas como el reconocimiento de imágenes, el reconocimiento de voz y el procesamiento del lenguaje natural (NLP). Sin embargo, la alta demanda computacional asociada a los modelos de DNN actuales limita su aplicabilidad en diferentes plataformas y aplicaciones.
Específicamente, el constante aumento en el número de parámetros y operaciones requeridas para las computaciones de DNN, y la creciente complejidad de sus topologías y layers, plantean obstáculos para una amplia gama de sistemas informáticos, desde pequeñas CPU hasta aceleradores HPC.
En esta tesis, exploramos varias direcciones de investigación destinadas a optimizar las computaciones de DNN en arquitecturas de hardware modernas.
Primero, investigamos una técnica matemática llamada binary segmentation, estudiando su aplicabilidad para reducir la complejidad aritmética de operaciones de álgebra lineal que involucran narrow-integers CPUs. Además, proponemos una nueva microarquitectura de hardware llamada Bison-e que acelera algoritmos de álgebra lineal utilizando binary segmentation. Demostramos que Bison-e logra mejoras de hasta 5.6×, 13.9× y 24× en la computación de DNN relevantes utilizando tamaños de datos de 8, 4 y 2 bits, respectivamente. Además, mostramos que Bison-e mejora la eficiencia energética en un 5× para tareas de string-matching en comparación con una unidad de procesamiento vectorial (VPU) basada en RISC-V. Integrar Bison-e en un SoC completo basado en RISC-V muestra que solo representa un 0.07% de sobrecarga de área en comparación con la arquitectura base.
Luego, proponemos Mix-GEMM, una arquitectura co-diseñada de hardware y software que acelera DNN cuantizados, admitiendo tamaños de datos arbitrarios que van desde 8 bits hasta 2 bits, incluyendo cálculos de precisión mixta. En el lado del software, introducimos una libreria que aprovecha las instrucciones personalizadas de RISC-V para permitir una multiplicación de matrices de alto rendimiento. En el lado del hardware, Mix-GEMM aprovecha de Bison-e para realizar cálculos SIMD entre narrow-integers, con un rendimiento que escala a medida que disminuyen los tamaños de datos computacionales. Nuestra evaluación experimental demuestra que un SoC basado en RISC-V que incorpora Mix-GEMM logra hasta 1.3 TOPS/W en eficiencia energética y hasta 13.6 GOPS por core en rendimiento, superando el rendimiento del marco OpenBLAS en un procesador comercial basado en RISC-V en un factor que oscila entre 5.3× y 15.1×.
Además, la síntesis y el PnR del SoC mejorado en tecnología de 22 nm FDX muestran que Mix-GEMM representa solo un 1% del área total del SoC.
Finalmente, exploramos una nueva microarquitectura de hardware llamada Flex-SFU, que acelera las activation functions de DNN complejas. Flex-SFU amplía el conjunto de unidades funcionales dentro de las unidades de procesamiento de deep learning, que se utilizan como coprocesadores de propósito general junto con las unidades principales de multiplicación de matrices de aceleradores de DNN dirigidos a HPC. Flex-SFU aprovecha la interpolación no uniforme y admite múltiples formatos de datos. Gracias a estas características, Flex-SFU logra una mejora promedio del 22.3× en el error cuadrático medio en comparación con enfoques anteriores de interpolación lineal. Evaluamos Flex-SFU utilizando más de 600 modelos de computer vision y NLP, demostrando una mejora promedio de rendimiento end-to-end del 35.7% en comparación con el acelerador de hardware AI de referencia, con solo un 5.9% de sobrecarga de área y un 0.8% de sobrecarga de potencia.Acceleration of automatic speech recognition for low-power devices
http://hdl.handle.net/2117/404658
Acceleration of automatic speech recognition for low-power devices
Pinto Rivero, Dennis
(English) In this thesis, we study the challenges preventing ASR deployment on edge devices and propose innovations to tackle them, hopefully moving the technology a step forward to the future. First, we characterize state-of-the-art hybrid DNN-HMM. After characterizing its execution on a representative low-power platform, we propose a heterogeneous platform that contains an accelerator to perform the DNN inference and another accelerator to perform the graph search. This approach results in 4.5x faster execution and 4.3x less energy consumption when compared to a baseline CPU-GPU low-power platform.
To further improve the performance of ASR, we then look into the run-time properties specific to ASR. When ASR is executed on the edge, it generally decodes audio frame by frame. During some frames, the system contains many hypotheses whereas, in other frames, the number of hypotheses may be significantly lower. We determine that the number of hypotheses, which can be understood as the confidence of the ASR decoder, can be leveraged by reducing the arithmetic precision of the computations during high confidence steps and increasing it during low confidence steps. According to our results, our technique provides 19.5% reduction in execution time while also reducing the energy consumption by about 16.9%, compared to the heterogeneous platform previously described, with degradation of accuracy below 1%.
Hybrid DNN-HMM ASR systems provide outstanding transcription accuracy even in challenging benchmarks. However, Hybrid DNN-HMM ASR is not the only approach to ASR. End-to-end ASR systems have recently reached state-of-the-art accuracy. These systems are based on large neural networks that are trained to generate the set of hypotheses by themselves. This neural network is trained to learn lexical and language relationships between sounds. Neurons in state-of-the-art neural networks are often activated with a ReLU function, which generates, during run-time, abundant zeros. We design Mixture-of-Rookies, a prediction scheme to detect at run-time when a neuron is going to generate a zero. This technique is embedded in a neural network accelerator that avoids computing the neurons when they are predicted to generate a zero. We estimate that this approach can provide a speedup of 1.21x while consuming 17.7% less energy than a baseline accelerator, for a specific end-to-end system. Furthermore, as many neural networks used for other applications contain ReLU, we evaluate our technique with different neural networks and determine that it can provide significant benefits across the board.
Beyond the high-level categories of Hybrid or end-to-end, there are minor variations with often significant impact on transcription accuracy. As more research is conducted, new techniques will keep fine-tuning the algorithms and models for specific use-cases, resulting in a rich collection of alternative systems and techniques for speech recognition. However, this creates an additional challenge for computer architects. An accelerator designed to execute a very specific ASR system will provide huge performance gains but, at the same time, restrict the platform to execute a single ASR system. Furthermore, it risks becoming quickly obsolete, once new ASR techniques hit the market. To tackle this challenge, we propose ASRPU, a programmable ASR accelerator that, taking inspiration from GPUs, enables efficient execution of a wide range of ASR systems and provides a convenient programming model that enables ASR systems to be easily implemented. Our results show that ASRPU can execute state-of-the-art ASR in real-time while consuming less than 1.8W. According to our estimations, the entire accelerator fits in about 12mm² when built from 32nm cell nodes.; (Español) En esta tesis, estudiamos los desafíos que impiden el despliege de los sistemas de reconocimiento de voz en dispositivos de bajo consumo y proponemos innovaciones para solucionarlos. Primero, caracterizamos un sistema estado-del-arte basado en el modelo "hybrid HMM-DNN ASR" ejecutado en una plataforma de bajo consumo.. Después de analizar el sistema, proponemos una plataforma heterogénea que contiene una CPU y varios chips específicos para acelerar la búsqueda en el grafo de decodificación y la inferencia de la red neuronal. Al comparar la ejecución en esta plataforma con la ejecución en un sistema base, hemos comprobado que la plataforma heterogénea resulta en una mejora de 4.5x en tiempo de ejecución y una reducción de 4.3x en el consumo de energía.
Para seguir mejorando el rendimiento de esta plataforma, proponemos una técnica que aprovecha una propiedad dinámica de los sistemas de reconocimiento de voz que llamamos "decoder confidence". A medida que el sistema de reconocimiento va decodificando un audio, este va generando transcripciones alternativas o "hipótesis". Para esta técnica, asumimos que cuando el sistema considera un número bajo de hipótesis su "confianza" es alta, y cuando considera un número alto de hipótesis, su "confianza" es baja. Usando esta información, ajustamos la precisión numérica empleada durante la inferencia de la red neural, ahorrando tiempo de ejecución y energía cuando la precisión es menor, principalmente al reducir los accessos a memoria principal. En nuestros experimentos, esta técnica resulta en una reducción del 19.5% en tiempo de ejecución y una redución del 17.7% en consumo energético, con un aumento del porcentaje de errores en la transcripción inferior al 1%.
En nuestro siguiente trabajo estudiamos un sistema de reconocimiento de voz del tipo "end-to-end". Estos sistemas consisten en una red neural más grande y completa que genera directamente las transcripciones. Debido a la simplicidad del entrenamiento de estos sistemas comparado con los sistemas "hybrid", junto a otras ventajas que presentan, los sistemas "end-to-end" han ganado popularidad en los últimos años y muchos de ellos ya alcanzan resultados estado-del-arte. En esta técnica, aprovechamos que la mayoría de estos sistemas emplean funciones ReLU como activación para las capas internas de la red neuronal. Esta función de activación genera un abundante número de ceros en tiempo de ejecución. En esta técnica, proponemos un predictor, llamado "Mixture-of-rookies" que detecta de antemano cuando la ejecución de una neurona va a resultar en cero. Cuando se da el caso, en vez de ejecutar la neurona, escribimos un cero a su salida, ahorrándonos los cálculos y accesos a memoria que requiere el cálculo de la misma. Para probar que esta técnica se puede aplicar a otros ámbitos, probamos su efectividad en otras redes neuronales de reconocimiento de imágenes, aparte de la red neuronal para reconocimiento de voz. A través de los experimentos que hemos realizado, estimamos que esta técnica proporciona un "speedup" de 1.21x y una redución del 17.7% en consumo de energía de media.
En nuestro último trabajo, diseñamos un accelerador específico para reconocimiento de voz que sea capaz de ejecutar el sistema completo. Nuestro enfoque consiste en proporcionar la máxima flexibilidad, que le permita ejecutar cualquier sistema de reconocimiento de voz, mientras aprovechamos características comunes a la mayoría de sistemas para optimizar su ejecución mediante unidades hardware especializadas. Este acelerador, llamado ASRPU, consiste en un conjunto de unidades de cómputo programables y una serie de unidades específicas y controladores, junto a una jerarquía de memoria optimizada para reconocimiento de voz. De acuerdo con nuestros modelos, una configuración de 1.8W y 12mm² puede ejecutar sistemas de reconocimiento de voz estado-del-arte en tiempo real.
2024-03-14T19:32:40ZPinto Rivero, Dennis(English) In this thesis, we study the challenges preventing ASR deployment on edge devices and propose innovations to tackle them, hopefully moving the technology a step forward to the future. First, we characterize state-of-the-art hybrid DNN-HMM. After characterizing its execution on a representative low-power platform, we propose a heterogeneous platform that contains an accelerator to perform the DNN inference and another accelerator to perform the graph search. This approach results in 4.5x faster execution and 4.3x less energy consumption when compared to a baseline CPU-GPU low-power platform.
To further improve the performance of ASR, we then look into the run-time properties specific to ASR. When ASR is executed on the edge, it generally decodes audio frame by frame. During some frames, the system contains many hypotheses whereas, in other frames, the number of hypotheses may be significantly lower. We determine that the number of hypotheses, which can be understood as the confidence of the ASR decoder, can be leveraged by reducing the arithmetic precision of the computations during high confidence steps and increasing it during low confidence steps. According to our results, our technique provides 19.5% reduction in execution time while also reducing the energy consumption by about 16.9%, compared to the heterogeneous platform previously described, with degradation of accuracy below 1%.
Hybrid DNN-HMM ASR systems provide outstanding transcription accuracy even in challenging benchmarks. However, Hybrid DNN-HMM ASR is not the only approach to ASR. End-to-end ASR systems have recently reached state-of-the-art accuracy. These systems are based on large neural networks that are trained to generate the set of hypotheses by themselves. This neural network is trained to learn lexical and language relationships between sounds. Neurons in state-of-the-art neural networks are often activated with a ReLU function, which generates, during run-time, abundant zeros. We design Mixture-of-Rookies, a prediction scheme to detect at run-time when a neuron is going to generate a zero. This technique is embedded in a neural network accelerator that avoids computing the neurons when they are predicted to generate a zero. We estimate that this approach can provide a speedup of 1.21x while consuming 17.7% less energy than a baseline accelerator, for a specific end-to-end system. Furthermore, as many neural networks used for other applications contain ReLU, we evaluate our technique with different neural networks and determine that it can provide significant benefits across the board.
Beyond the high-level categories of Hybrid or end-to-end, there are minor variations with often significant impact on transcription accuracy. As more research is conducted, new techniques will keep fine-tuning the algorithms and models for specific use-cases, resulting in a rich collection of alternative systems and techniques for speech recognition. However, this creates an additional challenge for computer architects. An accelerator designed to execute a very specific ASR system will provide huge performance gains but, at the same time, restrict the platform to execute a single ASR system. Furthermore, it risks becoming quickly obsolete, once new ASR techniques hit the market. To tackle this challenge, we propose ASRPU, a programmable ASR accelerator that, taking inspiration from GPUs, enables efficient execution of a wide range of ASR systems and provides a convenient programming model that enables ASR systems to be easily implemented. Our results show that ASRPU can execute state-of-the-art ASR in real-time while consuming less than 1.8W. According to our estimations, the entire accelerator fits in about 12mm² when built from 32nm cell nodes.
(Español) En esta tesis, estudiamos los desafíos que impiden el despliege de los sistemas de reconocimiento de voz en dispositivos de bajo consumo y proponemos innovaciones para solucionarlos. Primero, caracterizamos un sistema estado-del-arte basado en el modelo "hybrid HMM-DNN ASR" ejecutado en una plataforma de bajo consumo.. Después de analizar el sistema, proponemos una plataforma heterogénea que contiene una CPU y varios chips específicos para acelerar la búsqueda en el grafo de decodificación y la inferencia de la red neuronal. Al comparar la ejecución en esta plataforma con la ejecución en un sistema base, hemos comprobado que la plataforma heterogénea resulta en una mejora de 4.5x en tiempo de ejecución y una reducción de 4.3x en el consumo de energía.
Para seguir mejorando el rendimiento de esta plataforma, proponemos una técnica que aprovecha una propiedad dinámica de los sistemas de reconocimiento de voz que llamamos "decoder confidence". A medida que el sistema de reconocimiento va decodificando un audio, este va generando transcripciones alternativas o "hipótesis". Para esta técnica, asumimos que cuando el sistema considera un número bajo de hipótesis su "confianza" es alta, y cuando considera un número alto de hipótesis, su "confianza" es baja. Usando esta información, ajustamos la precisión numérica empleada durante la inferencia de la red neural, ahorrando tiempo de ejecución y energía cuando la precisión es menor, principalmente al reducir los accessos a memoria principal. En nuestros experimentos, esta técnica resulta en una reducción del 19.5% en tiempo de ejecución y una redución del 17.7% en consumo energético, con un aumento del porcentaje de errores en la transcripción inferior al 1%.
En nuestro siguiente trabajo estudiamos un sistema de reconocimiento de voz del tipo "end-to-end". Estos sistemas consisten en una red neural más grande y completa que genera directamente las transcripciones. Debido a la simplicidad del entrenamiento de estos sistemas comparado con los sistemas "hybrid", junto a otras ventajas que presentan, los sistemas "end-to-end" han ganado popularidad en los últimos años y muchos de ellos ya alcanzan resultados estado-del-arte. En esta técnica, aprovechamos que la mayoría de estos sistemas emplean funciones ReLU como activación para las capas internas de la red neuronal. Esta función de activación genera un abundante número de ceros en tiempo de ejecución. En esta técnica, proponemos un predictor, llamado "Mixture-of-rookies" que detecta de antemano cuando la ejecución de una neurona va a resultar en cero. Cuando se da el caso, en vez de ejecutar la neurona, escribimos un cero a su salida, ahorrándonos los cálculos y accesos a memoria que requiere el cálculo de la misma. Para probar que esta técnica se puede aplicar a otros ámbitos, probamos su efectividad en otras redes neuronales de reconocimiento de imágenes, aparte de la red neuronal para reconocimiento de voz. A través de los experimentos que hemos realizado, estimamos que esta técnica proporciona un "speedup" de 1.21x y una redución del 17.7% en consumo de energía de media.
En nuestro último trabajo, diseñamos un accelerador específico para reconocimiento de voz que sea capaz de ejecutar el sistema completo. Nuestro enfoque consiste en proporcionar la máxima flexibilidad, que le permita ejecutar cualquier sistema de reconocimiento de voz, mientras aprovechamos características comunes a la mayoría de sistemas para optimizar su ejecución mediante unidades hardware especializadas. Este acelerador, llamado ASRPU, consiste en un conjunto de unidades de cómputo programables y una serie de unidades específicas y controladores, junto a una jerarquía de memoria optimizada para reconocimiento de voz. De acuerdo con nuestros modelos, una configuración de 1.8W y 12mm² puede ejecutar sistemas de reconocimiento de voz estado-del-arte en tiempo real.Job scheduling for disaggregated memory in high performance computing systems
http://hdl.handle.net/2117/404651
Job scheduling for disaggregated memory in high performance computing systems
Vieira Zacarias, Felippe
(English) In a typical HPC cluster system, a node is the elemental component unit of this architecture. Memory and compute resources are tightly coupled in each node and the rigid boundaries between nodes limits compute and memory resource utilization. The problem is increased by the fact that HPC applications have a widely varying per-node memory footprint due to diverse application characteristics, differing problem sizes, and strong scaling. In fact, 25% to 76% of the system's total memory capacity typically remains idle. Disaggregated memory offers a way to improve memory utilization, as memory becomes a pool that can be dynamically composed to match the needs of the workloads. It enables fine-grained allocation of memory capacity to jobs while maintaining the cost-effectiveness and scalability of a cluster architecture.
A key component for the distribution of computing power within the cluster infrastructure is the RJMS or simply resource manager. Its goal is to satisfy users' demands and achieve acceptable performance in the overall system utilization by efficiently matching requests to resources. Even though several researches on RJMS have been carried out to solve problems related to the current state-of-the-art on HPC systems, memory disaggregation is still under development. Therefore, adopting a disaggregated architecture means redesigning the resource manager services. In this thesis we propose an efficient memory disaggregated infrastructure for a cluster resource manager and its evaluation at scale through a structured simulated experimental methodology employing a contention model that models the impact of shared resources in disaggregated scenarios.
Sharing common memory devices or interfaces in a disaggregated infrastructure may incur an unsatisfactory loss of performance because concurrent memory access can saturate the resource; we start our study by introducing a systematic methodology to build a contention model. Extensive real-machine experimentation and the results of workloads have shown that our contention model predicts performance degradation with at most an average error of 1.19% and max error of 14.6%. Compared with the state-of-the-art, the relative improvements are almost 24 % on average and 33% for the worst case.
In sequence, we argue that it is possible to increase throughput and utilization using memory disaggregated in a resource manager. We show that depending on the level of imbalance between the system and memory demands of scheduled jobs, memory disaggregation enables resource savings of up to 33% compared to the state-of-the-art resource manager. In addition, on average, it can increase the memory utilization by a factor of 1.6, while having almost 90% of CPU utilization.
In our study, we also investigate how critical memory demand bounds are for maximising system throughput and minimising job response time. We analyse to what degree the users would have a natural incentive to provide accurate memory bounds. We demonstrate that even when there is a large effect on system throughput (-25%) and response time (5 times higher), there is a very little direct incentive for the users to be accurate in their estimates, with only an 8% increase in response time. We further demonstrate that taking advantage of memory temporal and spatial imbalance among jobs delivers improvements up to 18% in throughput, 38% in throughput per dollar, and up to 69% reduction in job response time (median) when there are imbalanced memory usage and overestimated demands on underprovisioned systems.
Overall, we believe our study provides valuable insights on the importance of design space exploration for disaggregated memory HPC systems. We demonstrate that by understanding disruptive architectural changes on future systems and the demands of the workloads, system provisioning can be carefully designed to achieve the best cost-benefit.; (Español) En un clúster HPC. un nodo es la unidad elemental de esta arquitectura. Como la memoria y computación están estrechamente acoplados los límites rígidos entre nodos limitan la utilización de los recursos. El problema se agrava debido a que las aplicaciones de HPC tienen requerimientos de memoria muy variables. De hecho, normalmente se deja inactive entre un 25% y un 76% de la capacidad total de memoria del sistema. La memoria desagregada propone una forma de mejorar la utilización de la memoria, ya que la convierte en un conjunto que puede componerse dinámicamente. Permite una asignación de capacidad de memoria de granularidad fina a los trabajos, manteniendo a la vez la rentabilidad y escalabilidad de una arquitectura de clúster.
Un componente clave para la distribución de recursos en un clúster es el RJMS o simplemente gestor de recursos. Su objetivo es satisfacer las demandas de los usuarios y lograr un rendimiento aceptable en la utilización general del sistema, mediante una asignación eficiente de los recursos. Aunque se han llevado a cabo varias investigaciones sobre RJMS, la memoria desagregada aun esta en desarrollo. En esta tesis, proponemos una infraestructura eficiente de memoria desagregada para un gestor de recursos de clúster y evaluamos su rendimiento a gran escala mediante una metodología experimental simulada y estructurada que utiliza un modelo de contención que simula el impacto de los recursos compartidos en escenarios desagregados.
Compartir interfaces de memoria en una infraestructura desagregada puede generar una pérdida de rendimiento con acceso concurrente a la memoria. Comenzamos nuestro estudio presentando una metodología sistemática para construir un modelo de contención. Experimentación extensiva en máquinas reales y los resultados de las cargas de trabajo han demostrado que nuestro modelo de contención predice una degradación del rendimiento con un error promedio de 1.19% y un error máximo de 14.6%. En comparación con el estado del arte, las mejoras relativas son casi del 24% en promedio y del 33% en el peer de los casos.
A continuación, argumentarnos que es posible aumentar el rendimiento y la utilización del clúster utilizando la memoria desagregada en un gestor de recursos. Mostramos que, dependiendo del nivel de desequilibrio entre el sistema y las demandas de memoria de los trabajos, la desagregación de la memoria permite ahorrar recursos de hasta un 33% en comparación con el estado del arte. Además, en promedio, puede aumentar la utilización de la memoria en un factor de 1.6, mientras se utiliza casi el 90% de la CPU.
En nuestro estudio, también investigamos cuan crucial son las demandas de memoria para maximizar el rendimiento del sistema y minimizar el tiempo de respuesta de los trabajos. Analizamos en qué medida los usuarios tendrían un incentivo natural para ser precisos. Demostramos que incluso cuando hay un gran impacto en el rendimiento del sistema (-25%} y en el tiempo de respuesta (5 veces mayor}, hay muy poco incentive directo para que los usuarios sean precises en sus estimaciones, con solo un aumento del 8% en el tiempo de respuesta. Además, demostramos que aprovechar el desequilibrio temporal y espacial de la memoria entre los trabajos proporciona mejoras de hasta un 18% en el rendimiento, un 38% en el rendimiento por d61ar y hasta un 69% de reducción en el tiempo de respuesta del trabajo (mediana), cuando existe un uso de memoria desequilibrado y demandas sobreestimadas en sistemas subabastecidos.
En general, creemos que nuestro estudio proporciona información valiosa sobre la importancia de la exploración del espacio de diseño para los sistemas HPC con memoria desagregada. Demostramos que al comprender los cambios arquitectónicos disruptivos en los sistemas futuros y las demandas de las cargas de trabajo, la provisión del sistema se puede diseñar cuidadosamente para lograr el mejor costo-beneficio.
2024-03-14T19:31:36ZVieira Zacarias, Felippe(English) In a typical HPC cluster system, a node is the elemental component unit of this architecture. Memory and compute resources are tightly coupled in each node and the rigid boundaries between nodes limits compute and memory resource utilization. The problem is increased by the fact that HPC applications have a widely varying per-node memory footprint due to diverse application characteristics, differing problem sizes, and strong scaling. In fact, 25% to 76% of the system's total memory capacity typically remains idle. Disaggregated memory offers a way to improve memory utilization, as memory becomes a pool that can be dynamically composed to match the needs of the workloads. It enables fine-grained allocation of memory capacity to jobs while maintaining the cost-effectiveness and scalability of a cluster architecture.
A key component for the distribution of computing power within the cluster infrastructure is the RJMS or simply resource manager. Its goal is to satisfy users' demands and achieve acceptable performance in the overall system utilization by efficiently matching requests to resources. Even though several researches on RJMS have been carried out to solve problems related to the current state-of-the-art on HPC systems, memory disaggregation is still under development. Therefore, adopting a disaggregated architecture means redesigning the resource manager services. In this thesis we propose an efficient memory disaggregated infrastructure for a cluster resource manager and its evaluation at scale through a structured simulated experimental methodology employing a contention model that models the impact of shared resources in disaggregated scenarios.
Sharing common memory devices or interfaces in a disaggregated infrastructure may incur an unsatisfactory loss of performance because concurrent memory access can saturate the resource; we start our study by introducing a systematic methodology to build a contention model. Extensive real-machine experimentation and the results of workloads have shown that our contention model predicts performance degradation with at most an average error of 1.19% and max error of 14.6%. Compared with the state-of-the-art, the relative improvements are almost 24 % on average and 33% for the worst case.
In sequence, we argue that it is possible to increase throughput and utilization using memory disaggregated in a resource manager. We show that depending on the level of imbalance between the system and memory demands of scheduled jobs, memory disaggregation enables resource savings of up to 33% compared to the state-of-the-art resource manager. In addition, on average, it can increase the memory utilization by a factor of 1.6, while having almost 90% of CPU utilization.
In our study, we also investigate how critical memory demand bounds are for maximising system throughput and minimising job response time. We analyse to what degree the users would have a natural incentive to provide accurate memory bounds. We demonstrate that even when there is a large effect on system throughput (-25%) and response time (5 times higher), there is a very little direct incentive for the users to be accurate in their estimates, with only an 8% increase in response time. We further demonstrate that taking advantage of memory temporal and spatial imbalance among jobs delivers improvements up to 18% in throughput, 38% in throughput per dollar, and up to 69% reduction in job response time (median) when there are imbalanced memory usage and overestimated demands on underprovisioned systems.
Overall, we believe our study provides valuable insights on the importance of design space exploration for disaggregated memory HPC systems. We demonstrate that by understanding disruptive architectural changes on future systems and the demands of the workloads, system provisioning can be carefully designed to achieve the best cost-benefit.
(Español) En un clúster HPC. un nodo es la unidad elemental de esta arquitectura. Como la memoria y computación están estrechamente acoplados los límites rígidos entre nodos limitan la utilización de los recursos. El problema se agrava debido a que las aplicaciones de HPC tienen requerimientos de memoria muy variables. De hecho, normalmente se deja inactive entre un 25% y un 76% de la capacidad total de memoria del sistema. La memoria desagregada propone una forma de mejorar la utilización de la memoria, ya que la convierte en un conjunto que puede componerse dinámicamente. Permite una asignación de capacidad de memoria de granularidad fina a los trabajos, manteniendo a la vez la rentabilidad y escalabilidad de una arquitectura de clúster.
Un componente clave para la distribución de recursos en un clúster es el RJMS o simplemente gestor de recursos. Su objetivo es satisfacer las demandas de los usuarios y lograr un rendimiento aceptable en la utilización general del sistema, mediante una asignación eficiente de los recursos. Aunque se han llevado a cabo varias investigaciones sobre RJMS, la memoria desagregada aun esta en desarrollo. En esta tesis, proponemos una infraestructura eficiente de memoria desagregada para un gestor de recursos de clúster y evaluamos su rendimiento a gran escala mediante una metodología experimental simulada y estructurada que utiliza un modelo de contención que simula el impacto de los recursos compartidos en escenarios desagregados.
Compartir interfaces de memoria en una infraestructura desagregada puede generar una pérdida de rendimiento con acceso concurrente a la memoria. Comenzamos nuestro estudio presentando una metodología sistemática para construir un modelo de contención. Experimentación extensiva en máquinas reales y los resultados de las cargas de trabajo han demostrado que nuestro modelo de contención predice una degradación del rendimiento con un error promedio de 1.19% y un error máximo de 14.6%. En comparación con el estado del arte, las mejoras relativas son casi del 24% en promedio y del 33% en el peer de los casos.
A continuación, argumentarnos que es posible aumentar el rendimiento y la utilización del clúster utilizando la memoria desagregada en un gestor de recursos. Mostramos que, dependiendo del nivel de desequilibrio entre el sistema y las demandas de memoria de los trabajos, la desagregación de la memoria permite ahorrar recursos de hasta un 33% en comparación con el estado del arte. Además, en promedio, puede aumentar la utilización de la memoria en un factor de 1.6, mientras se utiliza casi el 90% de la CPU.
En nuestro estudio, también investigamos cuan crucial son las demandas de memoria para maximizar el rendimiento del sistema y minimizar el tiempo de respuesta de los trabajos. Analizamos en qué medida los usuarios tendrían un incentivo natural para ser precisos. Demostramos que incluso cuando hay un gran impacto en el rendimiento del sistema (-25%} y en el tiempo de respuesta (5 veces mayor}, hay muy poco incentive directo para que los usuarios sean precises en sus estimaciones, con solo un aumento del 8% en el tiempo de respuesta. Además, demostramos que aprovechar el desequilibrio temporal y espacial de la memoria entre los trabajos proporciona mejoras de hasta un 18% en el rendimiento, un 38% en el rendimiento por d61ar y hasta un 69% de reducción en el tiempo de respuesta del trabajo (mediana), cuando existe un uso de memoria desequilibrado y demandas sobreestimadas en sistemas subabastecidos.
En general, creemos que nuestro estudio proporciona información valiosa sobre la importancia de la exploración del espacio de diseño para los sistemas HPC con memoria desagregada. Demostramos que al comprender los cambios arquitectónicos disruptivos en los sistemas futuros y las demandas de las cargas de trabajo, la provisión del sistema se puede diseñar cuidadosamente para lograr el mejor costo-beneficio.Deep learning for spatio-temporal forecasting: benchmarks, methods, and insights from mobility and weather predictions
http://hdl.handle.net/2117/404070
Deep learning for spatio-temporal forecasting: benchmarks, methods, and insights from mobility and weather predictions
Herruzo Sánchez, Pedro
(English) This thesis explores the intersection of deep learning and spatio-temporal forecasting, focusing on the challenges and opportunities present in applying machine learning methods to predict complex geospatial and temporal phenomena. Specifically, we focus on two critical domains: weather prediction and traffic forecasting.
Firstly, we delve into the nuances of encoding traffic data optimally for deep learning models, recognizing the potential of these methods to revolutionize mobility patterns, city planning, and freight delivery services. Our work aims to provide a clear pathway to effectively harness GPS data and utilize deep learning models for accurate traffic prediction, thereby influencing real-world decision-making significantly.
Next, we turn our attention to weather forecasting. Given the substantial impact of weather on human activities and the environment, our aim is to establish best practices for encoding weather data for deep learning applications. We explore various machine learning models, assessing their performance, and identifying the most efficient and accurate approach for weather prediction.
Throughout the thesis, we emphasize the urgent need for a robust benchmark in the field of spatio-temporal forecasting, to enable systematic comparison of methods and accelerate research advancements. We discuss the essential components of such a benchmark, including open data of free access, specific tasks, relevant metrics, viable baselines, and comprehensive evaluation methodologies.
To further illustrate the practical application of these principles, we have contributed to the scientific community by publishing two novel benchmarks. The first is a high-resolution, multimodal weather forecasting benchmark, derived from satellite data, which provides comprehensive insights into the complexities of meteorological prediction. The second is a ground-breaking high-resolution precipitation benchmark, which innovatively utilizes satellite to radar data at the surface level. This latter benchmark promotes a deeper understanding of rainfall patterns and their potential implications.
Our exploration culminates in the organization of the Weather4cast competition at the competitive venues NeurIPS, IEEE Big Data and CIKM. This sets unprecedental benchmarks for spatio-temporal prediction in weather domains, promoting innovative solutions in this intricate field. By bridging the gap between deep learning and spatio-temporal forecasting, this thesis makes a significant contribution to both machine learning methodologies and the accuracy of weather and traffic predictions. The findings promise to inspire further advancements in the application of deep learning to complex spatio-temporal processes.; (Català) Aquesta tesi explora la intersecció entre l'aprenentatge profund i la predicció espaiotemporal, centrant-se en els reptes i oportunitats presents en l'aplicació de mètodes d'aprenentatge automàtic per predir fenòmens geoespacials i temporals complexos. Específicament, ens centrem en dos àmbits crítics: la predicció del temps i la predicció del trànsit.
En primer lloc, ens endinsem en les matisos de la codificació òptima de les dades de trànsit per a models d'aprenentatge profund, reconeixent el potencial d'aquests mètodes per revolucionar els patrons de mobilitat, la planificació urbana i els serveis de lliurament de mercaderies. El nostre treball té com a objectiu proporcionar un camí clar per aprofitar eficaçment les dades del GPS i utilitzar models d'aprenentatge profund per a una predicció precisa del trànsit, influenciant significativament la presa de decisions en el món real.
A continuació, dirigim la nostra atenció cap a la predicció del temps. Donat l'impacte substancial del temps en les activitats humanes i l'entorn, el nostre objectiu és establir les millors pràctiques per codificar les dades meteorològiques per a aplicacions d'aprenentatge profund. Explorem diversos models d'aprenentatge automàtic, avaluant el seu rendiment i identificant l'enfocament més eficient i precís per a la predicció del temps.
Al llarg de la tesi, emfatitzem la necessitat urgent de marcs de referència en el camp de la predicció espaiotemporal, per permetre la comparació sistemàtica de mètodes i accelerar els avenços en la recerca. Discutim els components essencials d'un marc de referència, incloent dades obertes d'accés lliure, tasques específiques, mètriques rellevants, línies de base viables i metodologies d'avaluació exhaustives.
Per il·lustrar encara més l'aplicació pràctica d'aquests principis, hem contribuït a la comunitat científica publicant dos marcs de referències nous. El primer és un marc de referència de predicció meteorològica multimodal d'alta resolució, derivat de dades de satèl·lit, que proporciona una visió completa de les complexitats de la predicció meteorològica. El segon és un marc de referència innovador de precipitació d'alta resolució, que utilitza de manera innovadora les dades de satèl·lit a radar al nivell de la superfície. Aquest últim marc de referència promou una comprensió més profunda dels patrons de pluja i les seves possibles implicacions.
La nostra exploració culmina en l'organització de la competició Weather4cast als llocs de competició NeurIPS, IEEE Big Data i CIKM. Això estableix marcs de referència sense precedents per a la predicció espaiotemporal en àmbits meteorològics, promovent solucions innovadores en aquest camp intricat. En fer la connexió entre l'aprenentatge profund i la predicció espaiotemporal, aquesta tesi fa una contribució significativa tant a les metodologies d'aprenentatge automàtic com a la precisió de les prediccions meteorològiques i de trànsit. Les troballes prometen inspirar més avenços en l'aplicació de l'aprenentatge profund a processos espaiotemporals complexos.
Tesi amb menció de Doctorat Industrial
2024-03-10T19:33:00ZHerruzo Sánchez, Pedro(English) This thesis explores the intersection of deep learning and spatio-temporal forecasting, focusing on the challenges and opportunities present in applying machine learning methods to predict complex geospatial and temporal phenomena. Specifically, we focus on two critical domains: weather prediction and traffic forecasting.
Firstly, we delve into the nuances of encoding traffic data optimally for deep learning models, recognizing the potential of these methods to revolutionize mobility patterns, city planning, and freight delivery services. Our work aims to provide a clear pathway to effectively harness GPS data and utilize deep learning models for accurate traffic prediction, thereby influencing real-world decision-making significantly.
Next, we turn our attention to weather forecasting. Given the substantial impact of weather on human activities and the environment, our aim is to establish best practices for encoding weather data for deep learning applications. We explore various machine learning models, assessing their performance, and identifying the most efficient and accurate approach for weather prediction.
Throughout the thesis, we emphasize the urgent need for a robust benchmark in the field of spatio-temporal forecasting, to enable systematic comparison of methods and accelerate research advancements. We discuss the essential components of such a benchmark, including open data of free access, specific tasks, relevant metrics, viable baselines, and comprehensive evaluation methodologies.
To further illustrate the practical application of these principles, we have contributed to the scientific community by publishing two novel benchmarks. The first is a high-resolution, multimodal weather forecasting benchmark, derived from satellite data, which provides comprehensive insights into the complexities of meteorological prediction. The second is a ground-breaking high-resolution precipitation benchmark, which innovatively utilizes satellite to radar data at the surface level. This latter benchmark promotes a deeper understanding of rainfall patterns and their potential implications.
Our exploration culminates in the organization of the Weather4cast competition at the competitive venues NeurIPS, IEEE Big Data and CIKM. This sets unprecedental benchmarks for spatio-temporal prediction in weather domains, promoting innovative solutions in this intricate field. By bridging the gap between deep learning and spatio-temporal forecasting, this thesis makes a significant contribution to both machine learning methodologies and the accuracy of weather and traffic predictions. The findings promise to inspire further advancements in the application of deep learning to complex spatio-temporal processes.
(Català) Aquesta tesi explora la intersecció entre l'aprenentatge profund i la predicció espaiotemporal, centrant-se en els reptes i oportunitats presents en l'aplicació de mètodes d'aprenentatge automàtic per predir fenòmens geoespacials i temporals complexos. Específicament, ens centrem en dos àmbits crítics: la predicció del temps i la predicció del trànsit.
En primer lloc, ens endinsem en les matisos de la codificació òptima de les dades de trànsit per a models d'aprenentatge profund, reconeixent el potencial d'aquests mètodes per revolucionar els patrons de mobilitat, la planificació urbana i els serveis de lliurament de mercaderies. El nostre treball té com a objectiu proporcionar un camí clar per aprofitar eficaçment les dades del GPS i utilitzar models d'aprenentatge profund per a una predicció precisa del trànsit, influenciant significativament la presa de decisions en el món real.
A continuació, dirigim la nostra atenció cap a la predicció del temps. Donat l'impacte substancial del temps en les activitats humanes i l'entorn, el nostre objectiu és establir les millors pràctiques per codificar les dades meteorològiques per a aplicacions d'aprenentatge profund. Explorem diversos models d'aprenentatge automàtic, avaluant el seu rendiment i identificant l'enfocament més eficient i precís per a la predicció del temps.
Al llarg de la tesi, emfatitzem la necessitat urgent de marcs de referència en el camp de la predicció espaiotemporal, per permetre la comparació sistemàtica de mètodes i accelerar els avenços en la recerca. Discutim els components essencials d'un marc de referència, incloent dades obertes d'accés lliure, tasques específiques, mètriques rellevants, línies de base viables i metodologies d'avaluació exhaustives.
Per il·lustrar encara més l'aplicació pràctica d'aquests principis, hem contribuït a la comunitat científica publicant dos marcs de referències nous. El primer és un marc de referència de predicció meteorològica multimodal d'alta resolució, derivat de dades de satèl·lit, que proporciona una visió completa de les complexitats de la predicció meteorològica. El segon és un marc de referència innovador de precipitació d'alta resolució, que utilitza de manera innovadora les dades de satèl·lit a radar al nivell de la superfície. Aquest últim marc de referència promou una comprensió més profunda dels patrons de pluja i les seves possibles implicacions.
La nostra exploració culmina en l'organització de la competició Weather4cast als llocs de competició NeurIPS, IEEE Big Data i CIKM. Això estableix marcs de referència sense precedents per a la predicció espaiotemporal en àmbits meteorològics, promovent solucions innovadores en aquest camp intricat. En fer la connexió entre l'aprenentatge profund i la predicció espaiotemporal, aquesta tesi fa una contribució significativa tant a les metodologies d'aprenentatge automàtic com a la precisió de les prediccions meteorològiques i de trànsit. Les troballes prometen inspirar més avenços en l'aplicació de l'aprenentatge profund a processos espaiotemporals complexos.Adapting floating-point precision to accelerate deep neural network training
http://hdl.handle.net/2117/404063
Adapting floating-point precision to accelerate deep neural network training
Osorio Ríos, John Haiber
(English) Deep Neural Networks (DNNs) have become ubiquitous in a wide range of application domains. Despite their success, training DNNs is an expensive task which has motivated the use of reduced numerical precision formats to improve performance and reduce power consumption. Emulation techniques are a good fit for understanding the properties of new numerical formats on a particular workload. However, current state-of-the-art techniques cannot perform these tasks quickly and accurately on a wide variety of workloads.
The usage of Mixed Precision (MP) arithmetic with floating-point 32-bit (FP32) and 16-bit half-precision aims at improving memory and floating-point operations throughput, allowing faster training of bigger models. This is one of the most used techniques, and has been successfully applied to train DNNs. Despite its advantages in terms of reducing the need for key resources like memory bandwidth or register file size, it has a limited capacity for diminishing further computing costs, as it requires 32-bits to represent its output. On the other hand, full half-precision arithmetic fails to deliver state-of-the-art training accuracy.
Several hardware companies are proposing native Brain Float 16-bit (BF16) support for neural network training. Fused Multiply- Add (FMA) functional units constitute a fundamental hardware component to train DNNs. Its silicon area grows quadratically with the mantissa bit count of the computer number format, which has motivated the adoption of the BF16. BF16 features 1 sign, 8 exponent and 7 explicit mantissa bits. Some approaches to train DNNs achieve significant performance benefits by using the BF16 format. However, these approaches must combine BF16 with the standard IEEE 754 FP32 format to achieve state-of-the-art training accuracy, which limits the impact of adopting BF16.
To address all of the previous concerns with respect to different numerical formats, specific training techniques, and how to increase the use of reduced precision approaches, this Thesis proposes FASE, a Fast, Accurate, and Seamless Emulator that leverages dynamic binary translation to enable emulation of custom numerical formats. FASE is fast; allowing emulation of large unmodified workloads, accurate; emulating at instruction operand level, and seamless; as it does not require any code modifications and works on any application or DNN framework without any language, compiler or source code access restrictions. We evaluate FASE using a wide variety of DNN frameworks and large-scale workloads. Our evaluation demonstrates that FASE achieves better accuracy than coarser-grain state-of-the-art approaches, and shows that it is able to evaluate the fidelity of multiple numerical formats and extract conclusions on their applicability.
To show the advantages of FASE we test it in object classification, natural language processing and generative networks workloads. We use FASE to analyze BF16 usage in the training phase of a 3D Generative Adversarial Network (3DGAN) simulating High Energy Physics detectors.
We use FASE to characterize and analyze computer arithmetic to propose a seamless approach to dynamically adapt floating point arithmetic. Our dynamically adaptive methodology enables the use of full half-precision arithmetic for up to 96.4% of the computations when training state-of-the-art neural networks; while delivering comparable accuracy to 32-bit floating point arithmetic.
Finally, we propose an approach able to train complex DNNs entirely using the BF16 format. Using FASE we introduce a new class of FMA operators, FMABF16_nm, that entirely rely on BF16 FMA hardware instructions and deliver the same accuracy as FP32. FMABF16_nm operators achieve performance improvements within the 1.28x-1.35x range on ResNet101 with respect to FP32. FMABF16_nm enables training complex DNNs on simple low-end hardware devices without requiring expensive FP32 FMA functional units.; (Español) Las redes neuronales profundas (DNN) se han vuelto omnipresentes en una amplia gama de dominios de aplicación. A pesar de su éxito, entrenar DNN es una tarea costosa que ha motivado el uso de formatos de precisión numérica reducida para mejorar el rendimiento y reducir el consumo de energía. Las técnicas de emulación son una buena opción para comprender las propiedades de los nuevos formatos numéricos en una carga de trabajo particular. Sin embargo, las técnicas de vanguardia actuales no pueden realizar estas tareas de forma rápida y precisa en una amplia variedad de cargas de trabajo.
El uso de aritmética de precisión mixta (MP) con punto flotante de 32 bits (FP32) y precisión de 16 bits tiene como objetivo mejorar el rendimiento de las operaciones de memoria y punto flotante, lo que permite un entrenamiento más eficiente. Esta es una de las técnicas más utilizadas y se ha aplicado con éxito para entrenar DNN. A pesar de sus ventajas en cuanto a la reducción de la necesidad de recursos clave como el ancho de banda de la memoria o el tamaño del archivo de registro, tiene una capacidad limitada para disminuir los costos informáticos adicionales, ya que requiere 32 bits para representar su salida. Por otro lado, la aritmética de precisión de 16 bits no logra ofrecer la precisión requerida.
Varias compañías de hardware están proponiendo soporte nativo de Brain Float de 16 bits (BF16) para el entrenamiento de redes neuronales. Las unidades funcionales Fused Multiply-Add (FMA) constituyen un componente de hardware fundamental para entrenar las DNN. Su área de silicio crece cuadráticamente de acuerdo a los bits de mantisa usados, lo que ha motivado la adopción del BF16. BF16 presenta 1 bit de signo, 8 de exponente y 7 de mantisa. Algunos enfoques para entrenar DNN logran beneficios de rendimiento significativos mediante el uso del formato BF16. Sin embargo, estos enfoques deben combinar BF16 con el formato estándar IEEE 754 FP32 para lograr una precisión de entrenamiento en el estado del arte.
Para abordar todas las inquietudes anteriores con respecto a los diferentes formatos numéricos, técnicas de entrenamiento específicas y cómo aumentar el uso de enfoques de precisión reducida, esta tesis propone FASE, un emulador rápido, preciso y sencillo que aprovecha la traducción del binario dinámico para permitir la emulación de formatos numéricos personalizados.
FASE es rápido; permitiendo la emulación de grandes cargas de trabajo sin modificación, preciso; emulando a nivel de operando de instrucción y sin sencillo; ya que no requiere ninguna modificación de código y funciona en cualquier aplicación sin restricciones de lenguaje, compilador o código fuente. Evaluamos FASE utilizando una amplia variedad de DNN y cargas de trabajo a gran escala. Nuestra evaluación demuestra que FASE logra una mayor precisión que enfoques del estado del arte de grano grueso y muestra que es capaz de evaluar la confiabilidad de múltiples formatos numéricos y extraer conclusiones sobre su aplicabilidad.
Para mostrar las ventajas de FASE, lo probamos en clasificación de objetos, procesamiento de lenguaje natural y redes generativas. Usamos FASE para analizar el uso de BF16 en la fase de entrenamiento de una red adversa generativa 3D (3DGAN) que simula detectores de física de alta energía.
Utilizamos FASE para caracterizar y analizar la aritmética de cómputo para proponer un enfoque sencillo para adaptar dinámicamente la aritmética de punto flotante. Ésta metodología permite el uso de aritmética de precisión media para hasta el 96,4 % de los cálculos cuando se entrenan redes neuronales en el estado del arte; mientras ofrece una precisión similar a la aritmética de coma flotante de 32 bits.
Finalmente, proponemos un enfoque capaz de entrenar DNN completamente utilizando el formato BF16 a través de una nueva clase de operadores FMA. Estos operadores logran rendimientos en el rango de 1,28x-1,35x en ResNet con respecto a FP32.
2024-03-10T19:31:43ZOsorio Ríos, John Haiber(English) Deep Neural Networks (DNNs) have become ubiquitous in a wide range of application domains. Despite their success, training DNNs is an expensive task which has motivated the use of reduced numerical precision formats to improve performance and reduce power consumption. Emulation techniques are a good fit for understanding the properties of new numerical formats on a particular workload. However, current state-of-the-art techniques cannot perform these tasks quickly and accurately on a wide variety of workloads.
The usage of Mixed Precision (MP) arithmetic with floating-point 32-bit (FP32) and 16-bit half-precision aims at improving memory and floating-point operations throughput, allowing faster training of bigger models. This is one of the most used techniques, and has been successfully applied to train DNNs. Despite its advantages in terms of reducing the need for key resources like memory bandwidth or register file size, it has a limited capacity for diminishing further computing costs, as it requires 32-bits to represent its output. On the other hand, full half-precision arithmetic fails to deliver state-of-the-art training accuracy.
Several hardware companies are proposing native Brain Float 16-bit (BF16) support for neural network training. Fused Multiply- Add (FMA) functional units constitute a fundamental hardware component to train DNNs. Its silicon area grows quadratically with the mantissa bit count of the computer number format, which has motivated the adoption of the BF16. BF16 features 1 sign, 8 exponent and 7 explicit mantissa bits. Some approaches to train DNNs achieve significant performance benefits by using the BF16 format. However, these approaches must combine BF16 with the standard IEEE 754 FP32 format to achieve state-of-the-art training accuracy, which limits the impact of adopting BF16.
To address all of the previous concerns with respect to different numerical formats, specific training techniques, and how to increase the use of reduced precision approaches, this Thesis proposes FASE, a Fast, Accurate, and Seamless Emulator that leverages dynamic binary translation to enable emulation of custom numerical formats. FASE is fast; allowing emulation of large unmodified workloads, accurate; emulating at instruction operand level, and seamless; as it does not require any code modifications and works on any application or DNN framework without any language, compiler or source code access restrictions. We evaluate FASE using a wide variety of DNN frameworks and large-scale workloads. Our evaluation demonstrates that FASE achieves better accuracy than coarser-grain state-of-the-art approaches, and shows that it is able to evaluate the fidelity of multiple numerical formats and extract conclusions on their applicability.
To show the advantages of FASE we test it in object classification, natural language processing and generative networks workloads. We use FASE to analyze BF16 usage in the training phase of a 3D Generative Adversarial Network (3DGAN) simulating High Energy Physics detectors.
We use FASE to characterize and analyze computer arithmetic to propose a seamless approach to dynamically adapt floating point arithmetic. Our dynamically adaptive methodology enables the use of full half-precision arithmetic for up to 96.4% of the computations when training state-of-the-art neural networks; while delivering comparable accuracy to 32-bit floating point arithmetic.
Finally, we propose an approach able to train complex DNNs entirely using the BF16 format. Using FASE we introduce a new class of FMA operators, FMABF16_nm, that entirely rely on BF16 FMA hardware instructions and deliver the same accuracy as FP32. FMABF16_nm operators achieve performance improvements within the 1.28x-1.35x range on ResNet101 with respect to FP32. FMABF16_nm enables training complex DNNs on simple low-end hardware devices without requiring expensive FP32 FMA functional units.
(Español) Las redes neuronales profundas (DNN) se han vuelto omnipresentes en una amplia gama de dominios de aplicación. A pesar de su éxito, entrenar DNN es una tarea costosa que ha motivado el uso de formatos de precisión numérica reducida para mejorar el rendimiento y reducir el consumo de energía. Las técnicas de emulación son una buena opción para comprender las propiedades de los nuevos formatos numéricos en una carga de trabajo particular. Sin embargo, las técnicas de vanguardia actuales no pueden realizar estas tareas de forma rápida y precisa en una amplia variedad de cargas de trabajo.
El uso de aritmética de precisión mixta (MP) con punto flotante de 32 bits (FP32) y precisión de 16 bits tiene como objetivo mejorar el rendimiento de las operaciones de memoria y punto flotante, lo que permite un entrenamiento más eficiente. Esta es una de las técnicas más utilizadas y se ha aplicado con éxito para entrenar DNN. A pesar de sus ventajas en cuanto a la reducción de la necesidad de recursos clave como el ancho de banda de la memoria o el tamaño del archivo de registro, tiene una capacidad limitada para disminuir los costos informáticos adicionales, ya que requiere 32 bits para representar su salida. Por otro lado, la aritmética de precisión de 16 bits no logra ofrecer la precisión requerida.
Varias compañías de hardware están proponiendo soporte nativo de Brain Float de 16 bits (BF16) para el entrenamiento de redes neuronales. Las unidades funcionales Fused Multiply-Add (FMA) constituyen un componente de hardware fundamental para entrenar las DNN. Su área de silicio crece cuadráticamente de acuerdo a los bits de mantisa usados, lo que ha motivado la adopción del BF16. BF16 presenta 1 bit de signo, 8 de exponente y 7 de mantisa. Algunos enfoques para entrenar DNN logran beneficios de rendimiento significativos mediante el uso del formato BF16. Sin embargo, estos enfoques deben combinar BF16 con el formato estándar IEEE 754 FP32 para lograr una precisión de entrenamiento en el estado del arte.
Para abordar todas las inquietudes anteriores con respecto a los diferentes formatos numéricos, técnicas de entrenamiento específicas y cómo aumentar el uso de enfoques de precisión reducida, esta tesis propone FASE, un emulador rápido, preciso y sencillo que aprovecha la traducción del binario dinámico para permitir la emulación de formatos numéricos personalizados.
FASE es rápido; permitiendo la emulación de grandes cargas de trabajo sin modificación, preciso; emulando a nivel de operando de instrucción y sin sencillo; ya que no requiere ninguna modificación de código y funciona en cualquier aplicación sin restricciones de lenguaje, compilador o código fuente. Evaluamos FASE utilizando una amplia variedad de DNN y cargas de trabajo a gran escala. Nuestra evaluación demuestra que FASE logra una mayor precisión que enfoques del estado del arte de grano grueso y muestra que es capaz de evaluar la confiabilidad de múltiples formatos numéricos y extraer conclusiones sobre su aplicabilidad.
Para mostrar las ventajas de FASE, lo probamos en clasificación de objetos, procesamiento de lenguaje natural y redes generativas. Usamos FASE para analizar el uso de BF16 en la fase de entrenamiento de una red adversa generativa 3D (3DGAN) que simula detectores de física de alta energía.
Utilizamos FASE para caracterizar y analizar la aritmética de cómputo para proponer un enfoque sencillo para adaptar dinámicamente la aritmética de punto flotante. Ésta metodología permite el uso de aritmética de precisión media para hasta el 96,4 % de los cálculos cuando se entrenan redes neuronales en el estado del arte; mientras ofrece una precisión similar a la aritmética de coma flotante de 32 bits.
Finalmente, proponemos un enfoque capaz de entrenar DNN completamente utilizando el formato BF16 a través de una nueva clase de operadores FMA. Estos operadores logran rendimientos en el rango de 1,28x-1,35x en ResNet con respecto a FP32.Advanced hardware prefetching in virtual memory systems
http://hdl.handle.net/2117/403959
Advanced hardware prefetching in virtual memory systems
Vavouliotis, Georgios
(English) Despite groundbreaking technological innovations, the disparity between processor and memory speeds (known as Memory Wall) is still a major performance obstacle for modern systems. Hardware prefetching is a latency-tolerance technique that has proven successful at shrinking this bottleneck. Nearly all real-world µarchitectural designs employ various prefetchers.
Consequently, hardware prefetching attracts a lot of research attention. Virtual memory has been vital for the success of computing due to its programmability and security benefits. However, virtual memory does not come for free since each memory access requires a translation from the virtual to the physical address space that incurs high latency and energy overheads. To alleviate these overheads, a hardware cache, named Translation Lookaside Buffer(TLB), is typically employed to store the most recently used translations. However, TLBs are limited in capacity, thus there are not adequate for assuring high performance.
Processor vendors address the need for fast address translation by providing dedicated support for virtual memory (e.g.,
multi-level TLBs, multiple page sizes). Despite the existence of such support, the advent of applications with large data and code footprints aggravates the pressure placed on the virtual memory subsystem, resulting in frequent page walks that deteriorate system's performance. This dissertation argues that hardware prefetching can attenuate the Memory Wall bottleneck in virtual memory systems. To support our claim, we design and propose fully-legacy preserving TLB prefetching schemes and exploit address translation metadata that are available at the µarchitecture to improve the effectiveness of the prefetchers operating in the physical address space. To reduce the overheads of frequent TLB misses due to data accesses, we propose a solution that consists of the Sampling-Based Free TLB Prefetching (SBFP) scheme and the Agile TLB Prefetcher(ATP). SBFP exploits the locality in the last-level of the page table to enhance the performance of TLB prefetching. ATP combines three prefetch engines while disabling TLB prefetching during phases that does not provide benefits. Across different benchmark suites, we show that ATP combined with SBFP improves performance over the best performing prior TLB prefetcher while reducing the page walk references to the memory hierarchy. Next, we argue that instruction address translation is an emerging bottleneck in servers. To support our claim, we characterize the TLB behavior of server workloads and provide evidence that instruction address translation is a bottleneck in servers. To attenuate this bottleneck, we propose Morrigan, the first instruction TLB prefetcher.
Morrigan combines a sequential prefetcher with an ensemble of hardware Markov prefetchers that build variable length Markov chains out of the instruction TLB miss stream while using a new frequency-based replacement policy. Across a set of industrial server workloads, Morrigan provides great performance gains while eliminating the majority of the demand page walks for instruction accesses. Our last contribution improves the efficacy of cache prefetchers operating in the physical address space by exploiting modern support for large pages. We propose the Page-size Propagation Module(PPM), a µarchitectural scheme that transmits the page size information to the lower-level cache prefetchers and enables safe prefetching beyond 4KB physical page boundaries. We further design a module comprised of two prefetchers that both exploit PPM but drive prefetching decisions assuming different page sizes. Our experiments reveal that the proposed page size exploitation techniques provide great performance enhancements on various state-of-the-art cache prefetchers. ¿he proposals of this dissertation are fully
legacy-preserving, do not call for disruptive changes, do not require any OS involvement, and constitute practical solutions to real-world bottlenecks.; (Español) La diferencia de velocidad entre los procesadores y las memorias (conocido como Memory Wall) es uno de los mayores cuellos de botella en los sistemas actuales. Los prefetchers hardware son una técnica para tolerar la latencia de memoria que ha demostrado ser efectiva para aliviar este cuello de botella. Prácticamente todas las microarquitecturas actuales incluyen varios prefetchers. La memoria virtual ha sido vital para el éxito de los sistemas de computación debido a los beneficios que ofrece en términos de programabilidad y seguridad. Sin embargo, la memoria virtual tiene un coste alto en latencia y en energía, ya que cada acceso a memoria requiere una traducción del espacio de direcciones físico al virtual. Para aliviar estos costes, una caché hardware llamada Translation Lookahead Buffer (TLB) guarda las traducciones más recientes. Uno de los problemas de las TLBs es que tienen una capacidad limitada, lo que hace que no puedan garantizar un alto rendimiento.
Los procesadores comerciales se aseguran de que la traducción de direcciones sea rápida al incluir soporte hardware dedicado a la memoria virtual (como TLBs multinivel o varios tamaños de página). Incluso con este soporte hardware, la creciente popularidad de aplicaciones con grandes cantidades de datos e instrucciones ha aumentado la presión sobre el subsistema de memoria virtual, resultando en accesos frecuentes a la tabla de páginas que deterioran el rendimiento del sistema. Esta tesis pretende atenuar el cuello de botella del Memory Wall utilizando hardware prefetchers en sistemas de memoria virtual.
Para reducir las penalizaciones de los fallos frecuentes de TLB para accesos de datos, proponemos una solución llamada Sampling Based Free TLB Prefetching (SBFP) combinada con un Agile TLB Prefetcher (ATP). SBFP se beneficia de la localidad en el último nivel de la tabla de páginas para mejorar el prefetching en TLBs. ATP combina tres motores de prefetching y deshabilita el prefetching de TLB en fases donde no aporta ningún beneficio. Para varios juegos de prueba, demostramos que la combinación de ATP con SBFP mejora el rendimiento respecto al mejor prefetcher de TLB propuesto anteriormente, a la vez que reduce la cantidad de accesos a la tabla de páginas.
También identificamos que la traducción de direcciones en instrucciones es un cuello de botella emergente en servidores, y lo demostramos caracterizando el comportamiento de las TLBs en estos sistemas. Para aliviar este cuello de botella proponemos Morrigan, el primer prefetcher de instrucciones para TLBs. Morrigan combina un prefetcher secuencial con un conjunto de Markov prefetchers que construyen cadenas de Markov de diferente longitud de la secuencia de fallos de instrucciones en la TLB, y también utiliza una nueva política de reemplazo basada en la frecuencia. En tareas de servidores industriales, Morrigan consigue amplios beneficios en rendimiento y elimina la mayoría de accesos a la tabla de páginas para accesos a instrucciones.
La última contribución mejora la eficacia de los prefetchers de cachés que operan en el espacio de direcciones físico utilizando el soporte hardware para páginas grandes. Para ello proponemos el Page-size Propagation Module (PPM), una técnica microarchitectural que transmite el tamaño de página a los prefetchers de las cachés de último nivel para poder hacer prefetching de forma segura sobrepasando los límites de las páginas físicas de 4KB. También diseñamos otro módulo que consiste en dos prefetchers conectados al PPM y que controla las decisiones de los prefetchers asumiendo diferentes tamaños de páginas. Nuestros experimentos muestran que las técnicas propuestas para sacar beneficio del tamaño de las páginas en varios prefetchers de cachés de último nivel propuestas en el estado del arte consiguen grandes mejoras de rendimiento.
Tesi amb menció de Doctorat Internacional
2024-03-07T19:32:13ZVavouliotis, Georgios(English) Despite groundbreaking technological innovations, the disparity between processor and memory speeds (known as Memory Wall) is still a major performance obstacle for modern systems. Hardware prefetching is a latency-tolerance technique that has proven successful at shrinking this bottleneck. Nearly all real-world µarchitectural designs employ various prefetchers.
Consequently, hardware prefetching attracts a lot of research attention. Virtual memory has been vital for the success of computing due to its programmability and security benefits. However, virtual memory does not come for free since each memory access requires a translation from the virtual to the physical address space that incurs high latency and energy overheads. To alleviate these overheads, a hardware cache, named Translation Lookaside Buffer(TLB), is typically employed to store the most recently used translations. However, TLBs are limited in capacity, thus there are not adequate for assuring high performance.
Processor vendors address the need for fast address translation by providing dedicated support for virtual memory (e.g.,
multi-level TLBs, multiple page sizes). Despite the existence of such support, the advent of applications with large data and code footprints aggravates the pressure placed on the virtual memory subsystem, resulting in frequent page walks that deteriorate system's performance. This dissertation argues that hardware prefetching can attenuate the Memory Wall bottleneck in virtual memory systems. To support our claim, we design and propose fully-legacy preserving TLB prefetching schemes and exploit address translation metadata that are available at the µarchitecture to improve the effectiveness of the prefetchers operating in the physical address space. To reduce the overheads of frequent TLB misses due to data accesses, we propose a solution that consists of the Sampling-Based Free TLB Prefetching (SBFP) scheme and the Agile TLB Prefetcher(ATP). SBFP exploits the locality in the last-level of the page table to enhance the performance of TLB prefetching. ATP combines three prefetch engines while disabling TLB prefetching during phases that does not provide benefits. Across different benchmark suites, we show that ATP combined with SBFP improves performance over the best performing prior TLB prefetcher while reducing the page walk references to the memory hierarchy. Next, we argue that instruction address translation is an emerging bottleneck in servers. To support our claim, we characterize the TLB behavior of server workloads and provide evidence that instruction address translation is a bottleneck in servers. To attenuate this bottleneck, we propose Morrigan, the first instruction TLB prefetcher.
Morrigan combines a sequential prefetcher with an ensemble of hardware Markov prefetchers that build variable length Markov chains out of the instruction TLB miss stream while using a new frequency-based replacement policy. Across a set of industrial server workloads, Morrigan provides great performance gains while eliminating the majority of the demand page walks for instruction accesses. Our last contribution improves the efficacy of cache prefetchers operating in the physical address space by exploiting modern support for large pages. We propose the Page-size Propagation Module(PPM), a µarchitectural scheme that transmits the page size information to the lower-level cache prefetchers and enables safe prefetching beyond 4KB physical page boundaries. We further design a module comprised of two prefetchers that both exploit PPM but drive prefetching decisions assuming different page sizes. Our experiments reveal that the proposed page size exploitation techniques provide great performance enhancements on various state-of-the-art cache prefetchers. ¿he proposals of this dissertation are fully
legacy-preserving, do not call for disruptive changes, do not require any OS involvement, and constitute practical solutions to real-world bottlenecks.
(Español) La diferencia de velocidad entre los procesadores y las memorias (conocido como Memory Wall) es uno de los mayores cuellos de botella en los sistemas actuales. Los prefetchers hardware son una técnica para tolerar la latencia de memoria que ha demostrado ser efectiva para aliviar este cuello de botella. Prácticamente todas las microarquitecturas actuales incluyen varios prefetchers. La memoria virtual ha sido vital para el éxito de los sistemas de computación debido a los beneficios que ofrece en términos de programabilidad y seguridad. Sin embargo, la memoria virtual tiene un coste alto en latencia y en energía, ya que cada acceso a memoria requiere una traducción del espacio de direcciones físico al virtual. Para aliviar estos costes, una caché hardware llamada Translation Lookahead Buffer (TLB) guarda las traducciones más recientes. Uno de los problemas de las TLBs es que tienen una capacidad limitada, lo que hace que no puedan garantizar un alto rendimiento.
Los procesadores comerciales se aseguran de que la traducción de direcciones sea rápida al incluir soporte hardware dedicado a la memoria virtual (como TLBs multinivel o varios tamaños de página). Incluso con este soporte hardware, la creciente popularidad de aplicaciones con grandes cantidades de datos e instrucciones ha aumentado la presión sobre el subsistema de memoria virtual, resultando en accesos frecuentes a la tabla de páginas que deterioran el rendimiento del sistema. Esta tesis pretende atenuar el cuello de botella del Memory Wall utilizando hardware prefetchers en sistemas de memoria virtual.
Para reducir las penalizaciones de los fallos frecuentes de TLB para accesos de datos, proponemos una solución llamada Sampling Based Free TLB Prefetching (SBFP) combinada con un Agile TLB Prefetcher (ATP). SBFP se beneficia de la localidad en el último nivel de la tabla de páginas para mejorar el prefetching en TLBs. ATP combina tres motores de prefetching y deshabilita el prefetching de TLB en fases donde no aporta ningún beneficio. Para varios juegos de prueba, demostramos que la combinación de ATP con SBFP mejora el rendimiento respecto al mejor prefetcher de TLB propuesto anteriormente, a la vez que reduce la cantidad de accesos a la tabla de páginas.
También identificamos que la traducción de direcciones en instrucciones es un cuello de botella emergente en servidores, y lo demostramos caracterizando el comportamiento de las TLBs en estos sistemas. Para aliviar este cuello de botella proponemos Morrigan, el primer prefetcher de instrucciones para TLBs. Morrigan combina un prefetcher secuencial con un conjunto de Markov prefetchers que construyen cadenas de Markov de diferente longitud de la secuencia de fallos de instrucciones en la TLB, y también utiliza una nueva política de reemplazo basada en la frecuencia. En tareas de servidores industriales, Morrigan consigue amplios beneficios en rendimiento y elimina la mayoría de accesos a la tabla de páginas para accesos a instrucciones.
La última contribución mejora la eficacia de los prefetchers de cachés que operan en el espacio de direcciones físico utilizando el soporte hardware para páginas grandes. Para ello proponemos el Page-size Propagation Module (PPM), una técnica microarchitectural que transmite el tamaño de página a los prefetchers de las cachés de último nivel para poder hacer prefetching de forma segura sobrepasando los límites de las páginas físicas de 4KB. También diseñamos otro módulo que consiste en dos prefetchers conectados al PPM y que controla las decisiones de los prefetchers asumiendo diferentes tamaños de páginas. Nuestros experimentos muestran que las técnicas propuestas para sacar beneficio del tamaño de las páginas en varios prefetchers de cachés de último nivel propuestas en el estado del arte consiguen grandes mejoras de rendimiento.Software diagnostics for autonomous safety-critical control-systems based on artificial intelligence
http://hdl.handle.net/2117/403563
Software diagnostics for autonomous safety-critical control-systems based on artificial intelligence
Fernández Muñoz, Javier
(English) Machine Learning (ML) systems allow the efficient implementation of functionalities that can be hard to program by traditional software due to the high spectrum of inputs that hinder the definition of a specific procedural rule set. This characteristic of ML systems has encouraged their adoption in applications such as object detection or image classification in several safety-related domains, which are subject to safety certification. This certification is usually achieved by adhering to traditional functional safety standards such as IEC 61508 or ISO 26262. However, these standards were not devised to accommodate technologies such as ML in safety-related systems due to their development process, which is based on probabilistic models generated from training data, as opposed to traditional software components coded from specifications. Additionally, new challenges arise due to the fact that these ML algorithms need to process large volumes of data, and this requires High-Performance Embedded Computing (HPEC) platforms with computing capabilities far superior to traditional safety systems, such as multicore devices and GPU accelerators. Current functional safety standards do not provide explicit guidance for the use of HPEC platforms in safety-relevant systems, and the inherent complexity of those highly parallel architectures challenges certifications. With this Thesis, we attempt to address these challenges and give a step forward towards the functional safety certification of safety control systems integrating ML components in HPEC platforms.; (Español) Los sistemas de aprendizaje automático (ML) permiten la implementación eficiente de funcionalidades que pueden ser difíciles de programar por el software tradicional debido al elevado espectro de entradas que dificultan la definición de un conjunto de reglas procedimentales específicas. Esta característica de los sistemas ML ha fomentado su adopción en aplicaciones como la detección de objetos o la clasificación de imágenes en diversos ámbitos relacionados con la seguridad, que están sujetos a certificación de seguridad. Esta certificación suele lograrse mediante la adhesión a las normas tradicionales de seguridad funcional, como IEC 61508 o ISO 26262. Sin embargo, estas normas no se concibieron para dar cabida a tecnologías como el ML en los sistemas relacionados con la seguridad debido a su proceso de desarrollo, que se basa en modelos probabilísticos generados a partir de datos de entrenamiento, a diferencia de los componentes de software tradicionales codificados a partir de especificaciones. Además, surgen nuevos retos debido a que estos algoritmos de ML necesitan procesar grandes volúmenes de datos, lo que requiere plataformas de computación embebidas de alto rendimiento (HPEC) con capacidades de cálculo muy superiores a las de los sistemas de seguridad tradicionales, como dispositivos multinúcleo y aceleradores con GPUs. Las actuales normas de seguridad funcional no proporcionan orientaciones explícitas para el uso de plataformas HPEC en sistemas relevantes para la seguridad, y la complejidad inherente a esas arquitecturas altamente paralelas supone un reto para las certificaciones. Con esta Tesis, intentamos abordar estos retos y dar un paso adelante hacia la certificación de seguridad funcional de los sistemas de control de seguridad que integran componentes ML en plataformas HPEC.
2024-02-29T19:33:53ZFernández Muñoz, Javier(English) Machine Learning (ML) systems allow the efficient implementation of functionalities that can be hard to program by traditional software due to the high spectrum of inputs that hinder the definition of a specific procedural rule set. This characteristic of ML systems has encouraged their adoption in applications such as object detection or image classification in several safety-related domains, which are subject to safety certification. This certification is usually achieved by adhering to traditional functional safety standards such as IEC 61508 or ISO 26262. However, these standards were not devised to accommodate technologies such as ML in safety-related systems due to their development process, which is based on probabilistic models generated from training data, as opposed to traditional software components coded from specifications. Additionally, new challenges arise due to the fact that these ML algorithms need to process large volumes of data, and this requires High-Performance Embedded Computing (HPEC) platforms with computing capabilities far superior to traditional safety systems, such as multicore devices and GPU accelerators. Current functional safety standards do not provide explicit guidance for the use of HPEC platforms in safety-relevant systems, and the inherent complexity of those highly parallel architectures challenges certifications. With this Thesis, we attempt to address these challenges and give a step forward towards the functional safety certification of safety control systems integrating ML components in HPEC platforms.
(Español) Los sistemas de aprendizaje automático (ML) permiten la implementación eficiente de funcionalidades que pueden ser difíciles de programar por el software tradicional debido al elevado espectro de entradas que dificultan la definición de un conjunto de reglas procedimentales específicas. Esta característica de los sistemas ML ha fomentado su adopción en aplicaciones como la detección de objetos o la clasificación de imágenes en diversos ámbitos relacionados con la seguridad, que están sujetos a certificación de seguridad. Esta certificación suele lograrse mediante la adhesión a las normas tradicionales de seguridad funcional, como IEC 61508 o ISO 26262. Sin embargo, estas normas no se concibieron para dar cabida a tecnologías como el ML en los sistemas relacionados con la seguridad debido a su proceso de desarrollo, que se basa en modelos probabilísticos generados a partir de datos de entrenamiento, a diferencia de los componentes de software tradicionales codificados a partir de especificaciones. Además, surgen nuevos retos debido a que estos algoritmos de ML necesitan procesar grandes volúmenes de datos, lo que requiere plataformas de computación embebidas de alto rendimiento (HPEC) con capacidades de cálculo muy superiores a las de los sistemas de seguridad tradicionales, como dispositivos multinúcleo y aceleradores con GPUs. Las actuales normas de seguridad funcional no proporcionan orientaciones explícitas para el uso de plataformas HPEC en sistemas relevantes para la seguridad, y la complejidad inherente a esas arquitecturas altamente paralelas supone un reto para las certificaciones. Con esta Tesis, intentamos abordar estos retos y dar un paso adelante hacia la certificación de seguridad funcional de los sistemas de control de seguridad que integran componentes ML en plataformas HPEC.Convergence of high performance computing, big data, and machine learning applications on containerized infrastructures
http://hdl.handle.net/2117/403550
Convergence of high performance computing, big data, and machine learning applications on containerized infrastructures
Liu, Peini
(English) The convergence of High Performance Computing (HPC), Big Data (BD), and Machine Learning (ML) in the computing continuum is being pursued in earnest across the academic and industry. We envision virtualization and containerization technologies can be the basis for the convergence, because they reside as bridges between applications and infrastructures and provide well-known advantages. However, challenges remain for this convergence at the containerization level due to the diversity of applications and hardware heterogeneity: in the infrastructure layer, virtualization/containerization must feature complete isolation of the applications in a multi-tenant environment, seamlessly and efficiently provide different resources, allow agile and fine-grain dynamic resource provisioning to orchestrate resource sharing in those environments, also integrate HPC and Cloud scheduling and resource management techniques, while providing fault tolerance, energy efficiency, and scalability. Moreover, in the platform layer, virtualization/containerization must fulfill applications requirements of portability and reproducibility by allowing the definition of encapsulated and customized diverse software stacks, and the efficient creation/termination of those software environments on demand. The general research question of this thesis is: How to leverage virtualization/containerization in both the infrastructure layer and the platform layer to support efficiently the convergence of HPC, BD, and ML applications while taking advantage of heterogeneous HPC and Cloud resources?
To answer that question, firstly, we enable deployments of HPC, BD, and ML applications using containers that allow the definition of encapsulated and customized software stacks for each application and provide seamless and efficient access to different resources through different configurations. This is the basis of the convergence.
Secondly, the challenge is to understand the performance impact of the various configurations and deployment options when using containers. Thus, we perform several detailed performance analyses of containerization deployment options for diverse containerized applications on different hardware. These performance analyses consider different containerization-level configurations, such as containerization technologies, granularities, affinities, and network interconnects. The obtained performance insights can be guidelines to derive placement policies when deploying applications to better utilize resources and achieve better application performance.
Thirdly, we enable DevOps for developing, building, and deploying these containerized applications and managing containers in multi-tenant, dynamic context circumstances by establishing a platform, Scanflow-K8s, to help the users to develop faster their containerized applications, to enable the deployment options analyzed before to feature efficient deployments, and to bring autonomic computing for continuously managing applications. Scanflow-K8s features a multi-agent multi-layered architecture that enables the online supervision of the end-to-end life-cycle of ML workflows on Kubernetes, as well as the deployment of containerized HPC workloads.
Finally, we leverage the knowledge learned from the performance analysis of the configuration and deployment of containerized HPC, BD, and ML workloads, and the availability of Scanflow-K8s, to conduct autonomic management policies to schedule or manage these applications. On the one hand, we implement policies in the agent to evaluate the autonomic management and online supervision of the end-to-end life-cycle of ML workflows. On the other hand, we propose fine-grained scheduling policies for containerized HPC workloads in Kubernetes clusters.; (Español) La convergencia de Computación de Alto Rendimiento (HPC), Grandes Datos (BD) y Aprendizaje Automático (ML) en el continuum informático se está persiguiendo con seriedad en el ámbito académico e industrial. Prevemos que las tecnologías de virtualización y contenerización pueden ser la base para la convergencia, porque residen como puentes entre las aplicaciones y las infraestructuras y proporcionan ventajas bien conocidas. Sin embargo, existen desafíos para esta convergencia a nivel de contenerización debido a la diversidad de aplicaciones y la heterogeneidad del hardware: en la capa de infraestructura, la virtualización/contenerización debe presentar un aislamiento completo de las aplicaciones en un entorno de múltiples inquilinos, proporcionar de manera fluida y eficiente recursos diferentes, permitir la asignación dinámica de recursos ágil y detallada para orquestar el uso compartido de recursos en esos entornos, también integrar HPC y Cloud planificación y técnicas de gestión de recursos, al mismo tiempo que proporciona tolerancia a fallos, eficiencia energética y escalabilidad. Además, en la capa de la plataforma, la virtualización/contenerización debe cumplir con los requisitos de portabilidad y reproducibilidad de las aplicaciones al permitir la definición de diversas pilas de software encapsuladas y personalizadas, y la creación/terminación eficiente de esos entornos de software bajo demanda. La pregunta de investigación general de esta tesis es: ¿Cómo aprovechar la virtualización/contenerización tanto en la capa de infraestructura como en la capa de plataforma para respaldar de manera eficiente la convergencia de aplicaciones de HPC, BD y ML mientras se aprovechan los recursos heterogéneos de HPC y Cloud?
Para responder a esa pregunta, en primer lugar, habilitamos implementaciones de aplicaciones HPC, BD y ML utilizando contenedores que permiten la definición de pilas de software encapsuladas y personalizadas para cada aplicación y proporcionan acceso fluido y eficiente a diferentes recursos a través de diferentes configuraciones. Esta es la base de la convergencia.
En segundo lugar, hay que comprender el impacto en el rendimiento de las diversas configuraciones al utilizar contenedores. Por lo tanto, realizamos análisis de rendimiento detallados de configuraciones de contenedores para diversas aplicaciones en diferentes hardware. Estos análisis consideran diferentes parámetros a nivel de contenedores, por ejemplo, tecnologías de contenedores, granularidades, afinidades e interconexiones de red. Los conocimientos obtenidos servirán como directrices para derivar políticas de ubicación al desplegar aplicaciones para utilizar mejor los recursos y lograr un mejor rendimiento.
En tercer lugar, habilitamos DevOps para desarrollar, construir y desplegar estas aplicaciones en contenedores y gestionar éstos en contextos dinámicos y de múltiples usuarios estableciendo una plataforma, Scanflow-K8s, que ayude a los usuarios a desarrollar sus aplicaciones en contenedores más rápidamente, habilite las configuraciones analizadas anteriormente para contar con despliegues eficientes, y proporcione computación autónoma para gestionar continuamente las aplicaciones.
Scanflow-K8s cuenta con una arquitectura multiagente y de múltiples capas para la supervisión en línea de los flujos de trabajo de ML en Kubernetes, así como la implementación de cargas de trabajo HPC en contenedores.
Finalmente, aprovechamos el conocimiento aprendido del análisis de desempeño del despliegue de cargas de trabajo de HPC, BD y ML contenedorizadas, y la disponibilidad de Scanflow-K8s, para conducir políticas de gestión autónomas para planificar y administrar estas aplicaciones. Por un lado, implementamos políticas en el agente para evaluar la gestión autónoma y la supervisión en línea de los flujos de trabajo de ML. Por otro lado, proponemos políticas detalladas de planificación para cargas de trabajo de HPC contenerizadas en clústeres de Kubernetes.
Tesi amb menció de Doctorat Internacional
2024-02-29T19:31:07ZLiu, Peini(English) The convergence of High Performance Computing (HPC), Big Data (BD), and Machine Learning (ML) in the computing continuum is being pursued in earnest across the academic and industry. We envision virtualization and containerization technologies can be the basis for the convergence, because they reside as bridges between applications and infrastructures and provide well-known advantages. However, challenges remain for this convergence at the containerization level due to the diversity of applications and hardware heterogeneity: in the infrastructure layer, virtualization/containerization must feature complete isolation of the applications in a multi-tenant environment, seamlessly and efficiently provide different resources, allow agile and fine-grain dynamic resource provisioning to orchestrate resource sharing in those environments, also integrate HPC and Cloud scheduling and resource management techniques, while providing fault tolerance, energy efficiency, and scalability. Moreover, in the platform layer, virtualization/containerization must fulfill applications requirements of portability and reproducibility by allowing the definition of encapsulated and customized diverse software stacks, and the efficient creation/termination of those software environments on demand. The general research question of this thesis is: How to leverage virtualization/containerization in both the infrastructure layer and the platform layer to support efficiently the convergence of HPC, BD, and ML applications while taking advantage of heterogeneous HPC and Cloud resources?
To answer that question, firstly, we enable deployments of HPC, BD, and ML applications using containers that allow the definition of encapsulated and customized software stacks for each application and provide seamless and efficient access to different resources through different configurations. This is the basis of the convergence.
Secondly, the challenge is to understand the performance impact of the various configurations and deployment options when using containers. Thus, we perform several detailed performance analyses of containerization deployment options for diverse containerized applications on different hardware. These performance analyses consider different containerization-level configurations, such as containerization technologies, granularities, affinities, and network interconnects. The obtained performance insights can be guidelines to derive placement policies when deploying applications to better utilize resources and achieve better application performance.
Thirdly, we enable DevOps for developing, building, and deploying these containerized applications and managing containers in multi-tenant, dynamic context circumstances by establishing a platform, Scanflow-K8s, to help the users to develop faster their containerized applications, to enable the deployment options analyzed before to feature efficient deployments, and to bring autonomic computing for continuously managing applications. Scanflow-K8s features a multi-agent multi-layered architecture that enables the online supervision of the end-to-end life-cycle of ML workflows on Kubernetes, as well as the deployment of containerized HPC workloads.
Finally, we leverage the knowledge learned from the performance analysis of the configuration and deployment of containerized HPC, BD, and ML workloads, and the availability of Scanflow-K8s, to conduct autonomic management policies to schedule or manage these applications. On the one hand, we implement policies in the agent to evaluate the autonomic management and online supervision of the end-to-end life-cycle of ML workflows. On the other hand, we propose fine-grained scheduling policies for containerized HPC workloads in Kubernetes clusters.
(Español) La convergencia de Computación de Alto Rendimiento (HPC), Grandes Datos (BD) y Aprendizaje Automático (ML) en el continuum informático se está persiguiendo con seriedad en el ámbito académico e industrial. Prevemos que las tecnologías de virtualización y contenerización pueden ser la base para la convergencia, porque residen como puentes entre las aplicaciones y las infraestructuras y proporcionan ventajas bien conocidas. Sin embargo, existen desafíos para esta convergencia a nivel de contenerización debido a la diversidad de aplicaciones y la heterogeneidad del hardware: en la capa de infraestructura, la virtualización/contenerización debe presentar un aislamiento completo de las aplicaciones en un entorno de múltiples inquilinos, proporcionar de manera fluida y eficiente recursos diferentes, permitir la asignación dinámica de recursos ágil y detallada para orquestar el uso compartido de recursos en esos entornos, también integrar HPC y Cloud planificación y técnicas de gestión de recursos, al mismo tiempo que proporciona tolerancia a fallos, eficiencia energética y escalabilidad. Además, en la capa de la plataforma, la virtualización/contenerización debe cumplir con los requisitos de portabilidad y reproducibilidad de las aplicaciones al permitir la definición de diversas pilas de software encapsuladas y personalizadas, y la creación/terminación eficiente de esos entornos de software bajo demanda. La pregunta de investigación general de esta tesis es: ¿Cómo aprovechar la virtualización/contenerización tanto en la capa de infraestructura como en la capa de plataforma para respaldar de manera eficiente la convergencia de aplicaciones de HPC, BD y ML mientras se aprovechan los recursos heterogéneos de HPC y Cloud?
Para responder a esa pregunta, en primer lugar, habilitamos implementaciones de aplicaciones HPC, BD y ML utilizando contenedores que permiten la definición de pilas de software encapsuladas y personalizadas para cada aplicación y proporcionan acceso fluido y eficiente a diferentes recursos a través de diferentes configuraciones. Esta es la base de la convergencia.
En segundo lugar, hay que comprender el impacto en el rendimiento de las diversas configuraciones al utilizar contenedores. Por lo tanto, realizamos análisis de rendimiento detallados de configuraciones de contenedores para diversas aplicaciones en diferentes hardware. Estos análisis consideran diferentes parámetros a nivel de contenedores, por ejemplo, tecnologías de contenedores, granularidades, afinidades e interconexiones de red. Los conocimientos obtenidos servirán como directrices para derivar políticas de ubicación al desplegar aplicaciones para utilizar mejor los recursos y lograr un mejor rendimiento.
En tercer lugar, habilitamos DevOps para desarrollar, construir y desplegar estas aplicaciones en contenedores y gestionar éstos en contextos dinámicos y de múltiples usuarios estableciendo una plataforma, Scanflow-K8s, que ayude a los usuarios a desarrollar sus aplicaciones en contenedores más rápidamente, habilite las configuraciones analizadas anteriormente para contar con despliegues eficientes, y proporcione computación autónoma para gestionar continuamente las aplicaciones.
Scanflow-K8s cuenta con una arquitectura multiagente y de múltiples capas para la supervisión en línea de los flujos de trabajo de ML en Kubernetes, así como la implementación de cargas de trabajo HPC en contenedores.
Finalmente, aprovechamos el conocimiento aprendido del análisis de desempeño del despliegue de cargas de trabajo de HPC, BD y ML contenedorizadas, y la disponibilidad de Scanflow-K8s, para conducir políticas de gestión autónomas para planificar y administrar estas aplicaciones. Por un lado, implementamos políticas en el agente para evaluar la gestión autónoma y la supervisión en línea de los flujos de trabajo de ML. Por otro lado, proponemos políticas detalladas de planificación para cargas de trabajo de HPC contenerizadas en clústeres de Kubernetes.Scaling deep learning workloads. Applications in computer vision and seismology
http://hdl.handle.net/2117/403149
Scaling deep learning workloads. Applications in computer vision and seismology
Cruz de la Cruz, Stalin Leonel
(English) Deep learning techniques have an enormous impact on the state-of-the-art in many fields, such as computer vision, natural language processing, audio analysis and synthesis, and many others. The increasing computing power, the increasing amount of available data, and the algorithms' evolution foster this impact. On the one hand, this thesis applies Deep Learning techniques to large parallel systems to train and validate Neural Networks models for different applications. First, a technology stack to enable the distribution of deep learning workloads on a traditional High Performance Computing (HPC) setup such as the MareNostrum supercomputer is designed and evaluated. The key element of the deployed layered architecture is Apache Spark, which enables to isolate machine-learning applications from the particularities of the infrastructure, in this case, the MareNostrum supercomputer. The deployment of Spark-enabled clusters over MareNostrum is not trivial and it has done with the help of Spark4MN, a custom interoperability layer. On top of this stack (Marenostrum, Spark4MN and Spark) a deep learning specific layer is placed, DL4J. The goal is to provide insights into how the job configuration on a traditional HPC setup can be optimized to efficiently run this kind of workloads. The derived conclusions should be useful to guide similarly complex deployments in the future. Second, in a derived work, a use case is explored. We design and train deep CNNs for annotating and filtering images from social media (Instagram and Twitter). We capture the images in real-time and processes them by multiple CNNs that automatically enrich their metadata with tags that describe their visual content and also how they fit the visual identity of a brand (VBI) . With this method, we have trained VBI classifiers for more than 10 real brands and more than 100 classifiers for generic description of social media images. On the other hand, this thesis applies Deep Learning techniques on a computer cluster to train multiple NN configurations employed for earthquake detection and location. First, we develop a new method called UPC-UCV, consisting of applying a convolutional neural network to single-station 3-channel waveforms for P-wave earthquake detection and source region estimation in north-central Venezuela. This part includes the build of a new dataset, CARABOBO, that has been made public for reproducibility and benchmarking purposes. Both the UPC-UCV network and the CARABOBO dataset are the first developed for this geographic region. The method obtains better results than the State of the Art (SOA), yielding higher detection accuracy (13.3 percentage point increase) for the new target seismicity. UPC-UCV achieves a 95.27% detection accuracy. Second, in a derived work, we focus on the source region estimation problem. Source region estimation is a relaxed version of the earthquake location problem that consists on, first, partitioning a study area into K geographic subdivisions and, second, attempting to determine to which one the earthquake epicenter belongs. In the previous work, we performed the partitioning with k-means. In this part, we experiment with a geographical subdivision provided by a seismologist, consisting on irregular polygons covering the main seismic faults of Venezuela. While the obtained results for a small number of geographic subdivisions are not better than the ones obtained with k-means clustering, the good results obtained with a large number of subdivisions (91.78% with K::;:; 10) outperform the k-means approach (66.10%). It should be noted that to obtain these results, the use of spatial-based techniques significantly improved the final model. This confirms the target hypothesis that the source region estimation accuracy is significantly increased if the geographical partitioning is performed considering the regional geophysical characteristics such as the tectonic plate boundaries.; (Català) Les tècniques de Deep Learning tenen un impacte enorme en l'estat de l'art en molts camps, com ara la visió artificial, el processament del llenguatge natural, l’anàlisi i la síntesi d’àudio, i molts altres. El poder de còmput cada vegada mes gran, la quantitat cada vegada mes gran de dades disponibles i l'evolució dels algorismes fomenten aquest impacte. D'una banda, aquesta tesi aplica tècniques de Deep Leaming a grans sistemes paral·lels per entrenar i validar models de Xarxes Neuronals per a diferents aplicacions. Primer, es dissenya i s'avalua un stack de tecnologies per permetre la distribució de carregues de treball de Deep Learning en una configuració tradicional de computació d'alt rendiment (High Performance Computing o HPC) com el superordinador MareNostrum. L’element clau de l’arquitectura per capes desplegada es Apache Spark, que permet aïllar les aplicacions d’aprenentatge automàtic de les particularitats de la infraestructura, en aquest cas, MareNostrum. El desplegament de clústers habilitats per a Spark sobre MareNostrum no es trivial i s'ha fet amb l'ajuda de Spark4MN, una capa d'interoperabilitat personalitzada. A la part superior de l'stack (compost per Marenostrum, Spark4MN i Spark) es col·loca una capa especifica d'aprenentatge profund, DL4J. L'objectiu es proporcionar informació sobre com es pot optimitzar la configuració del treball en una configuració d'HPC tradicional per executar de manera eficient aquest tipus de workloads. Les conclusions derivades haurien de ser útils per guiar implementacions igualment complexes en el futur. En segon lloc, en un treball derivat s'explora un cas d'us. Dissenyem i entrenem xarxes neuronals convolucionals (convolutional neural networks o CNNs) per anotar i filtrar imatges de les xarxes socials (lnstagram i Twitter). Capturem les imatges en temps real i les processem amb múltiples CNN que automàticament enriqueixen les seves metadades amb etiquetes queen descriuen el contingut visual i també com s'ajusten a la identitat visual d'una marca (Visual Brand Identity o VBI). Amb aquest mètode hem entrenat classificadors VBI per a mes de 10 marques reals i mes de 100 classificadors per a descripció genèrica d'imatges de xarxes socials. D'altra banda, aquesta tesi aplica tècniques de Deep Learning a un clúster d'ordinadors per entrenar múltiples configuracions d'una CNN emprada per a la detecció i localització de terratrèmols. Primer, desenvolupem un nou mètode anomenat UPC-UCV, que consisteix a aplicar una CNN a formes d'ona de 3 canals d'una sola estació per a la detecció de terratrèmols d'ona P i l'estimació de la regió font al centre nord de Venezuela . Aquesta part inclou la creació d'un dataset nou, CARABOBO, que s'ha fet públic amb finalitats de reproductibilitat i avaluació comparativa. Tant la xarxa UPC-UCV com el dataset CARABOBO són els primers desenvolupats per a aquesta regió geogràfica. El mètode obté millors resultats que l'estat de l'art (SOA), cosa que produeix mes precisió de detecció (augment de 13,3 punts percentuals) per a la nova sismicitat objectiu. UPC-UCV aconsegueix una precisió de detecció del 95,27%. En segon lloc, en un treball derivat ens centrem en el problema d'estimació de la regió font. L'estimació de la regió font es una versió relaxada del problema de localització de terratrèmols que consisteix, primer, a dividir una àrea d'estudi a K subdivisions geogràfiques i, segon, intentar determinar a quin pertany !'epicentre del terratrèmol. A la feina anterior, realitzem la partició amb k-means. En aquesta part experimentem amb una subdivisió geogràfica proporcionada per un sismòleg, consistent en polígons irregulars que cobreixen les principals falles sísmiques de Venezuela. Tot i que els resultats obtinguts per a un petit nombre de subdivisions geogràfiques no són millors que els obtinguts amb l'agrupament de k-means, els bons resultats obtinguts amb una gran quantitat de subdivisions (91.78% amb K=10) superen l'enfocament de k- means (66.10%).
2024-02-26T09:25:10ZCruz de la Cruz, Stalin Leonel(English) Deep learning techniques have an enormous impact on the state-of-the-art in many fields, such as computer vision, natural language processing, audio analysis and synthesis, and many others. The increasing computing power, the increasing amount of available data, and the algorithms' evolution foster this impact. On the one hand, this thesis applies Deep Learning techniques to large parallel systems to train and validate Neural Networks models for different applications. First, a technology stack to enable the distribution of deep learning workloads on a traditional High Performance Computing (HPC) setup such as the MareNostrum supercomputer is designed and evaluated. The key element of the deployed layered architecture is Apache Spark, which enables to isolate machine-learning applications from the particularities of the infrastructure, in this case, the MareNostrum supercomputer. The deployment of Spark-enabled clusters over MareNostrum is not trivial and it has done with the help of Spark4MN, a custom interoperability layer. On top of this stack (Marenostrum, Spark4MN and Spark) a deep learning specific layer is placed, DL4J. The goal is to provide insights into how the job configuration on a traditional HPC setup can be optimized to efficiently run this kind of workloads. The derived conclusions should be useful to guide similarly complex deployments in the future. Second, in a derived work, a use case is explored. We design and train deep CNNs for annotating and filtering images from social media (Instagram and Twitter). We capture the images in real-time and processes them by multiple CNNs that automatically enrich their metadata with tags that describe their visual content and also how they fit the visual identity of a brand (VBI) . With this method, we have trained VBI classifiers for more than 10 real brands and more than 100 classifiers for generic description of social media images. On the other hand, this thesis applies Deep Learning techniques on a computer cluster to train multiple NN configurations employed for earthquake detection and location. First, we develop a new method called UPC-UCV, consisting of applying a convolutional neural network to single-station 3-channel waveforms for P-wave earthquake detection and source region estimation in north-central Venezuela. This part includes the build of a new dataset, CARABOBO, that has been made public for reproducibility and benchmarking purposes. Both the UPC-UCV network and the CARABOBO dataset are the first developed for this geographic region. The method obtains better results than the State of the Art (SOA), yielding higher detection accuracy (13.3 percentage point increase) for the new target seismicity. UPC-UCV achieves a 95.27% detection accuracy. Second, in a derived work, we focus on the source region estimation problem. Source region estimation is a relaxed version of the earthquake location problem that consists on, first, partitioning a study area into K geographic subdivisions and, second, attempting to determine to which one the earthquake epicenter belongs. In the previous work, we performed the partitioning with k-means. In this part, we experiment with a geographical subdivision provided by a seismologist, consisting on irregular polygons covering the main seismic faults of Venezuela. While the obtained results for a small number of geographic subdivisions are not better than the ones obtained with k-means clustering, the good results obtained with a large number of subdivisions (91.78% with K::;:; 10) outperform the k-means approach (66.10%). It should be noted that to obtain these results, the use of spatial-based techniques significantly improved the final model. This confirms the target hypothesis that the source region estimation accuracy is significantly increased if the geographical partitioning is performed considering the regional geophysical characteristics such as the tectonic plate boundaries.
(Català) Les tècniques de Deep Learning tenen un impacte enorme en l'estat de l'art en molts camps, com ara la visió artificial, el processament del llenguatge natural, l’anàlisi i la síntesi d’àudio, i molts altres. El poder de còmput cada vegada mes gran, la quantitat cada vegada mes gran de dades disponibles i l'evolució dels algorismes fomenten aquest impacte. D'una banda, aquesta tesi aplica tècniques de Deep Leaming a grans sistemes paral·lels per entrenar i validar models de Xarxes Neuronals per a diferents aplicacions. Primer, es dissenya i s'avalua un stack de tecnologies per permetre la distribució de carregues de treball de Deep Learning en una configuració tradicional de computació d'alt rendiment (High Performance Computing o HPC) com el superordinador MareNostrum. L’element clau de l’arquitectura per capes desplegada es Apache Spark, que permet aïllar les aplicacions d’aprenentatge automàtic de les particularitats de la infraestructura, en aquest cas, MareNostrum. El desplegament de clústers habilitats per a Spark sobre MareNostrum no es trivial i s'ha fet amb l'ajuda de Spark4MN, una capa d'interoperabilitat personalitzada. A la part superior de l'stack (compost per Marenostrum, Spark4MN i Spark) es col·loca una capa especifica d'aprenentatge profund, DL4J. L'objectiu es proporcionar informació sobre com es pot optimitzar la configuració del treball en una configuració d'HPC tradicional per executar de manera eficient aquest tipus de workloads. Les conclusions derivades haurien de ser útils per guiar implementacions igualment complexes en el futur. En segon lloc, en un treball derivat s'explora un cas d'us. Dissenyem i entrenem xarxes neuronals convolucionals (convolutional neural networks o CNNs) per anotar i filtrar imatges de les xarxes socials (lnstagram i Twitter). Capturem les imatges en temps real i les processem amb múltiples CNN que automàticament enriqueixen les seves metadades amb etiquetes queen descriuen el contingut visual i també com s'ajusten a la identitat visual d'una marca (Visual Brand Identity o VBI). Amb aquest mètode hem entrenat classificadors VBI per a mes de 10 marques reals i mes de 100 classificadors per a descripció genèrica d'imatges de xarxes socials. D'altra banda, aquesta tesi aplica tècniques de Deep Learning a un clúster d'ordinadors per entrenar múltiples configuracions d'una CNN emprada per a la detecció i localització de terratrèmols. Primer, desenvolupem un nou mètode anomenat UPC-UCV, que consisteix a aplicar una CNN a formes d'ona de 3 canals d'una sola estació per a la detecció de terratrèmols d'ona P i l'estimació de la regió font al centre nord de Venezuela . Aquesta part inclou la creació d'un dataset nou, CARABOBO, que s'ha fet públic amb finalitats de reproductibilitat i avaluació comparativa. Tant la xarxa UPC-UCV com el dataset CARABOBO són els primers desenvolupats per a aquesta regió geogràfica. El mètode obté millors resultats que l'estat de l'art (SOA), cosa que produeix mes precisió de detecció (augment de 13,3 punts percentuals) per a la nova sismicitat objectiu. UPC-UCV aconsegueix una precisió de detecció del 95,27%. En segon lloc, en un treball derivat ens centrem en el problema d'estimació de la regió font. L'estimació de la regió font es una versió relaxada del problema de localització de terratrèmols que consisteix, primer, a dividir una àrea d'estudi a K subdivisions geogràfiques i, segon, intentar determinar a quin pertany !'epicentre del terratrèmol. A la feina anterior, realitzem la partició amb k-means. En aquesta part experimentem amb una subdivisió geogràfica proporcionada per un sismòleg, consistent en polígons irregulars que cobreixen les principals falles sísmiques de Venezuela. Tot i que els resultats obtinguts per a un petit nombre de subdivisions geogràfiques no són millors que els obtinguts amb l'agrupament de k-means, els bons resultats obtinguts amb una gran quantitat de subdivisions (91.78% amb K=10) superen l'enfocament de k- means (66.10%).Hardware/software solutions to enable the use of high-performance processors in the most stringent safety-critical systems
http://hdl.handle.net/2117/402844
Hardware/software solutions to enable the use of high-performance processors in the most stringent safety-critical systems
Alcaide Portet, Sergi
(English) Future Safety-Critical Systems require a boost in guaranteed performance in order to satisfy the increasing performance demands of the state-of-the-art complex software features. Ar1 approach to achieve these performance requirements is the usage of High-Performance Computing (HPC) components which can deliver more computation power than current safety critical components. However, the dependability support of these HPC components are not the same as that for the safety- critical components, so HPC components can jeopardize the functional safety of the entire system, especially since some of the highest-criticality functionalities maybe executed entirely on top of these components (e.g., neural networks in a Graphical Processing Unit (GPU)). Based on the safety requirements of performance-hungry critical applications, such as those for an autonomous operation, these HPC components must comply with the highest criticality levels, hence including the required dependability support. The overarching goal of this thesis is to present techniques to achieve that in different HPC components. In particular, we focus on GPUs and multicores. The techniques presented aim at providing diverse redundant execution, as needed to avoid Common Cause Failure (CCF)s, which are those defeating safety measures (e.g., pure redundancy) as a consequence of a single-point fault (e.g., a fault affecting both redundant instances identically). Such a solution is comparable to the lockstep execution employed on safety-critical processors.
The first set of contributions of this thesis focuses on enabling diverse redundant execution on a single GPU. We propose two different solutions: (1) a slight hardware modification affecting the internal scheduler of the GPU and (2) a software-only approach that requires knowledge of the hardware resources of the GPU. In these contributions, we also analyze the staggering created due to the CPU-GPU inherent interaction.
Finally, the last contribution relates to multicore systems. Similarly to the previous contributions, we focused on enabling diverse redundant execution on this component. However, executing a workload twice in two different cores is something relatively simple with modern programming models (e.g., OpenMP, OpenMPI). The real challenge is in using the limited observability and controllabilitychannels to maintain and guarantee the (time) diversity between these two redundant executions, like the lockstep approach. Note that lockstep is an expensive approach that hijacks halfofthe cores, which are non-visible to the user and cannot be used for non-critical applications. Instead, if a flexible software-only solution for COTS multicores existed, all cores could be used by non-critical applications when not needed for the safety-critical ones. Thus, maximizing their utilization. To tackle this challenge, we proposed a software-only solution with small requirements that can be met by most existing COTS multicore.; (Català) Els futurs sistemes de fiabilitat critica necessitaran un increment en el rendiment garantit per tal de salisfer l'elevada demanda de computaci6 del complex programari que actualment es l'estat de l'art. Una estrategia per aconseguir aquest rendiment es utilitzar components del camp de la computaci6 d'altes prestacions (HPC), ja que poden aportar mes poder de computaci6 que els actuals components de fiabilitat critica. Tanmateix, el suport de fiabilitat que tenen aquests HPC components no es el mateix que tenen els components de fiabilitat crilica, i l'us dels components HPC pot amenar;:ar la seguretat funcional de tot el sistema, especialment si algunes de les funcionalitats d'alta criticalitat poden ser totalment executades en algun d'aquests components (perexemple, xarxes neuronals dins d'una unitatde computaci6 grafica (GPU)). Basant-se en els requisits de fiabilitat de les aplicacions que requereixen una gran potencia de computaci6, com les d'operaci6 aut6noma, aquests components d'altes prestacions han de complir els maxims nivells de fiabilitat i per tan incloure mecanismes que aportin aquesta fiabilitat. L'objectiu general d'aquesta tesi es presentar tecniques per aconseguir aquests nivells en component d'altes prestacions. En concret, fem enfasis en unitats de computaci6 grafiques i sistemes multinucli. Les tecniques presentades tenen la intenci6 de proveir una execuci6 redundant i diversa, la qual es necessita per evitar les fallades de causa comuna (CCF), que s6n el tipus de fallades de les quals no poden ser protegides utilitzant metodes de fiabilitat (com simple redundancia) i que tenen un unic punt de fallada (una fallada que afecti les dues instancies redundants identicament). Aquestes solucions s6n comparables a l'execuci6 en lockstep (pas de bloqueig) emprada en sistemes de fiabilitat critica.
El primer grup de contribucions d'aquesta tesis es bas en a habilitar una execuci6 redundant i diversa en una sola unitat de computaci6 grafica. Proposem per aix6, dues solucions diferents: (1) una minima modificaci6 en el maquinari que afecta el planificador intern de la unitat de com putaci6 grafica i (2) una soluci6 purament de programari que requereix coneixement dels recursos interns de la unitat de computaci6 grafica. En aquestes contribucions, tambe analitzem la desincronitzaci6 creat a causa de la interacci6 inherent de la dupla CPU-GPU.
Finalment, l'ultima contribuci6 se centra en els sistemes multinucli. De manera similar ales contribucions previes, l'emfasi d'aquesta contribuci6 es basa en habilitar una execuci6 redundant i divers a per6 aquesta vegada en sistemes multinucli. Executar una tasca de forma redundant en dos nuclis es relativam ent simpie emprant models de program aci6 moderns com OpenMP o OpenMPI. El gran repte es tracta en ulilitzar els limitats canals d'observaci6 i de controlament interns per mantenir i garanlir que la diversitat temporal d'aquestes dues execucions redundants es mante, de manera similar a la tecnica de lockstep. Cal mencionar que el lockstep es una tecnica molt costosa ja que "segresta" la meitat dels nuclis que es tornen invisibles de cara a l'usuari i que resten inactius en aplicacions no critiques. En canvi amb una soluci6 flexible i purament de programari existis per a sistemes multinucli generics, tots els nuclis podrien ser utilitzats per les aplicacions no critiques quan no fossin necessitats per les aplicacions critiques, per tant millorant la utilitzaci6 d'aquests recursos. Per tal d'assolir aquest objectiu, aquesta tesi proposa una soluci6 purament de programari que te uns requisits minims que assoleixen la majoria dels sistemes multinucli del mercat.
2024-02-22T19:33:06ZAlcaide Portet, Sergi(English) Future Safety-Critical Systems require a boost in guaranteed performance in order to satisfy the increasing performance demands of the state-of-the-art complex software features. Ar1 approach to achieve these performance requirements is the usage of High-Performance Computing (HPC) components which can deliver more computation power than current safety critical components. However, the dependability support of these HPC components are not the same as that for the safety- critical components, so HPC components can jeopardize the functional safety of the entire system, especially since some of the highest-criticality functionalities maybe executed entirely on top of these components (e.g., neural networks in a Graphical Processing Unit (GPU)). Based on the safety requirements of performance-hungry critical applications, such as those for an autonomous operation, these HPC components must comply with the highest criticality levels, hence including the required dependability support. The overarching goal of this thesis is to present techniques to achieve that in different HPC components. In particular, we focus on GPUs and multicores. The techniques presented aim at providing diverse redundant execution, as needed to avoid Common Cause Failure (CCF)s, which are those defeating safety measures (e.g., pure redundancy) as a consequence of a single-point fault (e.g., a fault affecting both redundant instances identically). Such a solution is comparable to the lockstep execution employed on safety-critical processors.
The first set of contributions of this thesis focuses on enabling diverse redundant execution on a single GPU. We propose two different solutions: (1) a slight hardware modification affecting the internal scheduler of the GPU and (2) a software-only approach that requires knowledge of the hardware resources of the GPU. In these contributions, we also analyze the staggering created due to the CPU-GPU inherent interaction.
Finally, the last contribution relates to multicore systems. Similarly to the previous contributions, we focused on enabling diverse redundant execution on this component. However, executing a workload twice in two different cores is something relatively simple with modern programming models (e.g., OpenMP, OpenMPI). The real challenge is in using the limited observability and controllabilitychannels to maintain and guarantee the (time) diversity between these two redundant executions, like the lockstep approach. Note that lockstep is an expensive approach that hijacks halfofthe cores, which are non-visible to the user and cannot be used for non-critical applications. Instead, if a flexible software-only solution for COTS multicores existed, all cores could be used by non-critical applications when not needed for the safety-critical ones. Thus, maximizing their utilization. To tackle this challenge, we proposed a software-only solution with small requirements that can be met by most existing COTS multicore.
(Català) Els futurs sistemes de fiabilitat critica necessitaran un increment en el rendiment garantit per tal de salisfer l'elevada demanda de computaci6 del complex programari que actualment es l'estat de l'art. Una estrategia per aconseguir aquest rendiment es utilitzar components del camp de la computaci6 d'altes prestacions (HPC), ja que poden aportar mes poder de computaci6 que els actuals components de fiabilitat critica. Tanmateix, el suport de fiabilitat que tenen aquests HPC components no es el mateix que tenen els components de fiabilitat crilica, i l'us dels components HPC pot amenar;:ar la seguretat funcional de tot el sistema, especialment si algunes de les funcionalitats d'alta criticalitat poden ser totalment executades en algun d'aquests components (perexemple, xarxes neuronals dins d'una unitatde computaci6 grafica (GPU)). Basant-se en els requisits de fiabilitat de les aplicacions que requereixen una gran potencia de computaci6, com les d'operaci6 aut6noma, aquests components d'altes prestacions han de complir els maxims nivells de fiabilitat i per tan incloure mecanismes que aportin aquesta fiabilitat. L'objectiu general d'aquesta tesi es presentar tecniques per aconseguir aquests nivells en component d'altes prestacions. En concret, fem enfasis en unitats de computaci6 grafiques i sistemes multinucli. Les tecniques presentades tenen la intenci6 de proveir una execuci6 redundant i diversa, la qual es necessita per evitar les fallades de causa comuna (CCF), que s6n el tipus de fallades de les quals no poden ser protegides utilitzant metodes de fiabilitat (com simple redundancia) i que tenen un unic punt de fallada (una fallada que afecti les dues instancies redundants identicament). Aquestes solucions s6n comparables a l'execuci6 en lockstep (pas de bloqueig) emprada en sistemes de fiabilitat critica.
El primer grup de contribucions d'aquesta tesis es bas en a habilitar una execuci6 redundant i diversa en una sola unitat de computaci6 grafica. Proposem per aix6, dues solucions diferents: (1) una minima modificaci6 en el maquinari que afecta el planificador intern de la unitat de com putaci6 grafica i (2) una soluci6 purament de programari que requereix coneixement dels recursos interns de la unitat de computaci6 grafica. En aquestes contribucions, tambe analitzem la desincronitzaci6 creat a causa de la interacci6 inherent de la dupla CPU-GPU.
Finalment, l'ultima contribuci6 se centra en els sistemes multinucli. De manera similar ales contribucions previes, l'emfasi d'aquesta contribuci6 es basa en habilitar una execuci6 redundant i divers a per6 aquesta vegada en sistemes multinucli. Executar una tasca de forma redundant en dos nuclis es relativam ent simpie emprant models de program aci6 moderns com OpenMP o OpenMPI. El gran repte es tracta en ulilitzar els limitats canals d'observaci6 i de controlament interns per mantenir i garanlir que la diversitat temporal d'aquestes dues execucions redundants es mante, de manera similar a la tecnica de lockstep. Cal mencionar que el lockstep es una tecnica molt costosa ja que "segresta" la meitat dels nuclis que es tornen invisibles de cara a l'usuari i que resten inactius en aplicacions no critiques. En canvi amb una soluci6 flexible i purament de programari existis per a sistemes multinucli generics, tots els nuclis podrien ser utilitzats per les aplicacions no critiques quan no fossin necessitats per les aplicacions critiques, per tant millorant la utilitzaci6 d'aquests recursos. Per tal d'assolir aquest objectiu, aquesta tesi proposa una soluci6 purament de programari que te uns requisits minims que assoleixen la majoria dels sistemes multinucli del mercat.