Resumen:
|
Desde años, el principal objetivo de la computación de altas prestaciones ha sido la optimización de algoritmos
aplicados a la resolución de problemas complejos que, constantemente, aparecen en un amplio abanico ...[+]
Desde años, el principal objetivo de la computación de altas prestaciones ha sido la optimización de algoritmos
aplicados a la resolución de problemas complejos que, constantemente, aparecen en un amplio abanico de
aplicaciones de casi todas las áreas científicas y tecnológicas. Esta optimización hace referencia directa a la reducción
de los tiempos de ejecución. En este sentido, la mayoría de los logros conseguidos sobre optimización de
prestaciones no hubieran sido posibles sin el constante avance tecnológico de los componentes de los computadores.
El incremento de la frecuencia de los procesadores así como el número de núcleos ha sido un factor clave para
conseguir mejores prestaciones, aunque también ha servido para aumentar considerablemente su consumo. Por este
motivo, la sociedad científico-técnica actual muestra especial interés en el desarrollo de herramientas y técnicas que
permitan ahorrar energía en una variedad de componentes, particularmente en procesadores, a través técnicas que
permiten reducir la frecuencia en momentos de baja demanda.
La temática de este trabajo se encuentra en la intersección de estas dos líneas de investigación: por una parte, los
algoritmos paralelos de álgebra lineal densa aplicados a problemas de ingeniería y, por otra, los métodos y técnicas
de ahorro de energía disponibles en procesadores multinúcleo actuales. Concretamente, el objetivo del trabajo es
realizar una planificación de tareas consciente del consumo en algoritmos de álgebra lineal densa sobre
mutiprocesadores y procesadores multinúcleo, para ahorrar energía a través de la reducción de la frecuencia de los
procesadores que ejecuten las tareas no críticas de los algoritmos afectando mínimamente a su rendimiento.
Como resultado de la primera parte del trabajo, se han implementado métodos para detectar prioridades entre
tareas de algoritmos de álgebra lineal y procesar el grafo de dependencias para reducir las holguras entre las tareas
no críticas. El algoritmo de reducción de holguras permite conocer a priori en qué porcentaje de tiempo puede
ralentizarse una tarea de modo que pueda reducirse, en tiempo de ejecución, la frecuencia del procesador que la
ejecutará. La segunda parte del trabajo aborda la evaluación de resultados generados a partir de simulaciones de
planificación de tareas de algoritmos de álgebra lineal densa sobre diversos tipos de configuraciones de
procesadores. Concretamente se analizan algoritmos para la factorización de matrices densas, tales como Cholesky y
QR. Finalmente, se obtienen conclusiones sobre los resultados de las simulaciones y se evalúa el factor de ahorro
producido gracias al empleo de esta técnica.
En un futuro esta herramienta pretende incorporarse en entornos de ejecución (runtimes) de librerías de álgebra
lineal tan conocidas como libflame o SuperMatrix, de modo que permita minimizar el consumo energético de sus
rutinas.
[-]
|