TITLE - Universidad de Castilla

Anuncio
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.
Descargar