Desarrollo de un framework para Grid
Computing usando tecnología Open Source
Pablo Fonseca
[email protected]
Dirección de Informática Académica
Pontificia Universidad Católica del Perú
Puntos a tratar
Motivación
Conceptos Generales
Desarrollo de un framework para Grid
Computing
1. Motivación
Motivación
● La necesidad de realizar simulaciones
complejas.
● Estos cálculos podrían tomar días, meses,
años.
2. Conceptos generales
Grid Computing
Supercomputadora
≈ varias computadoras
unidas por una red.
Pueden estar
distribuidas
geográficamente.
Aplicaciones de Grid Computing
Renderización de
animaciones 3D.
Predicción del clima.
Investigación
farmacológica.
Física de Altas
Energías.
Validación de
modelos estadísticos.
Posibles dificultades
Configuración.
Envío cálculos/operaciones.
BOINC
Berkeley Open Infrastructure for Network
Computing.
Originalmente desarrollado para el proyecto
SETI@home.
Diseñado para Computación de Voluntariado.
Funciona muy bien para implementar una Grid.
Soporta la ejecución en muchas plataformas.
Envío de tareas (I)
Ejemplo: Cálculo de una integral definida
f(x)
5
10
15
f(x)
Programa que calcula la
integral
Límite inferior
Límite superior
Envío de tareas (II)
Encolar las unidades de trabajo.
Servidor
Grid
Framework
Es un esquema de trabajo y/o herramientas
asociadas.
Ayuda en caso de tareas complejas y
repetitivas.
Uso de frameworks
Gestión de contenidos.
Acceso a base de datos.
Desarrollo de aplicaciones web.
3. Desarrollo de un framework para Grid
Computing
Solución 1: Envío de tareas
Interfaz que esconda
la complejidad de la
Grid.
Entorno web: Acceso
desde cualquier
punto.
Solución 2: Administración
Desarrollo de un
framework para la
creación de interfaces
web.
Debe ser rápido para
estructuras más
simples.
Debe permitir los
casos especiales.
Ventajas del framework
propuesto
Ahorro de tiempo en la creación de interfaces.
(Administradores).
Ahorro de tiempo en el uso de la Grid.
(Usuarios finales).
Diseño del Framework
Arquitectura Orientada a Servicios.
Ventajas: Arquitectura Orientada a Servicios
Los componentes son reusables: Se pueden
desarrollar otros clientes.
Los componentes son independientes: Se
pueden desarrollar separados.
Los componentes son intercambiables: Se
pueden usar otros sistemas de gestión de
Grids.
Servicios Web
REST
SOAP
Otras alternativas
Web Services REST
Mapeo de los
métodos HTTP
Basado en
direccionamiento por
URL's
Intercambio de
documentos XML
https://cwiki.apache.org/WINK/1-introduction-to-
apache-wink.data/REST%20Web
%20Service.jpg
SOAP - WSDL
Especificación o “contrato”.
Describe los métodos que se exponen.
http://www.devx.com/assets/articlefigs/9348.gif
SOAP - Dificultades
Envío de archivos
binarios
(Attachments)
Estándar SOAP with
Attachments (SwA).
http://www.javaworld.com/javaworld/jw-09-2003/images/jw-
0912-webservices1.jpg
Librerías que soportan SwA
Soaplib
Apache Axis 2
WSO2 WSF/PHP
Soaplib
Permite generar el WSDL on-the-fly.
Soporta SwA.
Desarrollada en Python.
Se puede publicar usando mod_wsgi con
apache.
Se puede usar tanto en aplicaciones web como
de línea de comandos.
Apache Axis 2
Soporta SwA.
Desarrollado en Java.
Puede servir para
clientes de línea de
comandos y
aplicaciones web.
WSO2 WSF/PHP
Soporta SwA.
Está basado en Axis.
Funciona con PHP, desarrollado en C++.
Puede servir para clientes de línea de
comandos y aplicaciones web.
Análisis de tramas
Wireshark
Diseño de la aplicación Web
Portlets
Desarrollo en Java
Portlets
Estándar JSR-168 / JSR-286.
Necesitan un contenedor.
GridSphere
Desarrollado especialmente para proyectos de
Grid.
Usado en Virtual Community Grid (Brasil).
Liferay
Contenedor de portlets ampliamente usado.
Soporta el estándar JSR-286
Futura compatibilidad
Librerías desarrolladas en Java para futura
compatibilidad.
Entorno
OS: CentOS
Java EE
MyBatis (pool de conexiones)
Apache Tomcat 6.x
4. Ejemplo
Interfaz para Integral (I)
Interfaz para Integral (II)
Interfaz para Integral (III)
Interfaz para Integral (IV)
Interfaz para Integral (V)
Interfaz para Integral (VI)
Interfaz para Integral (VII)
Interfaz para Integral (VIII)
¿Preguntas?
Comentarios de: Desarrollo de un framework para Grid Computing usando tecnología Open Source (0)
No hay comentarios