Análisis del impacto de distintas técnicas de optimización de rendimiento en multicore - Dell'Oso, Matías (2015)
Este trabajo se enfoca en la comparación de distintas técnicas para reducir el tiempo de ejecución de un algoritmo. En primer lugar se analizan dos APIs para la programación multiproceso de memoria compartida, Pthreads y OpenMP realizando una breve comparación entre ellas y resaltando ventajas y desventajas de cada una. Luego, se demuestra la importancia del buen uso de la memoria caché y cómo impacta en la performance de programas tanto paralelos como secuenciales. Por último, se utilizan distintas optimizaciones brindadas por el compilador para aumentar la performance de los algoritmos. Al finalizar todas las pruebas se presenta una comparación entre las tres técnicas estudiadas, resaltando los escenarios en los cuales cada una de ellas presenta mejores resultados. El caso de estudio elegido es el problema clásico de multiplicación de matrices, utilizado para demostrar el impacto de la utilización óptima de la jerarquía de memoria existente en una arquitectura paralela.