Towards a safe and efficient OpenMP
dc.contributor
Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
dc.contributor.author
Munera Sánchez, Adrián
dc.date.accessioned
2025-08-29T06:20:55Z
dc.date.issued
2025-07-16
dc.identifier.uri
http://hdl.handle.net/10803/695115
dc.description.abstract
(English) The growing complexity of contemporary multi-core and heterogeneous architectures necessitates parallel programming models capable of efficiently leveraging the available computational resources while ensuring performance, safety and programmability. OpenMP has emerged as the de facto standard for shared-memory parallel programming, offering a straightforward and adaptable approach to task-based execution. Nevertheless, despite its widespread adoption, OpenMP lacks support for key aspects such as memory locality in task scheduling on standard (non-NUMA) architectures and adaptability to runtime conditions in the scope of high-performance computing and fault tolerance for real-time systems, leading to suboptimal performance across various applications.
As a consequence, this thesis presents a set of techniques aimed at addressing these limitations. The first contribution is an affinity-aware scheduling technique designed to improve data locality and cache utilization, thereby minimizing memory access overhead. The second contribution introduces a dynamic variant selection mechanism that adapts function execution to runtime conditions, enhancing adaptability and performance portability. The third contribution proposes a task replication mechanism to enhance fault tolerance, promoting system reliability in safety-critical applications. Lastly, we integrate OpenMP into a model-driven engineering framework to enable the automated generation of parallel code for cyber-physical systems, bridging the gap between high-performance and embedded systems.
Through these advancements, this research elevates the OpenMP programming model by improving performance, safety, and programmability, making it more suitable for both high-performance computing and critical real-time embedded systems domains.
dc.description.abstract
(Català) La creixent complexitat de les arquitectures contemporànies multinúcli i heterogènies exigeix models de programació paral·lela capaços d’aprofitar eficientment els recursos computacionals disponibles, garantint alhora el rendiment, la seguretat i la programabilitat. OpenMP s’ha consolidat com l’estàndard de facto per a la programació paral·lela amb memòria compartida, oferint un enfocament senzill i adaptable per a l’execució basada en tasques. No obstant això, malgrat la seva àmplia adopció, OpenMP no dona suport a aspectes clau com la localitat de memòria en la planificació de tasques en arquitectures estàndard (no-NUMA) ni l’adaptabilitat a condicions d’execució en l’àmbit de la computació d’alt rendiment i la tolerància a errors en sistemes en temps real, cosa que comporta un rendiment subòptim en diverses aplicacions.
Com a resposta, aquesta tesi presenta un conjunt de tècniques orientades a abordar aquestes limitacions. La primera contribució és una tècnica de planificació conscient de l’afinitat, dissenyada per millorar la localitat de dades i l’ús de la memòria cau, minimitzant així la sobrecàrrega en l’accés a la memòria. La segona contribució introdueix un mecanisme de selecció dinàmica de variants que adapta l’execució de funcions a les condicions en temps d’execució, millorant l’adaptabilitat i la portabilitat del rendiment. La tercera contribució proposa un mecanisme de replicació de tasques per millorar la tolerància a errors, afavorint la fiabilitat del sistema en aplicacions crítiques per a la seguretat. Finalment, s’integra OpenMP en un entorn d’enginyeria dirigida per models per permetre la generació automatitzada de codi paral·lel en sistemes ciberfísics, escurçant la distància entre els sistemes d’alt rendiment i els sistemes empotrats.
Amb aquests avenços, aquesta recerca eleva el model de programació OpenMP mitjançant la millora del rendiment, la seguretat i la programabilitat, fent-lo més adequat tant per a la computació d’alt rendiment com per als sistemes empotrats crítics en temps real.
dc.description.abstract
(Español) La creciente complejidad de las arquitecturas contemporáneas multinúcleo y heterogéneas exige modelos de programación paralela capaces de aprovechar eficientemente los recursos computacionales disponibles, garantizando al mismo tiempo el rendimiento, la seguridad y la programabilidad. OpenMP se ha consolidado como el estándar de facto para la programación paralela en memoria compartida, ofreciendo un enfoque sencillo y adaptable para la ejecución basada en tareas. No obstante, a pesar de su amplia adopción, OpenMP carece de soporte para aspectos clave como la localidad de memoria en la planificación de tareas sobre arquitecturas estándar (no-NUMA) y la adaptabilidad a condiciones de ejecución en el ámbito de la computación de alto rendimiento y la tolerancia a fallos en sistemas en tiempo real, lo que conlleva un rendimiento subóptimo en diversas aplicaciones.
Como consecuencia, esta tesis presenta un conjunto de técnicas orientadas a abordar estas limitaciones. La primera contribución es una técnica de planificación consciente de la afinidad, diseñada para mejorar la localidad de los datos y el aprovechamiento de la caché, minimizando así la sobrecarga en el acceso a memoria. La segunda contribución introduce un mecanismo de selección dinámica de variantes que adapta la ejecución de funciones a las condiciones en tiempo de ejecución, mejorando la adaptabilidad y la portabilidad del rendimiento. La tercera contribución propone un mecanismo de replicación de tareas para mejorar la tolerancia a fallos, promoviendo la fiabilidad del sistema en aplicaciones críticas para la seguridad. Por último, se integra OpenMP en un marco de ingeniería dirigida por modelos para permitir la generación automatizada de código paralelo en sistemas ciberfísicos, cerrando la brecha entre los sistemas de alto rendimiento y los sistemas embebidos.
A través de estos avances, esta investigación eleva el modelo de programación OpenMP al mejorar el rendimiento, la seguridad y la programabilidad, haciéndolo más adecuado tanto para la computación de alto rendimiento como para los sistemas embebidos críticos en tiempo real.
dc.format.extent
140 p.
dc.language.iso
eng
dc.publisher
Universitat Politècnica de Catalunya
dc.rights.license
ADVERTIMENT. Tots els drets reservats. L'accés als continguts d'aquesta tesi doctoral i la seva utilització ha de respectar els drets de la persona autora. Pot ser utilitzada per a consulta o estudi personal, així com en activitats o materials d'investigació i docència en els termes establerts a l'art. 32 del Text Refós de la Llei de Propietat Intel·lectual (RDL 1/1996). Per altres utilitzacions es requereix l'autorització prèvia i expressa de la persona autora. En qualsevol cas, en la utilització dels seus continguts caldrà indicar de forma clara el nom i cognoms de la persona autora i el títol de la tesi doctoral. No s'autoritza la seva reproducció o altres formes d'explotació efectuades amb finalitats de lucre ni la seva comunicació pública des d'un lloc aliè al servei TDX. Tampoc s'autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant als continguts de la tesi com als seus resums i índexs.
dc.source
TDX (Tesis Doctorals en Xarxa)
dc.subject
OpenMP
dc.subject
task scheduling
dc.subject
datta affinity
dc.subject
performance portability
dc.subject
adaptability
dc.subject
safety
dc.subject
resilience
dc.subject
fault tolerance
dc.subject
replication
dc.subject
DSML
dc.subject
parallel and heterogeneous computing
dc.subject
embedded computing
dc.subject
real time
dc.subject.other
Àrees temàtiques de la UPC::Informàtica
dc.title
Towards a safe and efficient OpenMP
dc.type
info:eu-repo/semantics/doctoralThesis
dc.type
info:eu-repo/semantics/publishedVersion
dc.date.updated
2025-08-29T06:20:54Z
dc.subject.udc
004 - Informàtica
dc.contributor.director
Quiñones Moreno, Eduardo
dc.contributor.director
Royuela Alcázar, Sara
dc.contributor.tutor
Martorell Bofill, Xavier
dc.embargo.terms
cap
dc.date.embargoEnd
2027-04-01T02:00:00Z
dc.rights.accessLevel
info:eu-repo/semantics/embargoedAccess
dc.identifier.doi
https://dx.doi.org/10.5821/dissertation-2117-440579
dc.description.degree
DOCTORAT EN ARQUITECTURA DE COMPUTADORS (Pla 2012)