Spelling suggestions: "subject:"metascheduling""
1 |
Coscheduling Cooperativo: una propuesta de coscheduling orientada a clusters no dedicados multiprogramadosGiné, Francesc 18 June 2004 (has links)
Diferentes estudios realizados sobre el grado de utilización de los recursos de cómputo (CPU y memoria) en una red de PCs (cluster/NOW), han puesto de manifiesto que un elevado porcentaje de los mismos están infrautilizados. La posibilidad de utilizar esta potencia de cálculo para la ejecución de aplicaciones distribuidas con un rendimiento equivalente a un MPP, sin perturbar el trabajo del usuario local de cada workstation, ha sido objeto de estudio en este trabajo. Este doble objetivo puede ser alcanzado mediante el uso de técnicas de tiempo compartido. Un problema intrínseco de las técnicas de tiempo compartido es el modo de garantizar la coplanificación de aquellas tareas distribuidas que se comunican entre si; siendo este problema conocido como coscheduling. El principal objetivo del coscheduling es minimizar el tiempo de espera de las tareas distribuidas ante los eventos de comunicación y sincronización. El coscheduling puede ser alcanzado mediante la asignación de la CPU acorde con la ocurrencia de ciertos eventos locales, tradicionalmente de comunicación. De este modo, todas las tareas de una misma aplicación distribuida podrán progresar coordinadamente a lo largo del cluster.Este nuevo marco de trabajo impone, en nuestro modo de ver, un replanteamiento del problema clásico del coscheduling de aplicaciones distribuidas. El fin del coscheduling no solamente se debe restringir a decidir cuándo deben ser asignados los recursos de cómputo a las aplicaciones distribuidas, finalidad de las técnicas de coscheduling tradicionales, si no también cuántos recursos deben asignarse a cada aplicación. Este doble propósito nos ha llevado a desarrollar una nueva propuesta de coscheduling, denominada CoScheduling Cooperativo (CSC), orientada a la coordinación de múltiples aplicaciones paralelas en un entorno cluster no dedicado.CSC, a diferencia de las propuestas de coscheduling tradicionales, gestiona los recursos de cómputo de cada nodo, tanto en función de la ocurrencia de determinados eventos locales (de memoria, de CPU, de comunicación y de actividad del usuario local), como de la recepción de aquellos eventos ocurridos en nodos remotos y que han modificado los recursos asociados a los procesos cooperantes. El análisis de estos eventos permite a CSC adaptar los recursos de cómputo del cluster a las necesidades de ambos tipos de usuarios; el usuario local, caracterizado por unos elevados requerimientos de interactividad, y el usuario de las aplicaciones paralelas, en el cual priman los requerimientos de cómputo y de comunicación. De este modo, CSC puede gestionar la ejecución de múltiples aplicaciones paralelas simultáneamente, hecho que conlleva una mejor eficiencia en el uso de los recursos de cómputo disponibles.CSC ha sido implementado en un entorno Linux-PVM. Esta implementación ha permitido evaluar su rendimiento, con respecto a las políticas de coscheduling tradicionales, tanto en un entorno cluster controlado como en un entorno cluster productivo. La experimentación realizada ha mostrado como CSC obtiene unos resultados globales mejores que el resto de políticas evaluadas, tanto en lo que respecta al rendimiento de las aplicaciones del usuario local como de las aplicaciones distribuidas. Los resultados obtenidos por CSC demuestran que el desarrollo de políticas de planificación a corto plazo orientadas a entornos no dedicados permiten explotar, de una manera eficiente, todos aquellos recursos de cómputo disponibles, obteniendo unas métricas de speedup satisfactorias (en muchos casos superior a la mitad del número de tareas de la aplicación) y provocando un overhead inapreciable para el usuario local.
|
Page generated in 0.0568 seconds