CALIDAD DE SERVICIO DE RED EN SISTEMAS GRID: UN MODELO DE AGENTE DE ANCHO DE BANDA Agustín Caminero Herráez Universidad de Castilla La Mancha Instituto de Investigación en Informática de Albacete Campus Universitario s/n, 02071 Albacete [email protected] Blanca Caminero Herráez, Carmen Carrión Espinosa Universidad de Castilla La Mancha Escuela Politécnica Superior de Albacete Campus Universitario s/n, 02071 Albacete {blanca carmen}@dsi.uclm.es RESUMEN Los sistemas Grid son escenarios altamente variables, formados por una serie de organizaciones independientes que comparten sus recursos en un Grid, formando lo que se conoce como organización virtual (virtual organization, VO). Esta variabilidad hace que el tema de la provisión de calidad de servicio sea altamente deseable, así como difícilmente alcanzable. Debemos de ser capaces de proporcionar al usuario que solicita un recurso algún tipo de seguridad acerca de que va a obtener el recurso que ha solicitado, pero este no es un asunto trivial en lo que respecta a la calidad de servicio de la red. Como veremos en este artículo, las entidades que se encargan de velar por los intereses de los usuarios en el Grid, conocidos como meta-planificadores, no le prestan la debida atención a la red. Tales entidades tienen en cuenta, por ejemplo, si un recurso más potente que el actual se ha liberado o acaba de ser incluido en el Grid, para migrar a él los trabajos de los usuarios, pero no prestan atención a la red de interconexión. Es decir, un meta-planificador puede elegir como recurso más idóneo para empezar a ejecutar un trabajo aquel que sea más potente, sin prestar atención a que su red de interconexión sea de baja calidad, lo cual puede perjudicar sobremanera a los trabajos que se le envíen, en contraposición con otros recursos menos potentes pero mejor comunicados. La provisión de calidad de servicio de red en un entorno Grid es el tema que nos ocupa, y para ello lo que se pretende hacer es desarrollar un meta-planificador que tenga en cuenta la red para tomar sus decisiones. A tal elemento le hemos llamado agente de ancho de banda, o bandwidth broker. PALABRAS CLAVES Grid, meta-planificación, calidad de servicio de red, agente de ancho de banda. 1. INTRODUCCIÓN La necesidad de aprovechar los recursos disponibles en los sistemas informáticos conectados a Internet y simplificar su utilización ha dado lugar a una nueva disciplina en tecnología de la información conocida como Grid Computing. La tecnología Grid es una tecnología en auge, capaz de hacer frente a las necesidades que el mundo científico tendrá en los próximos años, y que por lo tanto debería ser rápidamente adoptada con el fin de empezar a sacarle provecho cuanto antes. Sin embargo, existen los siguientes obstáculos para la adopción del Grid: El Grid continúa requiriendo un alto nivel de habilidad. A pesar del gran esfuerzo de investigación hecho en computación Grid, el desarrollo y la ejecución de aplicaciones en el Grid continúa requiriendo un alto nivel de habilidad debido a su naturaleza compleja. En un escenario de Grid, un trabajo secuencial o paralelo se emite comúnmente a un recurso dado siguiendo el siguiente método: Selección y descubrimiento del recurso, preparación del sistema remoto, monitorización de trabajos y terminación. Los Grids son entornos altamente dinámicos. Probablemente, uno de los problemas más importantes a los que la comunidad de la computación Grid se tiene que enfrentar es el hecho de que los Grids son entornos altamente dinámicos. Una aplicación debería poder adaptarse ella misma a los rápidos cambios en las condiciones de los recursos, por ejemplo, alta tasa de fallos, disponibilidad de recursos dinámicos. Por lo tanto, con el fin de obtener un grado razonable tanto de prestaciones de aplicaciones como de tolerancia a fallos, un trabajo debe poder adaptarse por sí mismo a la disponibilidad de recursos y a las prestaciones actuales que estos le proporcionen. Esto hace necesaria la utilización de unas herramientas llamadas meta-planificadores, cuyo objetivo es abordar los problemas arriba mencionados, con el fin de facilitar la adopción de la tecnología Grid. Un inconveniente de los meta-planificadores es que no prestan atención a la red a la hora de tomar sus decisiones, lo cual puede inducir a que se elija como recurso más idóneo para empezar a ejecutar un trabajo aquel que sea más potente, sin prestar atención a que su red de interconexión sea de baja calidad, lo cual puede perjudicar sobremanera a los trabajos que se le envíen, en contraposición con otros recursos menos potentes pero mejor comunicados. Son pocas las propuestas para proporcionar calidad de servicio en sistemas Grid, como por ejemplo [Roy00] [Al04]. La más reconocida es GARA [Roy01] [Nab04], pero no ha tenido el resultado que se esperaba de ella. Entre sus desventajas se encuentran principalmente el hecho de que no está especializada en recursos de red, lo que incrementa su complejidad, además de que las pruebas hechas con ella son con modelos muy concretos de encaminadores Cisco, y solamente dos encaminadores. Con el fin de solucionar esta deficiencia, se ha optado por el diseño de un metaplanificador que tenga en cuenta la red para tomar sus decisiones, es decir, un metaplanificador de red, también conocido como agente de ancho de banda o bandwidth broker. Esta entidad deberá existir en cada organización virtual. En el siguiente apartado se va a proceder a realizar una descripción de la arquitectura del agente. 2. ARQUITECTURA DEL AGENTE DE ANCHO DE BANDA. El agente de ancho de banda, (o BB, Bandwidth Broker), se basa en la arquitectura de los Servicios Diferenciados (DiffServ) [Bla98] para proporcionar calidad de servicio de red a las aplicaciones que se ejecutan en el Grid. Los encaminadores tienen la habilidad de manejar el tráfico generado por las aplicaciones, mientras que el agente tiene una vista completa de la red, y configura los encaminadores de la VO. Cuando se inicia el sistema, el agente recupera las tablas de encaminamiento de todos los encaminadores, con el fin de tener un conocimiento global de la topología de la red. Durante su funcionamiento normal, hace una selección de los recursos donde cada aplicación se va a ejecutar en función de la topología de la red, más concretamente, de la distancia entre el usuario y el recurso donde se va a ejecutar la aplicación. Además de planificar dónde se va a ejecutar la aplicación, implementa un algoritmo de admisión de conexiones, con el fin de evitar que los enlaces de la red se saturen. Para la aplicación de este algoritmo es necesario conocer el estado de ocupación de los enlaces, así como el tamaño de las aplicaciones. Un agente de ancho de banda es una entidad compleja que proporciona una serie de funcionalidades, las cuales se pueden dividir en las siguientes partes: interfaz de VOs, interfaz interno, base de datos, interfaz de usuario, planificador o scheduler y control de admisión de conexiones (CAC). Todos los componentes del BB se pueden apreciar en la Figura 1, y se van a explicar a continuación. Además, las interacciones de un agente se muestran en la Figura 2. Figura 1: Componentes del agente de ancho de banda. Figura 2: Relaciones entre agentes de ancho de banda (Bandwidth Brokers, BBs). Interfaz de VOs: Un BB se comunica con BBs vecinos para reservar recursos en otros dominios. Un BB necesita esta comunicación cuando el destino del flujo del usuario está en otra organización virtual. En el primer modelo de agente que se va a desarrollar, esta parte no se va a modelar, ya que primeramente se va a realizar un modelo más sencillo, para después ir completándolo con el resto de la funcionalidad. Interfaz interno: El BB necesita comunicarse con los encaminadores extremos, así como con los encaminadores de núcleo para pasarles decisiones de política con los encaminadores configurados de acuerdo a las decisiones de la política para proporcionar QoS de red. Base de datos: Con el fin de tener un conocimiento global de la topología de la red, el agente, como se comentó anteriormente, recupera las tablas de encaminamiento de los encaminadores de la VO. Estas tablas de encaminamiento se almacenan en una base de datos. Además también se guarda información acerca de la utilización de los enlaces, con el fin de aplicar el algoritmo de admisión de conexiones mencionado anteriormente. Interfaz de usuario: Con el fin de hacer posible que los usuarios emitan peticiones al agente, éste dispone de un interfaz de usuario. Siguiendo este interfaz, el usuario puede solicitar al agente que le asigne un recurso para ejecutar sus tareas. Este hecho supondrá el inicio de la funcionalidad del agente, que procederá a elegir un recurso, y a aplicar el algoritmo de admisión de conexiones. Scheduler: Este módulo se encarga de decidir en qué recurso se ejecuta cada trabajo de los usuarios. Para esto, el agente tiene en cuenta la potencia del recurso y el número de saltos del camino entre el usuario y cada recurso. Teniendo esto en cuenta, el agente ordena los recursos de mejor a peor, y entonces llama al módulo CAC para que compruebe la disponibilidad de suficiente ancho de banda en el camino entre el usuario y el mejor recurso. Si el módulo CAC rechaza esa conexión, entonces probamos con el segundo mejor recurso, y así sucesivamente. Al final, todos los trabajos de los usuarios tendrán un recurso asignado, o bien, si se han rechazado todas las conexiones a todos los recursos para un determinado trabajo, ese trabajo no se ejecutará. CAC (Control de Admisión de Conexiones): Este módulo se encarga de chequear los enlaces que unen un determinado usuario con un recurso, que ha sido seleccionado por el módulo Scheduler. Determina si por los enlaces de un camino se puede transmitir un trabajo más. Este modelo de agente de ancho de banda está siendo desarrollado usando una herramienta de simulación, con el fin de evaluar y perfeccionar su funcionamiento, para posteriormente proceder a su implementación en un entorno de Grid real. La herramienta de simulación elegida es Gridsim[Sul05], debido a su facilidad de uso, a la completitud de su funcionalidad y al soporte por parte de sus desarrolladores. 3. CONCLUSIÓN En el presente trabajo se ha realizado una exposición de la necesidad de una entidad que soporte calidad de servicio de red en un sistema Grid, conocida como un agente de ancho de banda o bandwidth broker. Se ha presentado la arquitectura básica del agente, haciendo una breve explicación de la que será su funcionalidad cuando su implementación haya finalizado. Además, se ha presentado la estructura del agente, que se desarrollará en un primer momento sobre un simulador y que finalmente se implementará sobre una plataforma de Grid real. AGRADECIMIENTOS Este trabajo ha sido financiado por El Ministerio de Educación de España con la beca CICYT TIC200308154-C06-02, y por la Junta de Comunidades de Castilla La Mancha con las becas PBC-05-007-01, PBC05-005-01 y la beca José Castillejo. Además, también debemos agradecer su colaboración a los desarrolladores de la herramienta de simulación Gridsim, especialmente a Anthony Sulistio, por su ayuda a la hora de entender la funcionalidad de la herramienta. REFERENCIAS [Nab04] Nabrzynski, J., Schopf, J., and Weglarz, J., Eds. Grid Resource Management. State of the Art and Future Trends. Kluwer Academic Publishers, 2004. [Roy01] Roy, A. End-to-End Quality of Service for High-End Applications. PhD thesis, Dept. of Computer Science, University of Chicago, 2001. [Roy00] Roy, A. J., et al. MPICH-GQ: Quality-of-Service for Message Passing Programs. Proceedings de SuperComputing'00 (2000). [Sul05] A. Sulistio, G. Poduvaly, R. Buyya, , and C.-K. Tham. Constructing a grid simulation with Differentiated network service using gridsim. En 6th International Conference on Internet Computing (ICOMP'05), Junio 2005. [Al04] Al-Ali, R., et al. Network QoS Provision for Distributed Grid Applications. In Proceedings of the International Journal of Simulations Systems, Science and Technology (2004). [Bla98]Black, D., et al. RFC 2475: An Architecture for Differentiated Services, 1998.