desarrollo de un framework para grid computing usando...

Post on 11-Aug-2020

13 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Pablo Fonsecapfonseca@pucp.edu.pe

Dirección de Informática AcadémicaPontificia 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

5 10 15

f(x)

Programa que calcula la integral

Límite inferior

Límite superiorf(x)

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?

top related