universidad simón bolívar departamento de computación y teconología de la información prof....

60
Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Grupo de Investigación en Computación de Alto Rendimiento Y Redes (CAR ) Tendencias de Programaci Tendencias de Programaci ón ón en Sistemas Distribuidos en Sistemas Distribuidos Jornadas de Ing. de Jornadas de Ing. de Computaci Computaci ó ó n n USB 2003 USB 2003 Prof. Yudith Cardinale Universidad Simón Bolívar Noviembre 2003

Upload: ricardo-romero-rivas

Post on 23-Jan-2016

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Tendencias de Tendencias de ProgramaciProgramaciónón

en Sistemas Distribuidosen Sistemas Distribuidos

Jornadas de Ing. de Jornadas de Ing. de ComputaciComputacióónn

USB 2003USB 2003Prof. Yudith CardinaleUniversidad Simón Bolívar

Noviembre 2003

Page 2: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

ContenidoContenidoIntroducción: Sistemas Distribuidos

Modelo de Objetos: Corba y DCOM

Modelo de Componentes: Enterprise JavaBeans

Computación Ubicua: Computational Grids y sistemas P2P

Comunicación por Pase de Mensajes: MPI y RMI

Caso de Estudio SUMA = CORBA + Java + MPI

Page 3: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

1. Introducción1. Introducción

Prof. Yudith CardinaleUniversidad Simón Bolívar

Page 4: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Introducción: Introducción: Sistemas de computación

procesadoresmemoria

medios de almacenamiento dispositivos de E/Smedios de interconexión

sistema de operaciónsistemas de archivos

librerías de comunicaciónservicios especializados

aplicaciones

datos/información

Page 5: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducción

Los usuarios y las aplicaciones utilizan los recursos dehardware y de información del sistema de computación

para fines particulares.

Los usuarios y las aplicaciones utilizan los recursos dehardware y de información del sistema de computación

para fines particulares.

secuenciales

paralelas distribuidas

concurrentes

orientadas por objetos

aplicaciones:

Page 6: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Introducción: Introducción: Arquitecturas de hardware

Hardware: Recursos físicos que componen el sistema de computación.

Hardware: Recursos físicos que componen el sistema de computación.

Arquitecturas centralizadas: Computadores personales Estaciones de trabajo Mainframes

Arquitecturas paralelas: Computadores vectoriales Computadores paralelos Supercomputadores

Arquitecturas distribuidas: Clusters Redes Computational Grids (Metasistemas)

Page 7: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Introducción: Introducción: Arquitecturas de software

Software: Conjunto de componentes que administran y acceden los recursos físicos y de información

de un sistema de computación

Software: Conjunto de componentes que administran y acceden los recursos físicos y de información

de un sistema de computación

REDES

INTERNET

INTRANETSUNIX

LINUXWINDOWS

Cliente/Servidor

Sistemas de Operación Distribuidos

WEB Software abierto Middleware

Page 8: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducciónSistemas Distribuidos Sistemas Distribuidos

Sistemas de Cómputo compuestos por un gran número de CPUs, conectados mediante una red de alta velocidad

Colección de computadores independientes que aparecen ante el usuario como una sola máquina

TRANSPARENCIA

Page 9: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducción

Modelo Cliente/Servidor:Modelo Cliente/Servidor:

Máquina local Máquina remota

Cliente Servidor

Petición del servicio

Respuesta

Todos los servicios sobre Internet funcionan bajo este esquemaEl medio de envío para la petición/respuesta es la redUn servidor debe poder manejar varios usuarios concurrentemente

Page 10: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducción

Servicio HTTP: ejemplo del modelo Cliente/Servidor Servicio HTTP: ejemplo del modelo Cliente/Servidor

Los navegadores se comunican con los servidores Web por medio del protocolo HTTP (Hyper Text Transfer Protocol, RFC 2616).

HTTP es un protocolo suficientemente ligero y rápido para ser utilizado en un sistema colaborativo de información de medios distribuidos. Es un protocolo genérico orientado a objetos, por lo cual se puede utilizar para diversos tipos de aplicaciones.

HTTP fue creado en 1992 por Tim Berners-Lee, reemplazando en gran medida los sistemas Gopher.

Page 11: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducción

Servicio HTTP: ¿¿ Cómo funciona?Servicio HTTP: ¿¿ Cómo funciona?

http://www.ldc.usb.ve/~yudith

GET /~yudith HTTP/1.0Accept: text/plainAccept: text/htmlUser-Agent: Netscape Communicator 4.76

HTTP/1.0 200 OKServer: Apache/2.0.16Content-type: text/htmlLast-Modified: Thu Jul 7 00:25:33 2001Content-Length: 2003<html><body>...</body></html>

Page 12: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducción

