000112354 001__ 112354
000112354 005__ 20220510092001.0
000112354 037__ $$aTAZ-TFG-2021-4635
000112354 041__ $$aspa
000112354 1001_ $$aGeorgescu, Emanuel Alexandru
000112354 24200 $$aAnalysis, evaluation and implementation of thread synchronization mechanisms in multiple abstraction levels of a computer system.
000112354 24500 $$aAná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.
000112354 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2021
000112354 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/
000112354 520__ $$aLa 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.<br />
000112354 521__ $$aGraduado en Ingeniería de Tecnologías y Servicios de Telecomunicación
000112354 540__ $$aDerechos regulados por licencia Creative Commons
000112354 700__ $$aValero Bresó, Alejandro$$edir.
000112354 700__ $$aGran Tejero, Rubén$$edir.
000112354 7102_ $$aUniversidad de Zaragoza$$bInformática e Ingeniería de Sistemas$$cArquitectura y Tecnología de Computadores
000112354 8560_ $$f650375@unizar.es
000112354 8564_ $$s1197834$$uhttps://zaguan.unizar.es/record/112354/files/TAZ-TFG-2021-4635.pdf$$yMemoria (spa)
000112354 909CO $$ooai:zaguan.unizar.es:112354$$pdriver$$ptrabajos-fin-grado
000112354 950__ $$a
000112354 951__ $$adeposita:2022-05-10
000112354 980__ $$aTAZ$$bTFG$$cEINA
000112354 999__ $$a20211124221407.CREATION_DATE