Navegación

Búsqueda

Búsqueda avanzada

El autor Juan Carlos de la Torre ha publicado 3 artículo(s):

1 - Optimización de programas software considerando la incertidumbre del tiempo de ejecución

Proponemos en este trabajo un nuevo problema combinatorio para la optimización automática de programas, de forma que puedan sacar el máximo rendimiento de una arquitectura hardware considerada. Calcular el tiempo de ejecución de un programa es una tarea complicada, ya que est+AOE sujeta a una elevada incertidumbre. En este trabajo se estudian siete métodos distintos para estimar el tiempo de ejecución de los programas optimizados teniendo en cuenta la incertidumbre del sistema, y se comparan los resultados obtenidos con cada uno de ellos. Los resultados conseguidos permiten mejorar el tiempo de ejecución del programa original en un 33+ACU.

Autores: José M. Aragón-Jurado / Juan Carlos de la Torre / Carlos Benito-Jareño / Bernabe Dorronsoro / 
Palabras Clave: Algoritmo genético celular - Incertidumbre - LLVM - Optimización de programas

2 - Sistema de caracterización y agrupación de benchmarks en arquitecturas x86

El acelerado crecimiento tecnológico en el sector informático ha traído consigo una gran variedad de arquitecturas de computación y programas disponibles. Esto propicia que el problema de optimizar el rendimiento de los programas sea cada vez más complejo. La razón es que requiere de un tratamiento automático que, para obtener resultados notables, debe considerar en sus decisiones tanto las características del propio programa como las del sistema donde se ejecutarán. Con el objetivo de avanzar en el conocimiento sobre la optimización automática y adaptada de programas informáticos, en este trabajo se presenta un novedoso sistema de caracterización y agrupamiento de programas sobre arquitecturas x86 en función de sus características intrínsecas, extraídas con las herramientas Intel SDE y perf. Como caso de estudio, se ha seleccionado un subconjunto de los programas recogidos en EEMBC, un conjunto de programas de prueba (benchmark suite) de la literatura diseñado para analizar el rendimiento de dispositivos de computación. Los resultados muestran cómo con 11 clusters se pueden agrupar 70 benchmarks, que a priori son distintos, pero que comparten un mismo comportamiento.

Autores: Javier Jareño / Bernabé Dorronsoro / Juan Carlos de la Torre / 
Palabras Clave: Caracterización - Clustering - Intel SDE - perf - x86

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

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.

Autores: Juan Carlos de La Torre / Patricia Ruiz / Pedro L. Galindo / Bernabe Dorronsoro / 
Palabras Clave: Artificial neural networks - LLVM - multi-objective optimization - Software optimization