Reanudación de Ejecución de Procesos en Metasistemas Yudith Cardinale y Emilio Hernández Universidad Simón Bolívar Caracas, Venezuela {yudith,emilio}@ldc.usb.ve http://suma.ldc.usb.ve Feb-19 PANEL 2001
CONTENIDO Metasistemas Reanudación de Procesos en Java Reanudación de Procesos en Metasistemas Caso de Estudio: SUMA Implementación del Servicio en SUMA Resultados Experimentales Conclusiones y Trabajo Futuro Feb-19 PANEL 2001
Metasistemas Colección de recursos independientes y heterogéneos presentados como una única y coherente máquina virtual. Los recursos se pueden acceder de manera transparente a través de la red: middleware El middleware está por encima de los recursos físicos y por debajo de las aplicaciones. Feb-19 PANEL 2001
Metasistemas La dispersión y heterogeneidad de recursos, el alto jitter de red y autonomía de las plataformas aumentan la probabilidad de fallas de los componentes del metasistema La Reanudación de Procesos es un servicio clave para la recuperación de fallas de componentes Feb-19 PANEL 2001
Reanudación de Procesos en Java La captura de Puntos de Reanudación implica salvar el estado de una ejecución para ser restaurada más tarde En Java, los Puntos de Reanudación pueden ser tomados en un formato independiente de la máquina Feb-19 PANEL 2001
Reanudación de Procesos en Java Las principales estrategias propuestas para hacer persistente el ambiente de ejecución de Java son: Mecanismos a nivel de Lenguaje Extender la JVM para soportar persistencia Incorporar una capa de software de captura de puntos de reanudación Feb-19 PANEL 2001
Reanudación de Procesos en Metasistemas La selección de un enfoque apropiado de captura de puntos de reanudación para un metasistema debe tomar en cuenta: Portabilidad Transparencia Poca intrusividad Nuestro enfoque seleccionado fue una máquina virtual Java extendida Feb-19 PANEL 2001
Caso de Estudio: SUMA Ejecuta aplicaciones Java de alto rendimiento (secuenciales y paralelas) Implementado como un conjunto de componentes CORBA Modelo de tres niveles: Clients: corren en las máquinas de los usuarios Execution Agents: ejecutan las aplicaciones Componentes del Core: scheduler, proxies, ... Feb-19 PANEL 2001
Caso de estudio: SUMA Feb-19 PANEL 2001
Implementación del Servicio Feb-19 PANEL 2001
Implementación del Servicio: Algoritmo de Reanudación Suma Core : Recibe una excepción Encuentra un nodo con soporte de reanudación Ejecuta un resume de la aplicación sobre el execution agent del nuevo nodo El nuevo execution agent : Obtiene el último Punto de Reanudación Reinicia la ejecución de la aplicación desde el último Punto de Reanudación Feb-19 PANEL 2001
Implementación del Servicio en SUMA: Prototipo actual Los clients proveen: Una opción para activar la Captura de Puntos de Reanudación Un stub package para compilar sin la JVM extendida Los execution agents proveen: La JVM extendida con soporte de persistencia Un Thread que toma los Puntos de Reanudación en forma asíncrona y transparente Feb-19 PANEL 2001
Experimentos Aplicación ejecutada: calcular los primeros “n” números primos Plataforma: estaciones de trabajo SUN Ultra 1 de 143 MHz con Solaris 7 y JDK 1.2.2 El SUMACkpThreadMonitor captura Puntos de Reanudación cada 4 minutos Los Puntos de Reanudación son salvados en un sistema de archivos compartido (NFS) Feb-19 PANEL 2001
Resultados Tiempo de ejecución sin ckp= 819 min 7 seg Ckpt size Ckpt time Recovery time 65KB 1,44 sec. 4,67 sec. 125KB 2,58 sec. 7,02 sec. 165KB 3,87 sec. 9,11 sec. 310KB 7,26 sec. 16,46 sec. Tiempo de ejecución sin ckp= 819 min 7 seg Tiempo de ejecución con ckp=868 min 41 seg 201 Puntos de Reanudación tomados Feb-19 PANEL 2001
Conclusiones Servicios de Reanudación de Procesos y Recuperación transparentes incorporados a un Metasistema basado en Java Puntos de Reanudación en Java independientes de la arquitectura (Portables) Bajo overhead de los procesos de toma de Puntos de Reanudación y Recuperación Enfoque potencialmente transparente Feb-19 PANEL 2001
Trabajo en desarrollo Implementación del preprocesador Extender los servicios para aplicaciones paralelas Activar automáticamente los servicios de captura y recuperación Feb-19 PANEL 2001
{yudith,emilio}@ldc.usb.ve http://suma.ldc.usb.ve Feb-19 PANEL 2001