dc.contributor.advisor | Pérez Pavón, Borja | |
dc.contributor.author | Giménez Cianca, Daniel | |
dc.contributor.other | Universidad de Cantabria | es_ES |
dc.date.accessioned | 2025-09-11T17:08:11Z | |
dc.date.available | 2025-09-11T17:08:11Z | |
dc.date.issued | 2025-07 | |
dc.identifier.uri | https://hdl.handle.net/10902/37140 | |
dc.description.abstract | En las últimas décadas, la Ley de Moore, que predecía la duplicación del número de transistores en un chip aproximadamente cada dos años, ha sido el motor del crecimiento exponencial en la capacidad de cómputo de los procesadores. Sin embargo, este ritmo de escalado se ha ralentizado drásticamente en los últimos años debido a limitaciones físicas y económicas en la miniaturización de los transistores. Esto ha provocado un cambio de paradigma: ya no se puede confiar exclusivamente en el aumento de frecuencia o en la densidad de transistores para mejorar el rendimiento.
Ante este escenario, la industria se ha volcado hacia arquitecturas paralelas, incorporando múltiples núcleos por procesador y unidades vectoriales (SIMD), que permiten ejecutar múltiples instrucciones simultáneamente o aplicar una misma operación sobre varios datos en paralelo. Aprovechar este tipo de hardware requiere una programación consciente del paralelismo, tanto a nivel de hilos como de datos, así como un entendimiento profundo del comportamiento de las aplicaciones sobre la jerarquía de memoria.
Este trabajo de fin de grado se centra en el análisis y evaluación de distintas implementaciones paralelas de un conjunto representativo de benchmarks, haciendo uso de tecnologías como OpenMP e instrucciones SIMD, en un entorno controlado de computación de alto rendimiento. Se estudia cómo el rendimiento de una misma aplicación puede variar significativamente según el número de hilos empleados y el tipo de vectorización aplicada (manual o automática).
El estudio se ha realizado sobre nueve benchmarks pertenecientes a distintos Berkeley Dwarfs, patrones computacionales que permiten clasificar las aplicaciones según su estructura de acceso a datos y tipo de cómputo. Cada benchmark ha sido ejecutado en varias versiones y bajo diferentes configuraciones, evaluando su comportamiento con métricas obtenidas a través de Intel VTune Profiler, como el tiempo de ejecución, la eficiencia del uso de la caché, el CPI o el acceso a DRAM.
El objetivo principal es identificar qué técnicas de optimización son más efectivas según el tipo de aplicación, estableciendo una correlación entre patrón computacional, tipo de vectorización y escalabilidad. Con ello, se busca ofrecer una visión fundamentada que ayude a seleccionar estrategias de optimización adecuadas en función del tipo de carga de trabajo. | es_ES |
dc.description.abstract | In recent decades, Moore's Law, which predicted that the number of transistors on a chip would double approximately every two years, has been the driving force behind exponential growth in processor computing power. However, this rate of scaling has slowed dramatically in recent years due to physical and economic limitations in transistor miniaturization. This has led to a paradigm shift: it is no longer possible to rely exclusively on increasing frequency or transistor density to improve performance.
Faced with this scenario, the industry has turned to parallel architectures, incorporating multiple cores per processor and vector units (SIMD), which allow multiple instructions to be executed simultaneously or the same operation to be applied to multiple data sets in parallel. Taking advantage of this type of hardware requires programming that is conscious of parallelism, both at the thread and data levels, as well as a deep understanding of the behavior of applications on the memory hierarchy.
This final degree project focuses on the analysis and evaluation of different parallel implementations of a representative set of benchmarks, using technologies such as OpenMP and SIMD instructions, in a controlled high-performance computing environment. It studies how the performance of the same application can vary significantly depending on the number of threads used and the type of vectorization applied (manual or automatic).
The study was conducted on nine benchmarks belonging to different Berkeley Dwarfs, computational patterns that allow applications to be classified according to their data access structure and type of computation. Each benchmark was run in several versions and under different configurations, evaluating its behavior with metrics obtained through Intel VTune Profiler, such as execution time, cache usage efficiency, CPI, and DRAM access.
The main objective is to identify which optimization techniques are most effective depending on the type of application, establishing a correlation between computational pattern, type of vectorization, and scalability. The aim is to provide an informed view that helps select appropriate optimization strategies based on the type of workload. | es_ES |
dc.format.extent | 56 p. | es_ES |
dc.language.iso | spa | es_ES |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.title | Análisis del impacto de la paralelización y la vectorización sobre el rendimiento en cargas de trabajo HPC | es_ES |
dc.title.alternative | Analysis of the impact of parallelization and vectorization on performance in HPC workloads | es_ES |
dc.type | info:eu-repo/semantics/bachelorThesis | es_ES |
dc.rights.accessRights | openAccess | es_ES |
dc.description.degree | Grado en Ingeniería Informática | es_ES |