Effective resource management for master-worker applications in opportunistic environments

Este trabajo se basa en el uso de entornos oportunísticos, los cuales se caracterizan por aprovechar el tiempo en que las máquinas permanecen ociosas para ejecutar procesos de usuarios. Una parte fundamental de estos entornos consiste en gestionar procesos concurrentes que constituyen una aplicación...

Descripción completa

Detalles Bibliográficos
Autor: Heymann Pignolo, Elisa|||0000-0003-4833-9057
Tipo de recurso: tesis doctoral
Fecha de publicación:2004
País:España
Institución:Universitat Autònoma de Barcelona
Repositorio:Dipòsit Digital de Documents de la UAB
Idioma:inglés
OAI Identifier:oai:ddd.uab.cat:37933
Acceso en línea:https://ddd.uab.cat/record/37933
Access Level:acceso abierto
Palabra clave:Programació (Direcció i administració)
Processament paral·lel (Ordinadors)
Descripción
Sumario:Este trabajo se basa en el uso de entornos oportunísticos, los cuales se caracterizan por aprovechar el tiempo en que las máquinas permanecen ociosas para ejecutar procesos de usuarios. Una parte fundamental de estos entornos consiste en gestionar procesos concurrentes que constituyen una aplicación paralela. En sistemas oportunísticos el objetivo del gestor de recursos es doble: por una lado ha de proveer tiempos de ejecución razonables (los usuarios desean obtener sus procesos acabados cuanto antes), y por el otro ha de proveer buena eficiencia, esto es, buen uso de los recursos, lo cual constituye el objetivo fundamental de un sistema que desea soportar grandes cantidades de cómputo durante largos períodos de tiempo. El desarrollo de un gestor de recursos adecuado para aplicaciones paralelas que se ejecutan en entornos oportunísticos incluye varios aspectos. En particular, este trabajo aborda tres de ellos: - Determinar el número de máquinas, pertenecientes a un entorno oportunístico, necesarias para ejecutar una aplicación, de manera tal que se obtenga buena eficiencia y buen tiempo de ejecución. - Planificar las tareas a las máquinas asignadas. - Reducir los efectos negativos producidos sobre una aplicación, cuando una máquina es reclamada por su dueño, lo que implica que el proceso que ejecuta allí debe dejar dicha máquina. En este trabajo se han considerado aplicaciones de tipo master-worker. El master envía tareas a los workers y recoge los resultados. Este proceso se repite varios ciclos, hasta que se produce una condición de finalización. Para asignar las tareas de la aplicación master-worker a las máquinas disponibles se ha propuesto una política de planificación dinámica denominada Random & Average. Esta política se evaluó por simulación, y los resultados muestran que su comportamiento es parecido al de políticas que necesitan información a-priori sobre el tiempo de ejecución de las tareas. También se dedujo la existencia del Intervalo Ideal, que corresponde al intervalo entre los números de máquinas mínimo y máximo para ejecutar la aplicación de manera tal que se obtenga una buena relación entre el tiempo de ejecución y la eficiencia. Luego se propuso un algoritmo para ajustar dinámicamente el número de máquinas, de manera tal que cualquier aplicación master-worker se ejecute con un número de máquinas perteneciente al intervalo ideal. Esta estrategia se implemento tanto en entornos homogéneos como heterogéneos, utilizando una aplicación encargada de obtener el esqueleto de imágenes. En un entorno oportunístico las máquinas pueden participar o dejar de participar en la ejecución de una aplicación, si son cedidas o reclamadas por sus dueños. Cuando una máquina es reclamada, el proceso que se ejecuta en dicha máquina debe ser detenido y debe dejar esa máquina inmediatamente. Si dicho proceso pertenece a una aplicación paralela, el rendimiento de toda esa aplicación se verá afectado negativamente. Dicho impacto se evaluó, y para disminuirlo se propusieron diferentes estrategias basados en utilizar máquinas extra y en duplicación de tareas. Estas estrategias se estudiaron primero por simulación y luego fueron implementadas.