Servicio HTTP: PROXIESPROXIESServicio HTTP: PROXIESPROXIES

Page 13: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducciónServicio HTTP: CGI o ASP o ServletsCGI o ASP o ServletsServicio HTTP: CGI o ASP o ServletsCGI o ASP o Servlets

http://www.ldc.usb.ve/cgi-bin/hello.pl

GET /cgi-bin/hello.pl HTTP/1.0Accept: text/plainAccept: text/htmlUser-Agent: Netscape Communicator 4.76

El servidor crea un nuevo proceso y coloca los valores apropiados en las variables de ambiente.Se pasan los parámetros por stdin o por argumentos según el método del POSTSe ejecuta la aplicación CGI, los resultados se toman de stdout.

Page 14: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducciónServicios proporcionados por múltiples servidoresServicios proporcionados por múltiples servidores

cliente

cliente

servidor

servidor

servidor

Servicio

Por distribución o por réplicasWeb: cada servidor web administra sus propios recursos. Con un navegador un usuario accede a cualquier servicio.NIS (Network Information Service) en una LAN. Posee réplicas del archivo de contraseñas.

Page 15: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

IntroducciónIntroducciónProcesos de igual a igualProcesos de igual a igual

Todos los procesos desempeñan tareas semejantes.La sincronización y comunicación es responsabilidad de los procesos.

Aplic.

Código decoordin.

Aplic.

Código decoordin.

Aplic.

Código decoordin.

Page 16: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

2. Modelos de Objetos 2. Modelos de Objetos DistribuidosDistribuidos

Prof. Yudith CardinaleUniversidad Simón Bolívar

CORBA y DCOMCORBA y DCOM

Page 17: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidosCORBA: Modelo de Objetos Distribuidos CORBA: Modelo de Objetos Distribuidos

CORBA (Common Object Request Broker Architecture) es un estándar para construir objetos distribuidos.

Propuesto por el Object Management Group (OMG)

Page 18: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

OMG (1989)OMG (1989)

Es un consorcio internacional que promueve el desarrollo de software orientado por objetos

El objetivo del OMG es proveer un marco de arquitectura común para permitir la interacción de objetos en plataformas heterogéneas y distribuidas.

Inicialmente estuvo conformado por 8 compañías: 3Com Corpotation, American Airlines, Canon Inc., Data General, Hewlett-Packard, Philips Telecommunications N.V., Sun Microsystems y Unisys Corporation. Actualmente hay más de 500 miembros

Page 19: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

OMA: Object Management Architecture. Modelo conceptual y arquitectura de referencia para construir aplicaciones.

OMA: Object Management Architecture. Modelo conceptual y arquitectura de referencia para construir aplicaciones.

APP. Objects Common Facil

Object Request Broquer (ORB)

Object Services

Page 20: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

Enfoque CORBAEnfoque CORBA

INTERFACEREPOSITORY

IDL COMPILER IMPLEMENTATION REPOSITORY

In args

ORB CORE

OBJECT ADAPTER

CLIENT OBJECTSOPERATION()

DIIIDL

STUBSORB

INTERFACE

IDLSKELETON

GIOP/IIOP

out args + return value

DSI

Page 21: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

Enfoque CORBAEnfoque CORBA

Object Implementation

ORBInterface

ORB Core

IDL Sk

Object Adapter

DSI

Client

ORB Core

DII IDL Stub

REQUEST

Page 22: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

Enfoque CORBAEnfoque CORBA

HTTP ORB

ORB ORB ORB ORB ORB ORB

MPP NOWs Oracle Illustra mSQL

CORBA BUS CORBA BUS

Page 23: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

Enfoque CORBA: InteroperabilidadEnfoque CORBA: Interoperabilidad

Objects “A” Objects “B”

POA Special Adap

ORB core

Objects with another ORB

Gateway

Page 24: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

Enfoque CORBA: Servicios y Facilidades

Enfoque CORBA: Servicios y Facilidades

ORB

Trader Naming………Security Persistence

Services

WorkFlow

System Management

HPcc?

…………..

Oil &

GasImageryBanking

DMSOModeling

andsimulation

Manufacturing…… ……

VerticalFacilities

HorizontalFacilities

Standard Interfaces

i.e. Frameworks

Page 25: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

Qué es:

Protocolo que permite a componentes de software comunicarse directamente sobre una red de una manera eficiente, confiable y segura.

Es el CORBA para el mundo Microsoft

DCOM: Distributed Component Object ModelDCOM: Distributed Component Object Model

Page 26: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

DCOM: Distributed Component Object ModelDCOM: Distributed Component Object Model

Page 27: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Objetos Modelos de Objetos DistribuidosDistribuidos

DCOM: Distributed Component Object ModelDCOM: Distributed Component Object Model

