MetaPlanificación por Adelantado en Grids Heterogéneos Luis

Anuncio
Meta­Planificación por Adelantado en Grids Heterogéneos
Luis Tomás� Carmen Carrión� Blanca Caminero
Dept. de Sistemas Informáticos
Universidad de Castilla-La Mancha
{luistb,carmen,blanca}@dsi.uclm.es
Resumen
Un Grid es un sistema extremadamente heterogéneo y distribuido en el que además los
recursos presentan un comportamiento dinámico. Debido a esto es muy difícil proporcionar calidad de servicio (QoS) en este tipo de
entornos puesto que el tiempo para completar
la ejecución de un trabajo es muy variable.
El objetivo principal de este trabajo es
proporcionar QoS en entornos Grid mediante
meta-planificación por adelantado de los trabajos. Este artículo presenta una técnica para
gestionar el estado de ocupación de los recursos basada en una estructura de árboles rojonegro. Además, no se requiere tener un conocimiento a priori de la duración de los trabajos a ejecutar diferenciándolo de otros trabajos
en los que dicha información si que es necesaria. La evaluación del rendimiento de las técnicas implementadas se realiza sobre un entorno
Grid real, lo que ilustra la eficiencia de la propuesta para proporcionar la QoS requerida.
1.
Introducción
En los entornos Grid los recursos están en diferentes dominios y bajo diferentes políticas de
acceso. Esto hace que la búsqueda y uso de recursos sea una tarea difícil de afrontar por parte de los usuarios. Además, en entornos Grid
de gran escala dicha tarea no es manualmente
abordable. Por consiguiente, la infraestructura
Grid debe proporcionar los servicios necesarios
para una planificación automática que se encargue de la selección de recursos y del proceso
de negociación con éstos de forma transparente al usuario. Este sistema es conocido como
“meta-planificador” [1].
Por lo tanto, la QoS recibida por el usuario
depende de la funcionalidad y rendimiento del
sistema meta-planificador. Sin embargo, la naturaleza dinámica y heterogénea de los recursos del Grid, así como las diferentes características de las diferentes aplicaciones, complican
el proceso de planificación. Además, generalmente el meta-planificador no tiene el control
total de los recursos, ni incluso el conocimiento
sobre el estado de éstos [2], complicando aún
más el proceso de planificación.
Una idea fundamental para solventar estos
problemas es asegurarse de que un determinado recurso estará disponible cuando un determinado trabajo lo requiera. Esto plantea la
necesidad de reservar o planificar el uso de los
recursos por adelantado [3]. Una reserva por
adelantado se puede definir como la delegación restrictiva o limitada de una determinada
capacidad de un recurso durante un periodo
de tiempo predeterminado [4]. El objetivo de
este tipo de reservas es proporcionar QoS asegurando que los trabajos cumplirán las QoS
solicitadas, lo que además incrementa la predictibilidad del sistema.
Sin embargo, estas reservas no siempre son
factibles puesto que no todos los recursos las
permiten, o existen ciertos tipos de recursos,
como el ancho de banda a través de internet,
que pertenecen a más de un dominio administrativo, lo que dificulta gravemente su reserva
o incluso la imposibilita.
Esta es la razón por la que se propone un algoritmo de planificación por adelantado para
tratar el problema de la planificación de trabajos. Esta planificación por adelantado se basa
602 XXI Jornadas de Paralelismo
en planificar los trabajos a ejecutar en el futuro, seleccionando los recursos y los periodos de
tiempo en los que se ejecutarán, pero sin hacer
ninguna reserva física de éstos. Así, el reto clave de esta técnica es que es muy difícil decidir
si un trabajo podrá ser ejecutado cumpliendo
sus QoS solicitadas sin conocer el estado que
los recursos presentarán en el futuro [5].
El algoritmo presentado en este artículo es
consciente del comportamiento dinámico de
los recursos del Grid, su uso y las características de los trabajos a ejecutar. Además, este
estudio se centra en heurísticas poco costosas
computacionalmente y que están basadas en
computación geométrica. El uso de los recursos es gestionado usando arboles rojo-negro.
Este trabajo presenta y evalúa dos técnicas
para estimar la duración de los trabajos: basada en (1) una función lineal y (2) en log de ejecuciones. En (1), la misma función se usa para
calcular la duración de los trabajos en todos
los recursos, por tanto, son tratados como si
fueran homogéneos. En cambio, en (2) se tiene en cuenta el recurso donde las ejecuciones
previas tuvieron lugar, y por lo tanto, tiene en
cuenta la heterogeneidad de los recursos.
El artículo esta organizado de la siguiente
forma. En la Sección 2 se muestran algunos
trabajos relacionados con el desarrollado en
este artículo. En la Sección 3 se muestra una
visión general sobre la meta-planificación por
adelantado. La Sección 4 explica las extensiones desarrolladas para gestionar la planificación por adelantado. En la Sección 5 se presentan los experimentos llevados a cabo para
evaluar la propuesta implementada. Finalmente, algunas conclusiones y líneas de trabajo futuro son mostradas en la Sección 6.
la gestión de dichas reservas en los recursos.
Desde entonces, dichas reservas avanzadas han
sido estudiadas en numerosos contextos, como
en entornos cluster (Maui Scheduler [9]).
Entre los sistemas que permiten la reserva de recursos en un Grid encontramos Grid
Capacity Planning [10], que proporciona a los
usuario la posibilidad de hacer reservas de recursos mediante negociación, co-alojamientos
y coste. Otro sistema importante es VIOLA,
que incluye un entorno de meta-planificación
que proporciona soporte para co-alojamiento
para recursos computacionales y de red.
A pesar de que el soporte para las reservas avanzadas en las infraestructuras Grid
está bastante limitado, es una característica
que deben poseer para poder ofertar garantías de QoS [8, 10]. Qu [11] describe un método para solucionar este problema añadiendo un gestor de reservas avanzadas sobre el
meta-planificador local. Por otro lado, la penalización en el rendimiento que supone el uso
de estas reservas (típicamente decremento de
la utilización de los recursos) también ha sido
estudiado en [12].
Nuestro trabajo es diferente de los mencionados porque se centra en meta-planificación
por adelantado en vez de en reservas avanzadas, debido a que éstas no siempre son posibles. Este trabajo usa arboles rojo-negro para
gestionar el uso de los recursos, lo que ha sido
probado en [5, 13], pero en dichos trabajos se
asume que existe un conocimiento “a priori”
sobre la duración de los trabajos, lo que no
es considerado en nuestra propuesta. Por esta razón nuestro trabajo tiene que desarrollar
técnicas para la predicción del tiempo necesario para ejecutar un trabajo.
2.
3.
Trabajo Relacionado
La infraestructura necesaria para la gestión
de recursos y otras tareas como la seguridad, distribución de información, accesos remotos, etc., son proporcionados por herramientas Grid como Globus [6] y Legion [7].
En cuanto a la reserva avanzada de recursos, Globus Architecture for Reservation and
Allocation (GARA) [8] es uno de los primeros
trabajos y define la arquitectura básica para
Meta-planificación por adelantado
Como se ha comentado antes, no todos los recursos pueden ser reservados. Esta es la razón
para usar meta-planificicación por adelantado
en vez de reservas avanzadas para proporcionar QoS a los usuarios del Grid. De este modo,
el sistema tiene en cuenta las decisiones hechas
para tomar nuevas decisiones y no solapar ejecuciones. Así, si solo existiera carga del Grid
Tecnología grid 603
en los recursos, esto podría ser suficiente para
proporcionar QoS ya que no habría solape de
ejecuciones en los recursos si las predicciones
se hacen con la suficiente precisión. Sin embargo, desde el punto de vista de las aplicaciones
del Grid, todas las tareas, las de los usuarios
locales y las de los usuarios del Grid, suponen
carga en el recurso.
Los algoritmos para la planificación por adelantado necesitan ser lo suficientemente eficientes como para adaptarse a los cambios dinámicos en cuanto a la disponibilidad de los
recursos y a las fluctuaciones de demanda por
parte de los usuarios. Además, tienen que tener en cuenta la heterogeneidad de los recursos debido a que es una característica de los
entornos Grid. Esto nos lleva a usar técnicas
de computación geométrica para desarrollar
algoritmos de planificación que eficientemente
encuentren los recursos y periodos de tiempo
adecuados para ejecutar cada trabajo.
Este estudio está centrado en trabajos simples que no tienen dependencias entre ellos.
En este tipo de trabajos el usuario proporciona tanto los ficheros de entrada como los ejecutables necesarios. Sin embargo, mediante el
start time y el deadline se pueden generar flujos de trabajos con dependencias temporales.
Teniendo en cuenta estas premisas, el proceso
de meta-planificación por adelantado sigue los
siguientes pasos:
1) El usuario hace una petición para ejecutar
un trabajo con una determinada QoS, en este
caso, start time y deadline del trabajo.
2) El meta-planificador ejecuta un algoritmo
de búsqueda para seleccionar el recurso y el
periodo de tiempo para ejecutar el trabajo.
3) Si no es posible alojar el trabajo se comienza
un proceso de comunicación con otros metaplanificadores para alojar el trabajo en otros
dominios administrativos.
4) Si aún así no es posible alojar el trabajo, se
abre un proceso de negociación con el usuario
para renegociar la QoS que necesita el trabajo, o descartar el trabajo en el caso de que el
usuario no quiera cambiar dichos requerimientos de QoS.
Figura 1: The Scheduler in Advance Layer �SAlayer).
4.
Implementación
Esta propuesta se implementa como una extensión al meta-planificador GridWay [1]. Es
una capa intermedia entre los usuarios y el
meta-planificador, llamada “Scheduling in Advance Layer �SA-layer)” (ver Figura 1). SAlayer usa funcionalidad proporcionada por
GridWay como descubrimiento y monitorización de recursos, envío de trabajos y monitorización de su ejecución, . . . . Esta capa además
almacena información sobre la ejecución de las
aplicaciones (en DB Executions), y sobre el
estado de los recursos y la red a través del
tiempo (en DB Resources). Además, un nuevo
parámetro ha sido añadido a GridWay, llamado JOB INFORMATION, para que el usuario
pueda indicar las características del trabajo a
ejecutar. En primer lugar el usuario fija el tamaño total de los ficheros de entrada y salida,
en caso de que conozca dicha información. Y
en segundo lugar se fijan otras características
del trabajo, como los argumentos de entrada
de la aplicación, haciendo más precisa la estimación sobre el tiempo de ejecución de dicho
trabajo. De este modo, el tiempo de ejecución
de un trabajo en un determinado recurso se
calcula mediante una predicción teniendo en
cuenta tanto las características del trabajo como las del recurso en el que se ejecutaría.
Esta implementación gestiona el uso de los
recursos dividiendo el tiempo en slots de un
minuto. Así, el uso futuro de los recursos es
planificado alojando los trabajos en los recursos, en un tiempo específico y usando un número determinado de slots. De este modo, se nece-
604 XXI Jornadas de Paralelismo
sitan políticas de alojamiento para encontrar
los slots de tiempo más adecuados para cada trabajo (implementadas en el módulo Gap
Management), estructuras de datos adecuadas
para manejar eficientemente toda la información necesaria (Data structure en Figura 1) y
algoritmos que lleven a cabo la estimación sobre la duración de los trabajos en los recursos
(implementados en el módulo Predictor ).
4.1.
Gestión de huecos
La manera de alojar los trabajos en los slots
de tiempo tiene influencia en cuantos trabajos pueden ser planificados. Esto se debe a
la fragmentación generada entre los trabajos
planificados. Se pueden desarrollar diferentes
métodos para buscar y alojar los trabajos teniendo en cuenta los trabajos ya planificados
y obteniendo diferentes resultados en cuanto
a fragmentación generada y número de trabajos planificados. En nuestra primera aproximación, se ha desarrollado una política First Fit
que selecciona el primer hueco libre que sea
adecuado para alojar el trabajo.
4.2.
Data structure
La estructura de datos usada para mantener
la información acerca de los slots de tiempo
libres en cada uno de los recursos es un aspecto clave de la implementación. Una estructura de datos adecuada nos permite obtener
unos mejores tiempos de ejecución, reduciendo la complejidad de los algoritmos y por lo
tanto, haciéndolo más escalable.
La estructura de datos usada en este trabajo
son los arboles rojo-negro [5, 13]. El objetivo
de usar este tipo de arboles es desarrollar técnicas que identifiquen los periodos de tiempo
factibles para alojar los trabajos de una manera eficiente y sin tener que explorar todos los
posibles slots libres de los recursos.
El módulo Gap Management (ver Figura 1
1) gestiona la estructura de datos. Dicho módulo representa la información que contiene el
árbol en forma geométrica. Así, cada trabajo
se representa mediante un punto en el plano,
como se puede ver en la Figura 2. Las coordenadas del trabajo son el tiempo en el que el
trabajo puede empezar a ejecutarse (Tini ) y el
tiempo en el que tiene que haber acabado su
Figura 2: Representación geométrica [13, 5].
ejecución (Tf in ). P representa el tiempo en el
que como muy temprano puede empezar a ejecutarse el trabajo, mientas que P’ representa
el último. Los puntos etiquetados representan
los slots libres (huecos), siendo sus coordenadas el tiempo de inicio y fin de dichos huecos.
Todos los puntos por encima y a la derecha de
la línea que une P y P’ son posibles huecos que
podrían alojar el trabajo.
Como Castillo explica en [5, 13], los arboles
pueden ser divididos en dos regiones, llamadas
R1 y R2 (ver Figura 2. La región R1 representa los huecos que empiezan en Tini o antes,
mientras que la región R2 representa aquellos
huecos que empiezan después de Tini .
Por otro lado, un trabajo planificado puede crear como mucho dos nuevos huecos: uno
entre el inicio del hueco y el del trabajo (leading gap), y otro entre el fin del trabajo y el
del hueco (trailing gap). Cuando los trabajo se
alojen en la región R2, no se producirá ningún
leading gap. Esta es la razón que nos lleva a
buscar los huecos en primer lugar en la región
R2, y si no hay ningún hueco factible en dicha
región, buscar en la región R1.
4.3.
Predictor
Las predicciones acerca del tiempo de ejecución de los trabajos son difíciles de obtener
debido a las diferencias de rendimiento entre
los recursos del Grid y debido a que dichas
características de rendimiento pueden variar
de unas aplicaciones a otras. Las técnicas para realizar dichas predicciones incluyen aplicar modelos estadísticos a los históricos de ejecuciones previas [14] y heurísticas basadas en
las características de los trabajos y los recursos [15, 16]. Basado en esto, el algoritmo pro-
Tecnología grid 605
puesto por Castillo [5, 13] es extendido para
tener en cuenta la heterogeneidad de los recursos Grid.
Este trabajo compara el uso de log históricos de ejecuciones y de una función lineal para
calcular el tiempo necesario para ejecutar un
trabajo en un determinado recurso. La función
lineal no tiene en cuenta los diferentes rendimientos de los recursos, sólo los parámetros
de entrada y salida de los trabajos y el conocimiento sobre su comportamiento. De este
modo, usando este tipo de predicción todos los
recursos son tratados como homogéneos.
Por otro lado, usando logs de datos, la heterogeneidad de los recursos se tiene en cuenta.
Con este método, la media de la duración de
ejecuciones previas del mismo tipo de trabajos
en el recurso seleccionado es usada para calcular el número de slots necesarios para dicho
trabajo en dicho recurso. De esta forma, las
predicciones de la duración de los trabajos se
calculan para cada aplicación y para cada host
del sistema, pero sólo cuando se encuentra un
hueco factible en un recurso. Así, no es necesario calcular los tiempos para todos los recursos, lo que sería muy ineficiente. Por otro lado,
en este trabajo, dos aplicaciones son consideradas del mismo tipo cuando además tienen
los mismos parámetros de entrada y salida, en
términos de número, tamaño y tipo.
Esta técnica tiene en cuenta la heterogeneidad de los recursos del Grid y no asume que
los usuarios tiene un conocimiento “a priori”
de la duración de los trabajos en los recursos,
como se asume en [5, 13]. Ambas formas de estimar los tiempos de ejecución de los trabajos
son presentadas y evaluadas a continuación.
5.
Evaluación de prestaciones
Esta sección describe los experimentos realizados para medir el rendimiento de la propuesta
y los resultados obtenidos.
5.1.
Entorno de pruebas
La evaluación de la implementación realizada
ha sido llevada a cabo en un entorno Grid real.
Este entorno esta formado por recursos localizados en dos edificios pertenecientes a la Universidad de Castilla La-Mancha (UCLM). En
Figura 3: Características de la Carga de Trabajo.
un edificio se encuentra la máquina que lleva a
cabo las tareas de planificación y varios recursos computacionales. En un segundo edificio se
encuentra otro recurso computación, un cluster de 88 cores. Todas estas máquinas pertenecen al mismo dominio administrativo (UCLM)
pero están localizados en diferentes subredes.
Hay que resaltar que dichas máquinas pertenecen a otros usuarios, por lo que tienen su
propia carga local.
5.2.
Carga de trabajo usada
Para modelar la carga de trabajo se ha usado uno de los test incluidos en los benchmarks
GRASP [17], llamado 3node. Este test consiste en enviar un fichero desde un nodo fuente a
uno de computación, el cuál realiza una búsqueda de patrones, generando un fichero solución con el número de aciertos. Finalmente
dicho fichero se envía a un nodo destino. Además, este test acepta dos parámetros que permiten hacerlo mas intenso computacionalmente (parámetro compute_scale) y/o más demandante de red (parámetro output_scale).
Existen otros parámetros a tener en cuenta en la carga usada para medir el rendimiento (ver Figura 3). T _max_reservation representa el adelanto con el que se puede llevar a
cabo una decisión de planificación por adelantado; T _Execi el tiempo necesario para ejecutar el trabajo i; SchedulingW indow muestra
el intervalo de tiempo en el que el trabajo tiene
que ser ejecutado; con los dos últimos parámetros se obtiene el Laxity, que representa como
de estricto es el usuario al enviar sus trabajos;
y ArrivalRatio representa el tiempo medio entre el envío de trabajos.
Para esta evaluación, tanto el compute_scale como el output_scale toman valores entre 0 y 20, con media de 10. El
T _max_reservation se pone a 0 porque el
SA-layer (con ambas técnicas de predicción)
es comparado con GridWay que no permite ha-
606 XXI Jornadas de Paralelismo
cer planificaciones por adelantado. El Laxity
varia entre 0 y 10 minutos, con media de 5 minutos. Finalmente, el ArrivalRatio varia desde 1 a 4 trabajos por minuto. Los resultados
mostrados son la media de 5 ejecuciones.
5.3.
Evaluación del rendimiento
Esta sección muestra la comparación entre SAlayer, con las dos formas de calcular los tiempos necesarios para la ejecución de los trabajos, y el meta-planificador GridWay original.
Para evaluar el rendimiento de ambas técnicas de estimación del tiempo de ejecución se
usan varias estadísticas. Desde el punto de vista del usuario se usan las siguientes: Scheduled
job rate que representa el porcentaje de trabajos aceptados, es decir, aquellos cuyo deadline
puede ser cumplido [13]; y QoS not fulfilled
que contabiliza el número de trabajos rechazados, más el número de trabajos que fueron
inicialmente aceptados pero que finalmente sus
ejecuciones fueron retrasadas, no cumpliendo
con sus deadlines.
Desde el punto de vista del sistema se usan
otras dos métricas: Overlap que contabiliza el
número de minutos que se alarga la ejecución
de un trabajo sobre la estimación calculada;
y Waste que representa el número de minutos
que no son usados para ejecutar ningún trabajo puesto que el meta-planificador los reservó
para otro trabajo que finalmente acabo su ejecución antes del tiempo estimado.
Los resultados de esta evaluación se muestran en la Figura 4. La Figura 4 (a) representa
el porcentaje de trabajos aceptados debido a
que el meta-planificador tiene suficientes slots
libres para alojarlos con las QoS solicitadas.
Usando SA-layer, cuantos más trabajos hay
en el sistema, mayor número de trabajos son
rechazados. Por otro lado, usando del GridWay original, todos los trabajos son siempre
aceptados ya que no existe ninguna capa que
decida si es posible o no ejecutar dichos trabajos cumpliendo con las QoS requeridas. Para tasas de envío de trabajos bajas (1 trabajo/min.), la tasa de aceptación es la misma
para ambas formas de estimar los tiempos de
ejecución. Sin embargo, cuando dicha tasa de
submisión es mayor, usar log de datos para
estimar los tiempos de ejecución obtiene mejores resultados, puesto que puede aceptar un
mayor número de trabajos debido a que la estimación es mejor y diferente para cada recurso del sistema. Esta diferente estimación para
cada recurso hace la predicción mas precisa y
por lo tanto habrá menos overlap y waste que
usando la función lineal (como se observa en
las Figuras 4 (c) y (d)). Además, usando la
estimación basada en log de datos se puede
aceptar un mayor número de trabajos puesto
que se necesita reservar un menor número de
slots por cada trabajo.
La Figura 4 (b) muestra el número de trabajos que no se ejecutan con la QoS solicitada,
incluyendo los trabajos rechazados y los que
acaban su ejecución después del deadline. De
nuevo, cuantos más trabajos hay en el sistema, mayor es el número de trabajos que no se
ejecutan con la QoS requerida. En este caso,
esto también es cierto para GridWay. De hecho, GridWay se comporta peor que SA-layer.
Esto se debe a que usando SA-layer hay varios trabajos que no se aceptan puesto que el
sistema estima que no es posible ejecutarlos
con la QoS solicitada. De este modo, la ejecución de estos trabajos no interfiere con la
de los ya aceptados. Por otro lado, usando log
de datos se consigue un mejor rendimiento al
hacer la estimación más precisa y ajustada a
cada recurso, y por consiguiente, hay un menor número de trabajos que no se ejecutan con
la QoS necesitada.
Las Figuras 4 (c) y (d) representan el tiempo medio de overlap y waste, respectivamente,
usando la función lineal y los logs de datos.
Debido a que GridWay no hace ninguna predicción sobre la duración de los trabajos, dicha información no está representada en estas
gráficas. En ellas se puede ver que las estimaciones que usan log de datos son mucho más
precisas ya que tienen un menor overlap y waste. Teniendo un menor overlap, habrá menos
trabajos aceptados que no cumplan las QoS requeridas, lo que explica los resultados mostrados en la Figura 4 (b). Por otro lado, teniendo
un menor waste, un mayor número de trabajos
pueden ser aceptados ya que cada trabajo necesita reservar menos slots para su ejecución,
Tecnología grid 607
(a) Accepted job
(b) QoS not fulfilled
(c) Tiempo de Overlap
(d) Tiempo de Waste
Figura 4: Comparación de los métodos de estimación del tiempo de ejecución de los trabajos.
lo que también explica los resultados mostrados en la Figura 4 (a).
Finalmente, como puede concluirse de las
gráficas de la Figura 4, la mejor opción es usar
log de datos para estimar los tiempos de ejecución puesto que este método tiene en cuenta
la heterogeneidad de los recursos del Grid. Por
otro lado, dichos resultados también destacan
la importancia de usar planificación por adelantado para poder proporcionar una mayor
QoS a los usuarios del Grid.
6.
Conclusiones
Hay muchos trabajos que intentan proporcionar QoS en entornos Grid mediante reservas
avanzadas. Sin embargo, estas reservas no son
siempre posibles. Esta es la razón por la que
se propone realizar meta-planificación por adelantado para proveer QoS. En ella se selecciona el recurso y el periodo temporal en el que
se ejecutará el trabajo pero sin llevar a cabo
ninguna reserva física del recurso.
Este tipo de planificación permite estimar
si un trabajo puede ser ejecutado cumpliendo
con las QoS solicitadas, pero requiere enfrentarse a muchos retos, como el de desarrollar
algoritmos de planificación eficientes y escalables o estudiar como predecir el tiempo necesario para ejecutar un trabajo en el futuro.
En este trabajo se presenta una comparación entre usar o no planificación por adelantado. Dicha comparación enfatiza la importancia
de usar dicho tipo de planificación para poder
proporcionar la QoS requerida por los usuario.
Por otro lado, también se muestra una comparación entre un método homogéneo (basado en
una función lineal) y otro heterogéneo (basado en logs de ejecuciones) de calcular el tiempo necesario para la ejecución de un trabajo.
Dicha comparación pone de manifiesto la importancia de tener en cuenta la heterogeneidad
de los recursos en la estimación de los tiempos
de ejecución de los trabajos. El método basado en log de datos lleva a cabo unos cálculos
más precisos, permitiendo ejecutar más trabajos cumpliendo con sus requerimientos de QoS.
El desarrollo e implementación de nuevos
608 XXI Jornadas de Paralelismo
algoritmos eficientes y escalables son el reto
de nuestra investigación. De este modo, como
trabajo futuro se plantea incluir nuevos parámetros en la estimación de los tiempos de
ejecución, como predicción del estado de los
recursos o tener en cuenta la confianza en éstos y en las predicciones hechas. Otro reto de
nuestro trabajo es proporcionar un método de
replanificación que permita realojar trabajos
ya planificados para aceptar otros con unos requerimientos de QoS más restrictivos.
Agradecimientos
Este trabajo ha sido apoyado conjuntamente por
el MEC Español y la Comisión Europea �fondos
FEDER) a través de los proyectos “Consolider
Ingenio-2010 CSD2006-00046” y “TIN2009-14475C04-03”; conjuntamente por la JCCM y el Fondo
Social Europeo a través del proyecto “FSE 20072013”; y por la JCCM a través de los proyectos
“PBI08-0055-2800” y “PII1C09-0101-9476”.
Referencias
[1] E. Huedo, R. S. Montero, and I. M. Llorente.
A modular meta-scheduling architecture for
interfacing with pre-WS and WS Grid resource management services. Future Generation
Computing Systems, 23�2):252–261, 2007.
[2] Erik Elmroth and Johan Tordsson.
An
interoperable, standards-based grid resource broker and job submission service. In
Proc. of the 1st Intl. Conference on e-Science
and Grid Computing �e-Science), Washington, DC, USA, 2005.
[3] Anthony Sulistio.
Advance Reservation
and Revenue-based Resource Management
for Grid Systems. PhD thesis, Department
of Computer Science and Software Engineering, The University of Melbourne, Australia,
2008.
[4] GWD-I, Global Grid Forum �GGF). Advance
reservations: State of the art. J. MacLaren,
2003. http://www.ggf.org.
[5] Claris Castillo, George N. Rouskas, and Khaled Harfoush. Efficient resource management
using advance reservations for heterogeneous
grids. In Proc. of the Intl. Parallel and Distributed Processing Symposium �IPDPS), Miami, USA, 2008.
[6] The Globus Alliance. Web page at http://
www.globus.org, 2009.
[7] Legion Project. Web page at http://legion.
virginia.edu/, 2009.
[8] Alain Roy and Volker Sander. Grid Resource Management, chapter GARA: A Uniform
Quality of Service Architecture, pages 377–
394. Kluwer Academic Publishers, 2003.
[9] Maui Cluster Scheduler.
Web page
at
http://www.clusterresources.com/
products/maui/, 2009.
[10] Mumtaz Siddiqui, Alex Villazón, and Thomas Fahringer. Grid capacity planning with
negotiation-based advance reservation for optimized QoS. In Proc. of the 2006 Conference
on Supercomputing �SC ’06), Tampa, USA,
2006.
[11] Changtao Qu. A grid advance reservation framework for co-allocation and co-reservation
across heterogeneous local resource management systems. In Proc. of 7th Intl. Conference on Parallel Processing and Applied Mathematics �PPAM), Gdansk, Poland, 2007.
[12] W Smith, Ian Foster, and V Taylor. Scheduling with advanced reservations. In Proc. of
the 14th Intl. Parallel and Distributed Processing Symposium �IPDPS), Washington, DC,
USA, 2000.
[13] Claris Castillo, George N. Rouskas, and Khaled Harfoush. On the design of online scheduling algorithms for advance reservations and
QoS in grids. In Proc. of the Intl. Parallel and
Distributed Processing Symposium �IPDPS),
Los Alamitos, USA, 2007.
[14] Peter A. Dinda. The statistical properties
of host load. Scientific Programming, 7�34):211–229, 1999.
[15] Agustín Caminero, Omer Rana, Blanca Caminero, and Carmen Carrión. Performance evaluation of an autonomic networkaware metascheduler for Grids. Concurrency
and Computation: Practice and Experience,
21�13):1692–1708, 2009.
[16] Hai Jin, Xuanhua Shi, Weizhong Qiang, and
Deqing Zou. An adaptive meta-scheduler
for data-intensive applications. Intl. Journal
of Grid and Utility Computing, 1�1):32–37,
2005.
[17] G. Chun, H. Dail, H. Casanova, and A. Snavely. Benchmark probes for grid assessment.
In Proc. of 18th Intl. Parallel and Distributed
Processing Symposium �IPDPS), Santa Fe,
New Mexico, 2004.
Descargar