Scheduling for Interactive and Parallel Applications on Grids
Enol Fernández · TDX (Tesis Doctorals en Xarxa) · 2008
La computacion grid constituye uno de los campos mas prometedores de los sistemas informaticos. La proxima generacion de aplicaciones cientificas se beneficiara de una infraestructura de gran escala y multi organizacional que ofrece mas potencia de computo de la que puede ofrecer cualquier institicuon de forma individual. Los sistemas grid necesitan planificadores de alto nivel que gestionen de forma adecuada los recursos distribuidos en varias organizaciones. Estos sistemas de gestion de recursos grid deben tomar decisiones de planificacion sin realmente poseer los recursos y sin tener control total sobre las aplicaciones que en dichos recursos se ejecutan, introduciendo nuevos desafios a la hora de realizar la planificacion de aplicaciones. Aunque los sistemas grids consisten de muchos recursos y las aplicaciones enviados a estos sistemas pueden aprovechar estos recursos usandolos de forma coordinada, la mayoria de los sistemas de gestion de recursos se han centrado en la ejecucion de aplicaciones secuenciales, convirtiendo el grid en un gran sistema multi-sitio donde las aplicaciones se ejecutan de forma batch. Sin embargo, en esta tesis nos hemos centrado en un tipo de aplicaciones que ha recibido poca atencion hasta el momento: paralelas e interactivas. Las aplicaciones interactivas requieren la posibilidad de iniciar en un futuro inmediato su ejecucion. Ademas, durante su ejecucion es necesario proveer de mecanismos que establezcan un canal de comunicacion entre el usuario y la aplicacion. En el caso de las aplicaciones paralelas, es necesaria la co-asignacion, es decir garantizar la disponibilidad simultanea de los recursos cuando la aplicacion necesite usarlos. En este trabajo proponemos una nueva arquitectura para la ejecucion de estos tipos de aplicaciones y una implementacion de la misma: el gestor de recursos CrossBroker. Esta arquitectura incluye mecanismos que permiten la co-asignacion de aplicaciones paralelos y la interaccion de los usuarios con las aplicaciones en ejecucion. Adicionalmente, con la introduccion de un mecanismo de multiprogramacion, proporcionamos un inicio de aplicaciones rapido incluso en escenarios de alta ocupacion de los recursos.