Navegación

Búsqueda

Búsqueda avanzada

Predicción del impacto de las transformaciones LLVM en el rendimiento del software

Resumen:

Tradicionalmente ha existido una rápida evolución del hardware de computación que, en los últimos años, se ha visto complementada con la aparición de una gran diversidad de arquitecturas hardware. Modificar el software para que funcione eficientemente en estas nuevas arquitecturas es un proceso muy costoso, pero necesario en muchos casos. Por tanto, es necesario el desarrollo de nuevos métodos que permitan adaptar los programas para ejecutarse eficientemente en cualquier hardware; en poco tiempo y a un bajo coste. Nuestro framework Faevol hace uso de las transformaciones de código de herramienta de compilación LLVM para realizar esta adaptación de forma automática. El impacto de dichas transformaciones en el rendimiento del programa es desconocido, puesto que depende enormemente de las otras transformaciones aplicadas, así como del software a optimizar y del hardware en el que se ejecuta. Esto complica enormemente el proceso. En este trabajo, desarrollamos dos modelos predictivos basados en aprendizaje computacional para estimar de forma precisa el impacto de una secuencia de transformaciones LLVM en el código de un programa software. Adicionalmente, se evalúa el impacto en los resultados de incorporar dichos modelos predictivos en Faevol, logrando mejorar notablemente el tiempo necesario para transformar el código sin impactar negativamente en los resultados obtenidos.

Palabras Clave:

Artificial neural networks - LLVM - multi-objective optimization - Software optimization

Autor(es):

Handle:

11705/JISBD/2019/077

Descargas:

Este artículo tiene una licencia de uso CreativeCommons - Reconocimiento (by)

Descarga el artículo haciendo click aquí.

Ver la referencia en formato Bibtex