Automatic dynamic tuning of parallel/distributed applications on computational grids
Genaro Fernandes de Carvalho Costa · TDX (Tesis Doctorals en Xarxa) · 2009
Las aplicaciones paralelas presentan diversos problemas de prestaciones al ser cambiadas para ejecutar en entornos Grid. Las caracteristicas del sistema pueden ser diferentes en cada ejecucion y en algunos casos dentro de una misma ejecucion. Los recursos remotos comparten enlaces de red y, los procesos de la aplicacion comparten las maquinas con otros procesos. En esos escenarios se propone el uso de la tecnica de sintonizacion dinamica de prestaciones para ayudar las aplicaciones a adaptarse a los cambios en las caracteristicas del sistema con la intencion de resolver los problemas de prestaciones. Esta tesis analiza el problema de la ejecucion de aplicaciones paralelas en entornos Grid, herramientas para el analisis de prestaciones disponibles y modelos adecuados para la sintonizacion dinamica de aplicaciones paralelas en este tipo de entorno. De este analisis, se propone una arquitectura para sintonizacion dinamica de aplicaciones paralelas en entornos Grid llamada GMATE. Esta arquitectura incluye diversas contribuciones. En el caso donde un gestor de recursos de alto nivel decide el mapeo de procesos de la aplicacion, se proponen dos aproximaciones para el seguimiento de procesos que habilita GMATE a localizar donde las capas de software del Grid ha mapeado los procesos de la aplicacion. Una aproximacion consiste en la integracion de GMATE a las capas de software del Grid. La otra integra los componentes requeridos de GMATE dentro de los binarios de la aplicacion. El primer enfoque requiere derechos de administracion en cuanto que el segundo incrementa el binario del la aplicacion, lo que torna mas lento el arranque de la misma. Para respetar las politicas de las organizaciones propietarias de los recursos, todas las comunicaciones usan el mismo certificado de seguridad de la aplicacion. Esas comunicaciones son hechas con base en las capas del Grid. Esta aproximacion habilita la arquitectura a monitorizar y sintonizar los procesos de la aplicacion de forma dinamica a las restricciones de cortafuegos de las organizaciones y politicas de uso de la red en las mismas. Para bajar la necesidad de comunicaciones en la arquitectura GMATE, se encapsula parte de la logica requerida para colectar las medidas y para cambiar los parametros de la aplicacion en componentes encuestados que ejecutan dentro de espacio de memoria del proceso de la aplicacion. Para colectar medidas, se ha creado componentes sensores que disminuyen la necesidad de comunicaciones llevando el procesamiento de eventos para dentro del proceso de la aplicacion. Diferente de la instrumentacion tradicional, los sensores pueden retrasar la transmision de los eventos y ejecutar operaciones basicas como sumas, temporizadores, promedios o generacion de eventos basados en umbrales. Esas capacidades reducen los requerimientos de comunicaciones que son utiles en situaciones de bajo ancho de banda. Se propone tambien el encapsulamiento de la logica de cambio en las aplicaciones en componentes actuadores. Los actuadores son instalados en el flujo de ejecucion de la aplicacion y posibilita la sincronizacion y baja intrusion en cambio de variables y ejecucion de funciones para modificar la aplicacion. La arquitectura propuesta posibilita la comunicacion entre sensores y actuadores lo cual habilita la sintonizaciones sencillas sin necesidad de comunicaciones. Para aplicar la sintonizacion dinamica en entornos Grid, necesitamos de un modelo de prestaciones que pueda ser usado en entornos con heterogeneidad de red y procesadores para guiar el proceso. Se propone un modelo de prestaciones basado en una heuristica para lograr usar el maximo numero de esclavos y el mejor tamano de grano en una ejecucion Maestro-Esclavo en sistemas Grid. Se considera que una clase de aplicaciones pueden ser desarrolladas con la capacidad de cambiar el tamano de grano en tiempo de ejecucion y que esa accion cambia la relacion entre computo y comunicacion. En el escenario donde usuarios reciben un conjunto de recursos para una ejecucion paralela, esos recursos pueden configurar un sistema de multiples clusteres. La heuristica del modelo presentado permite guiar la seleccion de los recursos para disminuir el tiempo total de ejecucion de la aplicacion. Se intenta buscar el punto donde el maestro usa el maximo numero de esclavos posible asignando prioridad a aquellos mas rapidos. Se presentan los resultados de sintonizacion del tamano de grano y numero de esclavos en ejecuciones Maestro-Esclavo en entornos Grid donde se logra bajar el tiempo total de ejecucion de la aplicacion y aumentando la eficiencia de uso de los recursos. Se presentan las implementaciones de las aplicaciones multiplicacion de matrices, N-Body y cargas sinteticas las cuales tienen diferentes grados en la relacion entre computo y comunicacion en escenarios de cambio del tamano de grano.