2026-08-23T00:00:00-03:00
Cargando Eventos

Título: Análisis dinámico de dependencias: en busca del paralelismo
Director: Dr. Diego Garbervetsky
Jurados: Dr. Javier Godoy, Dr. Esteban Mocskos

Resumen:
El aprovechamiento del paralelismo es clave para mejorar el rendimiento del software en procesadores modernos. Sin embargo, identificar qué partes de un programa pueden paralelizarse sigue siendo una tarea compleja. Los análisis estáticos tradicionales suelen ser conservadores frente a estructuras dinámicas y accesos a memoria en tiempo de ejecución, por lo que el programador suele requerir herramientas que lo asistan en la búsqueda de oportunidades de optimización.
En esta tesis se presenta un enfoque de análisis dinámico a nivel de bytecode para programas Java, junto con una herramienta funcional que lo implementa. Mediante un Java Agent, el sistema instrumenta las clases en tiempo de carga para registrar accesos a memoria y eventos de control durante la ejecución, sin requerir modificaciones manuales en el código fuente. A partir de estos registros, el analizador reconstruye el contexto de ejecución y vincula las dependencias observadas directamente con los loops del programa, asistiendo al programador en la toma de decisiones sobre qué loops son potencialmente paralelizables y cuáles presentan dependencias que lo impiden.
El enfoque fue evaluado experimentalmente sobre un conjunto de programas representativos, analizando tanto la capacidad del sistema para capturar dependencias efectivas como el costo computacional de la instrumentación. Al basarse en ejecuciones reales, los resultados aportan evidencia empírica que contribuye a reducir la brecha entre el análisis de bajo nivel en la máquina virtual Java y las decisiones de paralelización a nivel de código fuente.

Ir a Arriba