44
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ú

Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Desarrollo de un framework para Grid Computing usando tecnología Open Source

Pablo [email protected]

Dirección de Informática AcadémicaPontificia Universidad Católica del Perú

Page 2: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Puntos a tratar

Motivación Conceptos Generales Desarrollo de un framework para Grid

Computing

Page 3: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

1. Motivación

Page 4: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Motivación

● La necesidad de realizar simulaciones complejas.

● Estos cálculos podrían tomar días, meses, años.

Page 5: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

2. Conceptos generales

Page 6: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Grid Computing

Supercomputadora ≈ varias computadoras

unidas por una red. Pueden estar

distribuidas geográficamente.

Page 7: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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.

Page 8: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Posibles dificultades

Configuración. Envío cálculos/operaciones.

Page 9: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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.

Page 10: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Envío de tareas (I)

Ejemplo: Cálculo de una integral definida

5 10 15

f(x)

Programa que calcula la integral

Límite inferior

Límite superiorf(x)

Page 11: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Envío de tareas (II)

Encolar las unidades de trabajo.

Servidor Grid

Page 12: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Framework

Es un esquema de trabajo y/o herramientas asociadas.

Ayuda en caso de tareas complejas y repetitivas.

Page 13: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Uso de frameworks

Gestión de contenidos. Acceso a base de datos. Desarrollo de aplicaciones web.

Page 14: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

3. Desarrollo de un framework para Grid Computing

Page 15: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Solución 1: Envío de tareas

Interfaz que esconda la complejidad de la Grid.

Entorno web: Acceso desde cualquier punto.

Page 16: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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.

Page 17: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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).

Page 18: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Diseño del Framework

Arquitectura Orientada a Servicios.

Page 19: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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.

Page 20: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Servicios Web

REST SOAP Otras alternativas

Page 21: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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

Page 22: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

SOAP - WSDL

Especificación o “contrato”. Describe los métodos que se exponen.

http://www.devx.com/assets/articlefigs/9348.gif

Page 23: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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

Page 24: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Librerías que soportan SwA

Soaplib Apache Axis 2 WSO2 WSF/PHP

Page 25: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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.

Page 26: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Apache Axis 2

Soporta SwA. Desarrollado en Java. Puede servir para

clientes de línea de comandos y aplicaciones web.

Page 27: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

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.

Page 28: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Análisis de tramas

Wireshark

Page 29: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Diseño de la aplicación Web

Portlets Desarrollo en Java

Page 30: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Portlets

Estándar JSR-168 / JSR-286. Necesitan un contenedor.

Page 31: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

GridSphere

Desarrollado especialmente para proyectos de Grid.

Usado en Virtual Community Grid (Brasil).

Page 32: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Liferay

Contenedor de portlets ampliamente usado. Soporta el estándar JSR-286

Page 33: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Futura compatibilidad

Librerías desarrolladas en Java para futura compatibilidad.

Page 34: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Entorno

OS: CentOS Java EE MyBatis (pool de conexiones) Apache Tomcat 6.x

Page 35: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

4. Ejemplo

Page 36: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (I)

Page 37: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (II)

Page 38: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (III)

Page 39: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (IV)

Page 40: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (V)

Page 41: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (VI)

Page 42: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (VII)

Page 43: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

Interfaz para Integral (VIII)

Page 44: Desarrollo de un framework para Grid Computing usando ...downloads.tuxpuc.pucp.edu.pe/linuxweek2011/Legion2_LinuxWeek.pdf · Desarrollo de un framework para Grid Computing usando

¿Preguntas?