Page 28: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

3. Modelos de 3. Modelos de Componentes DistribuidosComponentes Distribuidos

Prof. Yudith CardinaleUniversidad Simón Bolívar

Enterprise Java Beans

Page 29: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Componentes Modelos de Componentes

Qué es:

Modelo de componentes que simplifica el desarrollo de middlewares proveyendo soporte automático de servicios como transacciones, seguridad, conectividad a base de datos y otros.

Provee facilidades para desarrollar servicios Web.

Ideal para desarrollar soluciones para ambientes con Sistemas de Operación y hardware heterogéneos.

Enterprise Java Beans: Modelo de Componentes Distribuidos

Enterprise Java Beans: Modelo de Componentes Distribuidos

Page 30: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Modelos de ComponentesComponentes

Enterprise Java Beans: Arquitectura Enterprise Java Beans: Arquitectura

Page 31: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Modelos de ComponentesComponentes

Enterprise Java Beans: Arquitectura Enterprise Java Beans: Arquitectura

Page 32: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Modelos de ComponentesComponentes

Enterprise Java Beans: Clientes Enterprise Java Beans: Clientes

Page 33: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelos de Modelos de ComponentesComponentes

Enterprise Java Beans: Clientes Enterprise Java Beans: Clientes

Page 34: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

4. Computación Ubicua4. Computación Ubicua

Prof. Yudith CardinaleUniversidad Simón Bolívar

Computational grids

Peer-to-Peer computing

Page 35: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Dónde se aplica el concepto de ubicuidad:

Se ofrece la misma imagen desde cualquiera de los lugares de trabajo (la misma interfaz está en todas partes)

Los procesos se ejecutan en alguna plataforma elegida por el sistema (el hardware está en todas partes)

No necesariamente disjuntas

Sistemas conformados por sistemas

Page 36: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación UbicuaGRIDS: Un mundo infinito de recursos GRIDS: Un mundo infinito de recursos

Qué es:

Infraestructura de hardware y software que provee alto desempeño y alta disponibilidad

Colección de recursos (personas, computadores, instrumentos y bases de datos) conectados por una red de alta velocidad.

Mecanismo para que los usuarios puedan usar recursos distribuidos geográficamente de forma transparente, creando la ilusión de un sistema de computación integrado.

Page 37: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación UbicuaGRIDS: Otros términos usados son Metacomputación,

Sistemas de Metacomputación, Metasistemas

GRIDS: Otros términos usados son Metacomputación, Sistemas de Metacomputación, Metasistemas

Qué es: (cont.)

Distinguible de una simple colección de computadores por un nivel de software: el middleware, el cual transforma una colección de recursos independientes en una única y coherente máquina virtual.

El middleware es el software que se conoce como software de metasistemas: está por encima de los recursos físicos y por debajo de las aplicaciones.

Page 38: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Computational GridsComputational Grids

Aplicaciones:

Supercomputación distribuida: simulación interactiva distribuida (entrenamiento y planificación), simulación de procesos físicos complejos (cosmología, modelamiento del clima,...)

High-Throughput computing: despacho de gran número de tareas acopladas o independientes aprovechando CPUs ociosos (Condor)

Computación por demanda: satisfacen requerimientos de recursos a corto plazo (NEOS y NetSolve)

Page 39: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Computational GridsComputational Grids

Aplicaciones: (cont.)

Computación con datos intensivos: sintetizan información a partir de datos en repositorios distribuidos, librerías digitales y bases de datos

Computación colaborativa: permite interacción hombre-hombre, generalmente las aplicaciones están estructuradas en términos de un espacio virtual compartido.

Page 40: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación UbicuaGrids y Sistemas Distribuidos convencionalesGrids y Sistemas Distribuidos convencionales

A1

A2

A3

A4A1

A2

A3

A4

Nivel físico

Nivel de poolvirtual

Nivel de máquinavirtual

Page 41: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Computational GridsComputational Grids

Qué ofrecen:

Colaboración más efectiva, agrupando co-investigadores en el mismo espacio virtual.

Incremento de la capacidad de cómputo local.

Productividad mejorada a través de un ambiente de programación considerablemente más simple.

Page 42: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Computational GridsComputational Grids

Qué ofrecen: (cont.)

Ahorro, los recursos en cuestión pueden ser muy costosos.

Espacio de objetos (Archivos) persistentes compartido.

Ejecución remota transparente.

Page 43: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación UbicuaGrids : Se presupone que hay control sobre el acceso a los servidoresGrids : Se presupone que hay control sobre el acceso a los servidores

Qué ofrecen: (cont.)

Rendimiento Transparencia Tolerancia a fallas Seguridad

