TAZ-TFG-2021-4635


Análisis, evaluación e implementación de mecanismos de sincronización de hilos en múltiples niveles de abstracción de un sistema informático.

Georgescu, Emanuel Alexandru
Valero Bresó, Alejandro (dir.) ; Gran Tejero, Rubén (dir.)

Universidad de Zaragoza, EINA, 2021
Informática e Ingeniería de Sistemas department, Arquitectura y Tecnología de Computadores area

Graduado en Ingeniería de Tecnologías y Servicios de Telecomunicación

Abstract: La mayoría de asignaturas relacionadas con sistemas informáticos recurren a niveles de abstracción para ocultar la complejidad de los niveles subyacentes y centrarse en los conocimientos propios y relevantes de cada nivel. Esta organización implica que, en ocasiones, los niveles de abstracción puedan verse como independientes y sin relación entre sí. El Departamento de Informática e Ingeniería de Sistemas de la Universidad de Zaragoza ha desarrollado varios proyectos docentes con el objetivo de ofrecer al estudiante una visión global y vertical de un sistema informático, mediante un enfoque práctico que involucra a múltiples asignaturas del Grado de Informática correspondientes a distintos niveles de abstracción. Este enfoque hace uso de una plataforma multihilo común (Raspberry Pi 3B) para implementar distintos componentes de una aplicación paralelizable y protegida con los mecanismos de sincronización referidos como mutexes. El presente trabajo parte de los proyectos docentes mencionados y se centra en realizar la parte experimental de los mismos, verificando la corrección de mutexes implementados en distintos niveles de abstracción de un sistema informático, experimentando sobre los mismos, creando un entorno de trabajo adecuado para su evaluación y obteniendo los resultados experimentales y las conclusiones más relevantes. Para ello, se diseñan cargas de trabajo consistentes en programas concurrentes protegidos mediante mutexes del nivel de abstracción de Biblioteca, Sistema Operativo y Arquitectura del Lenguaje Máquina, los cuales están construidos mediante funciones de la librería estándar de C++, llamadas al sistema futex y primitivas atómicas de la arquitectura ARMv8, respectivamente. Tras el diseño de las cargas de trabajo, se crean bancos de pruebas y se obtienen resultados experimentales consistentes en el tiempo de ejecución e incremento de la temperatura del chip por cada tipo de mutex, variando la contención ejercida por las distintas instancias en ejecución. El análisis de los resultados permite establecer un balance entre rendimiento y consumo obtenido frente a la programabilidad del mutex en cada nivel de abstracción. A partir del análisis de los resultados, este trabajo concluye que el mutex de Biblioteca proporciona el mejor rendimiento en escenarios reales, mientras que los mutexes de Sistema Operativo y Arquitectura del Lenguaje Máquina basados en espera no activa resultan convenientes en un escenario de alta contención, además de poder contribuir en la reducción de la temperatura del chip.

Tipo de Trabajo Académico: Trabajo Fin de Grado

Creative Commons License



El registro pertenece a las siguientes colecciones:
Academic Works > Trabajos Académicos por Centro > escuela-de-ingeniería-y-arquitectura
Academic Works > End-of-grade works



Back to search

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)