Globus Architecture for Reservation and Allocation (GARA)

Arquitectura de GARA

GARA está construido sobre la base ofrecida por el Globus Toolkit, por lo que es conveniente explicar previamente el funcionamiento de la gestión de recursos del Globus Toolkit y sus limitaciones, con el fin de poder entender la necesidad de GARA así como sus ventajas.

Gestión de recursos en Globus

La gestión de recursos de Globus se sustenta en tres piezas, los servicios de información, varios tipos de agentes de co-asignación y los gestores de recursos locales o GRAM.

Los servicios de información usan LDAP para almecenar la información de recursos existentes, indicando el tipo de recurso de que se trata, su arquitectura, estructura y estado actual. Se disponen de mecanismos de descubrimiento automático y publicación con el fin de mantener este directorio actualizado, así como de capacidades de consulta que permiten a las aplicaciones y agentes de co-asignación localizar recursos con las características que requieran.

Cuando una aplicación necesita realizar un proceso en el Grid, prepara una especificación de los recursos necesarios y los envía a un agente de co-asignación. Este agente se pone en contacto con los servicios de información, obteniendo información sobre recursos disponibles y combinándola con determinadas heurísticas generales, que permiten decidir qué recursos son los indicados para conseguir el QoS necesario.

Cuando el agente ha decidido qué recursos son necesarios, se pone en contacto con los gestores locales de recursos (GRAM) solicitándoles su asignación y obteniendo como resultado un «job handle» mediante el cual es posible monitorizar cada trabajo.

Gestión de recursos en GARA

La arquitectura de Globus descrita no permite realizar reservas de recursos de forma anticipada ni utilizar recursos heterogéneos. GARA extiende Globus con el objetivo de paliar estos inconvenientes, reconstruyendo la arquitectura sobre la base de recursos genéricos y reservas.

En GARA la asignación de recursos se divide en dos etapas, una primera de reserva y una segunda de asignación, de forma que se permite realizar asignaciones avanzadas e inmediatas si fuese necesario, realizando la solicitud de asignación inmediatamente después de la reserva.

En esta ocasión cuando una aplicación quiere lanzar una ejecución en el Grid, envía los requisitos a un agente de co-reserva, el cual en contacto con los servicios de información localiza posibles recursos candidatos. El agente de co-reserva se pone en contacto entonces con los gestores de reserva y asignación locales de los diferentes recursos, con el fin de certificar que serán capaces de cubrir los requisitos especificados. En caso positivo se devuelve a la aplicación un conjunto de handles de reserva con los que se pueden monitorizar las reservas, y que hay que utilizar para la creación de los objetos, proporcionándoselos a los agentes de co-asignación, que en esta arquitectura tienen su funcionalidad mucho más limitada, ya que gran parte de ella ha pasado a los agentes de co-reserva.

Agentes de co-reserva/asignación

Los agentes de co-reserva, y en menor medida los de asignación, son los pilares de GARA, proporcionando a las aplicaciones un nexo de unión entre sus necesidades y los recursos disponibles. Para ver su funcionamiento de forma más práctica, veamos cómo funcionarían con un ejemplo.

Supongamos que necesitamos realizar un conjunto de cálculos sobre un conjunto de datos replicados en diferentes ubicaciones y ver los resultados en nuestra pantalla. Disponemos de un sistema Grid con varios superordenadores repartidos por una amplia geografía, varias réplicas de datos y diferentes conexiones de red uniendo los diferentes recursos.

La aplicación solicita los recursos necesarios a un agente de co-reserva. Este agente determinará qué fuente de datos utilizar y llama a otro agente para solicitar la reserva del superordenador y del caudal de red necesario para la transferencia de los datos.

En un sistema basado en Globus la búsqueda de los recursos se haría de forma exhaustiva y utilizando algún tipo de heurística genérica, sin embargo en GARA se utiliza una búsqueda basada en la reserva anticipada de recursos y heurísticas más eficientes construidas sobre la posibilidad de realizar reservas. Así por ejemplo, para cada conjunto de datos disponible se buscaría un superordenador con capacidad para procesar la información, y con los privilegios necesarios para acceder a ella. Una vez determinado un superordenador se realizaría su reserva y la de un enlace de red entre él y la pantala de nuestro monitor, tras lo cual se reservaría en enlace de red entre el almacén de datos y el superordenador. La utilización de reservas nos permite que en cualquier momento de este proceso, si no es posible cubrir los requerimientos de QoS especificados, podamos cancelar una reserva y reestructurar el proceso.

Páginas: 1 2 3

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

Los comentarios están cerrados.