Page 44: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Sistemas y aplicaciones que emplean recursos distribuidos para realizar funciones críticas de manera descentralizada

Cómputo distribuido

Almacenamiento y compartimiento de datos

Comunicación y colaboración

Servicios en plataformas heterogéneas

Peer-to-Peer computing: Cómputo intensivo descentralizado Peer-to-Peer computing: Cómputo intensivo descentralizado

Page 45: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Qué ofrecen:

Cooperación

Independencia de localidad

Rodeo de controles

Anonimato

Peer-to-Peer computing: Se presupone que los nodos participantes no tienen control sobre el acceso a los mismos

Peer-to-Peer computing: Se presupone que los nodos participantes no tienen control sobre el acceso a los mismos

Page 46: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Sistemas para cómputo distribuido:

Peer-to-Peer computing: Ejemplos de sistemas Peer-to-Peer computing: Ejemplos de sistemas

MAGI

Proyecto académico para búsqueda de señales provenientes de otros mundos

Producto para aplicaciones de negocios colaborativos (comercio basado en p2p) e incorpora múltiples tipos de dispositivos entre peers (PDAs, celulares, chips especializados, comunicación basada en eventos)

Proyecto de software abierto que provee servicios para p2p: encontrar peers, compartir archivos, encontrar contenido en sitios remotos, crear un grupo de peers, monitorear actividades y comunicación segura.

Page 47: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Sistemas para comunicación:

Provee espacios virtuales compartidos para la interacción de pequeños grupos. Los usuarios que comparten un espacio pueden “chatear”, comunicarse por voz, enviar mensajes instantáneos, actualizar un calendario o plan de eventos, compartir un archivo, etc.

Sistemas para compartir información: Intercambio de música mp3. Creció considerablemente al punto de que fueron demandados por compañías editoras de discos... y perdieron.

Servidor centralizado para mantenimiento de información de ubicación El intercambio de información se hace directamente entre clientes

Peer-to-Peer computing: Ejemplos de sistemas Peer-to-Peer computing: Ejemplos de sistemas

groove

Page 48: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Computación UbicuaComputación Ubicua

Sistemas para compartir información: (cont.)

Intercambio de archivos, principalmente mp3. Incluyeron secretamente un módulo de cómputo, hecho por Brilliant Digital para hacer cómputo distribuido.

Compartimiento, búsqueda y copiado de archivos entre usuarios en Internet en forma descentralizada Los clientes son servidores al mismo tiempo. Aprende sobre los nodos conectados al vecino Descubrimiento de la red (ping y pong)

Peer-to-Peer computing: Ejemplos de sistemas Peer-to-Peer computing: Ejemplos de sistemas

Page 49: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

4. Comunicación por Pase 4. Comunicación por Pase de Mensajesde Mensajes

Prof. Yudith CardinaleUniversidad Simón Bolívar

MPI

RMI

Page 50: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Comunicación por pase de Comunicación por pase de mensajesmensajes

Page 51: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Comunicación por pase de Comunicación por pase de mensajesmensajes

RMI:Remote Method Invocation

Page 52: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

5. Caso de Estudio: SUMA5. Caso de Estudio: SUMA

Prof. Yudith CardinaleUniversidad Simón Bolívar

MPICORBACORBA + +

Page 53: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Red

Token-ringLaptop computer

Laptop Computer

IBM Compatible

Mac IILaptop computer

Ethernet

Computational Grid

IBM Compatible

Workstation

WorkstationWorkstation

Application

Metasistema GRID

Network

NOW

Page 54: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Construído sobre tecnologías estándares, flexibles, portables y bien conocidas.

Page 55: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Page 56: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelo de tres capas:

El Cliente corre en lasmáquinas de los usuarios

Los Agentes de Ejecuciónreciben y ejecutan lasaplicaciones en los servidores

El Núcleo contiene componentes de apoyo (ej. el Planificador)

Page 57: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelo de de ejecución:

Paso 1: El Client Stub solicita Proxy al Scheduler, luego el Cliente entrega solicitud deejecución a ese Proxy

Page 58: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelo de ejecución:

Paso 2: El Proxy autentica yverifica permisos del usuario,solicita al Scheduler un Execution Agent

Page 59: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelo de ejecución:

Paso 3: El Proxy entregasolicitud al Execution Agent

Page 60: Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof. Yudith Cardinale Grupo de Investigación en Computación de

Universidad Simón BolívarDepartamento de Computación

y Teconología de la Información Prof. Yudith Cardinale

Grupo de Investigación en Computación de Alto

Rendimiento

Y Redes (CAR2)

Modelo de ejecución:

Paso 4: El Proxy devuelve alExecution Agent la referenciadel cliente, quien establece conexión. La ejecución comienza, cargando dinámicamente las clases ydatos de E/S.