Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof....
-
Upload
ricardo-romero-rivas -
Category
Documents
-
view
233 -
download
1
Transcript of Universidad Simón Bolívar Departamento de Computación y Teconología de la Información Prof....
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
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
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
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
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:
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)
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
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
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
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.
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>
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
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.
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.
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.
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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)
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.
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
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.
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.
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
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
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
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.
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
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
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
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
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
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 + +
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
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.
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)
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)
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
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
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
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.