Introducción a los sistemas Introducción a los sistemas industrialesindustriales
Módulo 4: Redes Informáticas y Sistemas Distribuidos
Tarea 4.3 – Sistemas de proceso distribuidos y paralelos
A. Petrov, PU, Dep. ECIT
Computer network & Distributed systems – Task4.3
Definiciones, organización Objetivos y ventajas Proporcionando accesibilidad a los recursos Flexibilidad Fiabilidad Transparencia de distribución Apertura Escalabilidad, etc Clasificación y arquitectura Conceptos de Hardware – competencia
Taxonomías informáticas Sistemas de multiproceso – clusters y grid Sistemas de multiordenadores – tipos de arquitecturas MIMD Arquitecturas DS y PPS Conceptos de Software – sistemas operativos y lenguajes Conceptos CORBA, DCOM y Java/RMI . Estándard MPI
ObjectivosObjectivos
Computer network & Distributed systems – Task4.3 2
Sistemas Distribuidos: DefiniciónSistemas Distribuidos: Definición
“Un sistema distribuido es aquél en el que no puedes trabajar con tu máquina por el fallo de otra máquina que ni siquiera sabías que existía”
- Leslie Lamport
Computer network & Distributed systems – Task4.3 3
Sistema distribuido: DefiniciónSistema distribuido: Definición Un sistema distribuido es una parte del software que
asegura que: Una colección de ordenadores independientes aparezca a sus
usuarios como un sistema único coherente.
Ejemplo: The world wide web (www) – información, compartir recursos
Clusters, Red de Estaciones de trabajo (workstations)
Sistema de manufactura distribuida (e.g., línea de montaje automático)
Red de ordenadores de oficina
Sistema de información para manejar el procesado automático de órdenes
Red de sistemas integrados
Procesador de Nueva célula, etc
Computer network & Distributed systems – Task4.3 4
Computer network & Distributed systems – Task4.3
Características claves de un Sistema Características claves de un Sistema Distribuido *Distribuido *
Los programas de los diferentes ordenadores deben interactuar Un sistema distribuido debe abarcar varios ordenadores Los programas deben enviar información a cada uno de los otros Los programas deben recibir información de cada uno de los otros Los programas también necesitan trabajar
Los programas juegan diferentes papeles en estas interacciones Enviar una solicitud (cliente), procesar la solicitud (servidor),
enviar una respuesta (servidor), recibir y procesar la respuesta (cliente) Recordar dónde encontrar las cosas (servicios de directorio, etc) Interacciones de mediación entre los programas de distribución
(servicios de coordinación, de orquestación, etc.)* http://www.slideworld.com/slideshows.aspx/Distributed-Systems-part-1-ppt-541500
5
Computer network & Distributed systems – Task4.3
¿Cómo se interconectan los diferentes ordenadores? ¿Todo el tráfico se mueve en un bus común de datos?
O ¿el tráfico se mueve en redes (jerárquicamente)?
O ¿el tráfico se mueve de punto a punto entre hosts?
¿Existen factores espaciales y/o temporales? ¿Importa la localización física/movimiento del host?
El retraso es detectable, ¿los límites de ancho de banda son relevantes?
¿Las conexiones están siempre encendidas o pueden ser intermitentes?
¿La topología de interconexión cambia?
¿La topología de la interconexión es completamente dinámica?
Características clave de un Sistema Características clave de un Sistema DistribuidoDistribuido
6
Computer network & Distributed systems – Task4.3 7
Ventajas de Sistemas Distribuidos frente a Ventajas de Sistemas Distribuidos frente a Sistemas Centralizados *Sistemas Centralizados *
Economicas: una colección de microprocesadores que ofrece mejor precio/desempeño que los ordenadores centrales. Bajo ratio de precio/desempeño: método efectivo para aumentar la potencia del ordenador.
Velocidad: un sistema distribuido debe tener más potencia que el ordenador central. Por ejemplo, 10,000 chips de CPU, cada uno trabajando a MIPS. No es posible construir 500,000 MIPS procesadores individuales ya que requeriríia 0.002 nsec por ciclo de instrucción. Se mejora el desempeño al distribuir la carga.
Distribución inherente: Algunas aplicaciones están distribuidas inherentemente. Por ejemplo, una cadena de supermercados.
Fiabilidad: Si se rompe una máquina, el sistema como conjunto puede sobrevivir. Mayor disponibilidad y mejora de la fiabilidad.
Crecimiento incremental: Se puede añadir potencia con incrementos pequeños. Expansión modular.
Otra fuerza derivada: la existencia de un gran número de ordenadores personales, la necesidad de colaborar y compartir información.
* Lecture Note 13 Insup Lee
Computer network & Distributed systems – Task4.3
Ventajas de Sistemas Distribuidos frente a Ventajas de Sistemas Distribuidos frente a PCs independientesPCs independientes
Compartir datos: permite el acceso a una base de datos común a muchos usuarios
Compartir recursos: periféricos de gran valor como impresaras de color
Communicación: mejora la comunicación humano-humano, por ejemplo email, chat.
Flexibilidad: extiende la carga de trabajo sobre las máquinas disponibles
8
Computer network & Distributed systems – Task4.3
Desventajas de Sistemas DistribuidosDesventajas de Sistemas Distribuidos
Software: dificultad de desarrollar software para sistemas distribuidos
Red: saturación, transmisiones perdidas
Seguridad: la facilidad de acceso tambien concierne a los datos secretos
9
Computer network & Distributed systems – Task4.3
Internet por cable (jerarquía) Puede alcanzar cualquier host desde cualquier otro host
Los hosts siempre están encendidos y disponibles (% fallo, inactivo)
Muchos de los WWW dependen de esta noción
Ejemplos de Distribución (1)Ejemplos de Distribución (1)
10
Computer network & Distributed systems – Task4.3
Internet Nómada (jerarquía) Algunos hosts son móviles, se conectan al punto de acceso más cercano
Los hosts pueden no estar disponibles, pero al final se reconectan
La topología de la ruta Host-to-host puede cambiar debido a esto
Los teléfonos móviles, ordenadores portátiles sin clable tienen este comportamiento
Ejemplos de Distribución (2)Ejemplos de Distribución (2)
11
Computer network & Distributed systems – Task4.3
Redes móviles ad hoc (MANETS) Los hosts móviles se conectan a cada uno de los otros (con o sin punto de acceso)
Los Hosts pueden detectar conexión dinámica o desconexión
Los Hosts deben explotar las ventanas de oportunidades de comunicación
Permite el ruteado ad-hoc, mensaje de comportamiento “mula”
Ejemplos de Distribución (3)Ejemplos de Distribución (3)
12
Computer network & Distributed systems – Task4.3
Middleware (sotware intermedio) en aviación en tiempo real * * Capa (s) entre la aplicación y el sistema operativo
Asegura que las actividades no críticas no interfieran en tiempo con las actividades críticas
Basado en otros proyectos de middleware de código abierto
La librería ACE C++ y el agente de solicitud de objeto TAO
Bases estándar (CORBA**), escritos en C++/Ada
** Ver posteriormente
Ejemplo de Sistema Distribuido (con cable)Ejemplo de Sistema Distribuido (con cable)
13
Computación Distribuida – DC es un método de proceso informático
en el que partes diferentes de un programa se procesan
simultáneamente mediante dos o más ordenadores conectados con una
red. DS es un tipo de procesado paralelo (ver Sistemas Paralelos)
Base de Datos Distribuida – DDB es una colección de múltiples bases
de datos lógicamente interrelacionadas distribuidas en medio de la red
donde aparece el usuario como una única base de datos. World Wide
Web (WWW) es el mayor ejemplo de DDB
Sistema de gestión de bases de datos distribuidas – DDBMS es un
software de sistema que proporciona la gestión de DDB y hace que la
distribución aparezca transparente a los usuarios.
Tipos de Sistemas Distribuidos Tipos de Sistemas Distribuidos (1)(1)
Computer network & Distributed systems – Task4.3 14
DAQ distribuido y sistema de control – tipo de sistema automatizado que
puede suministrar medidas e instrucciones de control a las diferentes partes
de la máquina. En lugar de una unidad de control centralizad, cada sección
de la máquina tiene su propio ordenador o microcontrolador que gestiona
sus operaciones (eg. los coches modernos y otros vehículos, líneas de
producción, etc.).
Sistemas distribuidos obicuos – Computación obicua – ordenadores
omnipresentes. Permite la disponibilidad de muchos ordenadores en el entorno físico,
a la vez que los hace eficazmente invisibles al usuario. La computación obicua es
conocida por algunos como lo que será laTercera Ola de computación. La Primera
Ola fue muchas personas por ordenador, la Segunda Ola fue una persona por
ordenador. La Tercera Ola será muchos ordenadores por persona. Hay tres temas
técnicos clave: consumo de enrgía, interfaz de usuario y conectividad sin cable.
No nos equivocaremos al decir que el futuro es completamete de los sistemas
distribuidos!
Tipos de Sistemas Distribuidos Tipos de Sistemas Distribuidos ((22))
Computer network & Distributed systems – Task4.3 15
Computer network & Distributed systems – Task4.3
Transparencia Descripción
AccesoEsconde las diferencias de representación de datos y cómo se accede a un recurso
Localización Esconde dónde se localiza un recurso
Migracion Esconde que un recurso puede moverse a otra localización
RelocalizaciónEsconde que un recurso puede moverse a otra localización mientras está utilizándose
ReplicaciónEsconde qeu un recurso puede compartirse por varios usuarios competitivos
Competencia Esconde que un recurso puede compartirse por varios usuarios competitivos
Fallo Esconde el fallo y recuperación de un recurso
PersistenciaEsconde si un recurso (sotware) está en la memoria o en el disco
Sistemas Distribuidos – transparenciaSistemas Distribuidos – transparencia
16
Computer network & Distributed systems – Task4.3
Concepto Ejemplo
Servicios Centralizados Un único servidor para todos los usuarios
Datos Centralizados Un único directorio de teléfonos on line
Algoritmos centralizados Ruteado basado en información completa
Escalabilidad: Al menos tres componentes:Número de usuarios y/o procesos (tamaño de
escalabilidad)Máxima distancia entre nodos (escalabilidad geográfica)Número de dominios administrativos (escalabilidad
administrativa)
EscalabilidadEscalabilidad
Problemas de la Escalabilidad:
17
Computer network & Distributed systems – Task4.3
Diferencia entre sistemas Diferencia entre sistemas distribuidos y paralelosdistribuidos y paralelos
Sistemas Distribuidos (DS) Sistemas de Procesado Paralelo (PPS)
Sistemas acoplados libremente Sistemas acoplados firmementeLos procesadores no comparten memoria y cada procesador tiene su propia memoria local
Normalmente, todos los procesadores comparten la memoria principal
El procesador puede situarse lejos de los otros
Los procesadores se sitúan muy cerca de los otros
Puede deplegarse un gran número de procesadores
Se puede desplegar una pequeña cantidad de procesadores
No hay ningún reloj global presente- se usan algoritmos de sincronización
Se utiliza el reloj global para controlar las arquitecturas simd y mimd
Una comunicación impredecible retrasa entre los procesadores
Los procesadores comparten mediante una red de interconexión (normalmente muy rápida)
18
Computer network & Distributed systems – Task4.3
Diferencia entre sistemas Diferencia entre sistemas distribuidos y paralelos …distribuidos y paralelos …
a-b – sistemas distribuidosc – sistema paralelo
19
Los tipos de ordenadores distribuidos se basan en la taxonomía de Flynn's de sistemas;
Única instrucción, únicos datos (SISD), - convencional
Única instrucción, multiples datos (SIMD) – datos paralelos, vector computacional
Instrucción multiple, únicos datos (MISD) – matriz sistólica
Instrucción multiple, multiples datos (MIMD) – muy general, múltiples aproximaciones
El enfoque actual está en el modelo MIMD, que utiliza los procesadores de proposiciones generales.
Sistemas paralelos – taxomonías del Sistemas paralelos – taxomonías del ordenadorordenador
Computer network & Distributed systems – Task4.3 20
Computer network & Distributed systems – Task4.3
A diferencia de SISD, MISD, el ordenador MIMD funciona de forma asíncrona.
Memoria compartida (acoplo moderado) MIMD
Memoria distribuida (acoplo débil)
Arquitectura MIMD Arquitectura MIMD
ProcesadorA
ProcesadorB
ProcesadorC
Datos EntradaFlujo A
Datos EntradaFlujo B
Datos entradaFlujo C
Datos salidaFlujo A
Datos salidaFlujo B
Datos salidaFlujo C
InstrucciónFlujo A
InstrucciónFlujo B
InstrucciónFlujo C
21
Computer network & Distributed systems – Task4.3
MEMORIA
BUS
Máquina de memoria compartida MIMD Máquina de memoria compartida MIMD
La fuente PE escribe los datos a GM y la destinación lo recupera Fácil de construir, los sistemas operativos de SISD pueden transportarse
fácilmente Limitación : fiabilidad y expansión. Un componente de la memoria o
cualquier fallo del procesador afecta al sistema completo. El aumento de procesadores lleva a una contención de la memoria.
Ex. : Superordenadores de gráficos de silicio...
MEMORIA
BUS
Sistema de Memoria Global Sistema de Memoria Global
ProcesadorA
ProcesadorA
ProcesadorB
ProcesadorB
ProcesadorC
ProcesadorC
MEMORIA
BUS
22
Computer network & Distributed systems – Task4.3
MEMORIA
BUS
Memoria Distribuida MIMDMemoria Distribuida MIMD
Comunicación : IPC en redes de alta velocidad. La red se puede configurar como ... Árbol, Malla, cubo, etc A diferencia de MIMD compartida
Expansión fácil/inmediata Altamente fiable (cualquier fallo de la CPU no afecta al sistema
completo)
ProcesadorA
ProcesadorA
ProcesadorB
ProcesadorB
ProcesadorC
ProcesadorC
MEMORIA
BUS
MEMORIA
BUS
MemoriaSistema A
MemoriaSistema A
MemoriaSistema B
MemoriaSistema B
MemoriaSistema C
MemoriaSistema C
Canal IPCCanal IPC
23
Un cluster consiste en múltiples máquinas stand-alone (independientes del software) que actúan en paralelo en una red local de alta velocidad.
La computación distribuida difiere de la computación de cluster en que el entorno de los ordenadores en una computación distribuida típicamente no están exclusivamente operando tareas de “grupo”, mientras que los ordenadores en cluseter normalmente están acoplados más firmemente.
La computación distribuida a menudo también consiste en máquinas que están bastante separadas geográficamente.
Clustering es una popular estrategia para implementar aplicaciones de procesado paralelo porque permite avenajar a las empresas que ya han invertido en PCs, workstations o servidores. Además, es relativamente fácil añadir nuevas CPUs, simplemente añadiendo un nuevo PC a la red.
¿Es posible hacer un cluster en casa? Ver: http://www.youtube.com/watch?v=BjnAxPzjQJg
Cluster del OrdenadorCluster del Ordenador
Computer network & Distributed systems – Task4.3 24
Una grid usa los recursos de muchos ordenadores separados conectados por una red (normalmente Internet) para resolver problemas de computación de gran escala.
El mayor tiempo inactivo de uso de muchos miles de ordenadores del mundo.
Estos arreglos permiten manejar datos que de otra forma requerirían la potencia de superordenadores muy costosos o sería imposible de analizar.
* Una tecnología similar es la Computación Cloud (nube), que también permite usar recursos comunes.
(Ver: http://en.wikipedia.org/wiki/Cloud_computing )
Computación de Grid Computación de Grid (malla)(malla)
Computer network & Distributed systems – Task4.3 25
Computer network & Distributed systems – Task4.3
Continuo de Sistemas DistribuidosContinuo de Sistemas Distribuidos
26
Computer network & Distributed systems – Task4.3
Arquitecturas DS y PPS Arquitecturas DS y PPS
27
Computer network & Distributed systems – Task4.3
28
Modelos de Sistema de DSModelos de Sistema de DS
Modelo de miniordenador Modelo de Workstation Modelo de Workstation-servidor Modelo de Procesador- equipo Modelo Cluster Computación de Grid
Computer network & Distributed systems – Task4.3
29
Modelo de MiniordenadorModelo de Miniordenador
Extensión del tiempo de sistema compartido – El usuario debe conectarse en su miniordenador de casa. – A partir de ahí, puede conectarse a una máquina en remoto
mediante telnet.. Compartir recursos
– Base de datos– Disponistivos de alto rendimiento
Mini-ordenador
Mini-ordenador
Mini-ordenador
RedARPA
Computer network & Distributed systems – Task4.3
30
Modelo de WorkstationModelo de Workstation
Migración de proceso– Los usuario primero de conectan a su workstation personal.– Si hay una workstation parada en remoto, debe migrarse una gran
tarea a una de ellas. Problemas:
– Cómo encontrar una workstation parada– Cómo migrar una tarea– Qué ocurre si un usuario se conecta en la máquina en remoto.
100GbpsLAN
Workstation
Workstation Workstation
WorkstationWorkstation
Computer network & Distributed systems – Task4.3
31
Modelo Workstation-Servidor Modelo Workstation-Servidor Workstations de cliente
– Sin disco– Las aplicaciones gráficas/interactivas se
procesan en local– Todas las solicitudes de los ficheros,
impresoras, http y cada ciclo de computación se envían a los servidores.
Miniordenadores de servidor– Cada miniordenador se dedica a uno o
más tipos diferentes de servicio. El modelo Cliente-Servidor de comunicación
– RPC (Remote Procedure Call)– RMI (Remote Method Invocation)
Un proceso de cliente llama a la función de proceso del servidor.
No se invoca el proceso de migración Ejemplo: NSF
100GbpsLAN
Workstation
Workstation Workstation
Mini-OrdenadorrServidor
de ficheros
Mini-OrdenadorServidor
http
Mini-OrdenadorServidor de ciclo
Computer network & Distributed systems – Task4.3
32
Modelo Procesador- EquipoModelo Procesador- Equipo
Clientes:
– Se conectan en uno de los terminales (workstations sin disco o terminales X)
– Todos los servicios se envían a servidores.
Servidores:
– El número necesario de procesadores se reparte a cada usuario desde el equipo (pool)
Mejor utilización pero menos interactividad
Servidor 1
100GbpsLAN
Servidor N
Computer network & Distributed systems – Task4.3
33
Modelo ClusterModelo Cluster
Cliente
– Toma un modelo cliente-servidor
Servidor
– Consiste en muchos PC/workstations conectados a una red de alta velocidad.
– Focaliza más en el rendimiento : se ocupa de las solicitudes en paralelo
100GbpsLAN
Workstation
Workstation Workstation
Masternode
Slave1
SlaveN
Slave2
1Gbps SAN
http server1
http server2
http server N
Computer network & Distributed systems – Task4.3
34
Información de alta velocidad
Computación Grid (Malla)Computación Grid (Malla)
Objetivo– Recopilar potencia de los
superordenadores y clusters escasamente localizados y hacerlos disponibles como si fuera una malla eléctrica.
Superordenadores distribuidos– Muchos problemas que necesitan
mucha memoria, CPU, etc. Computación de Alto rendimiento
– Emplea muchos recursos inactivos Computación bajo demanda
– Recursos remotos integrados con computación local
Computación de datos intensiva– Utiliza datos distribuidos
Computación colaborativa– Soporta la comunicación entre múltiples
partes.
Super-ordenador
Cluster
Super-ordenador Cluster
Mini-computer
Workstation
Workstation Workstation
Computer network & Distributed systems – Task4.3
Acopladas firmemente » procesado paralelo– Los procesadores comparten el reloj y la memoria, operan con un Sistema Operativo, se comunican
frecuentemente Acopladas libremente» computación distribuida
– Cada procesador tiene su propia memoria, opera su propio Sistema Operativo (?), no se comunican frecuentemente.
* Tanenbaum
Clasificación de las Arquitecturas MIMD*Clasificación de las Arquitecturas MIMD*
35
Un sistema distribuido organizado como middleware.Observar que la capa del middleware se extiende sobre múltiples máquinas.
1.1
Sistemas Distribuidos – Sistemas Distribuidos – organización del middleware organización del middleware
(software intermedio)(software intermedio)
Computer network & Distributed systems – Task4.3 36
1.6
Diferentes organizaciones básicas y memorias en sistemas distribuídos
Conceptos de Hardware – Conexiones MP Conceptos de Hardware – Conexiones MP basadas en bus y en Switchbasadas en bus y en Switch
Computer network & Distributed systems – Task4.3 37
Un multiprocesador basado en bus
1.7
Sistemas de Sistemas de Multiprocesador (1)Multiprocesador (1)
Computer network & Distributed systems – Task4.3 38
a) Un switch de barra fija b) Una red de omega switching
1.8
Sistemas de Sistemas de Multiprocesador (2)Multiprocesador (2)
Computer network & Distributed systems – Task4.3 39
a) Grid (Malla) b) Hipercubo
1-9
Sistemas de multiordenadores homogéneosSistemas de multiordenadores homogéneos
Computer network & Distributed systems – Task4.3 40
Un resumen entre DOS (Sistemas Operativos Distribuidos) NOS (Sistemas Operativos de Red) Middleware
Sistema DescripciónObjetivo principal
DOSSistema operativo acoplado firmemente para multiprocesadores y multiordenadores homogéneos
Esconde y gestiona los recursos del hardware
NOSSistemas operativos acoplados libremente para multiordenadores heterogéneos (LAN y WAN)
Ofrece servicios locales a clientes remotos
MiddlewareCapa adicional encima de NOS que implementa los servicios generales
Provee transparencia en la distribución
Conceptos de Software – Conceptos de Software – Sistemas OperativosSistemas Operativos
Computer network & Distributed systems – Task4.3 41
Las aplicaciones separadas del código de un sistema operativo a través de un microkernel.
1.11
Sistemas Operativos de Sistemas Operativos de UniprocesadorUniprocesador
Computer network & Distributed systems – Task4.3 42
Estructura general de un multiordenador DOS
1.14
Sistemas Operativos de Sistemas Operativos de Multiordenadores (1)Multiordenadores (1)
Computer network & Distributed systems – Task4.3 43
Alternativas para bloquear y almacenar en el tránsito de mensajes.
1.15
Sistemas Operativos de Sistemas Operativos de Multiordenadores (2)Multiordenadores (2)
Computer network & Distributed systems – Task4.3 44
Relation between blocking, buffering, and reliable communications.
Punto de sincronizaciónBuffer de envío
Fiabilidad garantizada?
El bloque de envío hasta que el buffer no esté lleno
Sí No necesario
El bloque de envío hasta que el mensaje se envíe
No No necesario
El bloque de envío hasta que se reciba el mensaje
No Necesario
El bloque de envío hasta que el mensaje sea entregado
No Necesario
Sistemas Operativos en Sistemas Operativos en Multiordenadores (3)Multiordenadores (3)
Computer network & Distributed systems – Task4.3 45
a) Páginas de direcciones distribuidas entre 4 máquinas
b) Situación después de la CPU 1 referencias página 10
c) Situación si la página 10 está como sólo lectura y se usa copia
Sistemas Distribuidos con Memoria Sistemas Distribuidos con Memoria Compartida (1)Compartida (1)
Computer network & Distributed systems – Task4.3 46
Falso reparto de una página entre dos procesos independientes
1.18
Sistemas Distribuidos conSistemas Distribuidos con Memoria compartida (2) Memoria compartida (2)
Computer network & Distributed systems – Task4.3 47
Estructura general de un sistema operativo de red (NOS).
1-19
Sistema Operativo de RedSistema Operativo de Red
Computer network & Distributed systems – Task4.3 48
Comparación entre sistemasComparación entre sistemas
Una comparación entre los sistemas operativos de multiprocesadores, multiordenadores, de red y sistemas distribuidos basados en middleware.
Item
OS Distribuido OS de
Red
Os basado en
MiddlewareMultiproc.
Multicomp.
Grado de transparencia
Muy alto Alto Bajo Alto
Mismo OS en todos los nodos
Sí Sí No No
Número de copias de OS
1 N N N
Bases para la comunicación
Memoria compartida
Mensajes ArchivosModelo específico
Gestión de los recursos
Global, central
Global, distribuido
Por nodo Por nodo
Escalabilidad No Moderado Sí Varía
Apertura Cerrado Cerrado Abierto Abierto
Computer network & Distributed systems – Task4.3 49
La organización general de un motor de búsqueda de internet en tres capas diferentes
1-28
Nivel de ProcesadoNivel de Procesado
Computer network & Distributed systems – Task4.3 50
Organizaciones alternativas cliente-servidor (a) – (e).
1-29
Arquitecturas Multicapa (1)Arquitecturas Multicapa (1)
Computer network & Distributed systems – Task4.3 51
Un ejemplo de un servidor comportándose como cliente.
1-30
Arquitecturas Multicapa (2)Arquitecturas Multicapa (2)
Computer network & Distributed systems – Task4.3 52
Un ejemplo de distribución horizontal de un servicio Web
1-31
Arquitecturas ModernasArquitecturas Modernas
Computer network & Distributed systems – Task4.3 53
Tres de los paradigmas de objetos distribuidos más populares son
Microsoft's Distributed Component Object Model (DCOM), OMG's
Common Object Request Broker Architecture (CORBA) y JavaSoft's
Java/Remote Method Invocation (Java/RMI).
Tanto en DCOM como en CORBA, las interacciones entre el proceso de
un cliente y el servidor objeto se implementan como estilo de
comunicaciones orientado a objetos RPC
Ver: http://my.execpc.com/~gopalan/misc/compare.html
CORBA, DCOM y Java/RMI (1)CORBA, DCOM y Java/RMI (1)
Computer network & Distributed systems – Task4.3 54
Estructura RPCRPC
CORBA, DCOM y Java/RMI (2)CORBA, DCOM y Java/RMI (2)
Computer network & Distributed systems – Task4.3 55
Organización general de un sistema CORBACORBA
CORBA, DCOM y Java/RMI (3)CORBA, DCOM y Java/RMI (3)
Computer network & Distributed systems – Task4.3 56
Organización general de ActiveXActiveX, OLEOLE, y COMCOM.
Resumen de DCOM (1)Resumen de DCOM (1)
Computer network & Distributed systems – Task4.3 57
Arquitectura global de DCOMDCOM.
Resumen de DCOM (2)Resumen de DCOM (2)
Computer network & Distributed systems – Task4.3 58
Prácticamente cualquier lenguaje de programación que tenga acceso al hardware completo del sistema podría manejar programación distribuida si se le da suficiente tiempo y código. El proceso remoto llama a los comandos del sistema operativo distribuido en una conexión de red. Los sistemas como CORBA, Microsoft D/COM, Java RMI y otros, intentan mapear los diseños orientado a objetos a la red. Los sistemas con acoplamientos libres que comunican a través de documentos intermedios que son típicamente lisibles por los humanos son XML, HTML, SGML, X.500, y EDI. Los lenguajes específicamente hechos a la medida para los programas distribuidos son:
1. Lenguaje de programación Ada2. Lenguaje de programación Alef3. Lenguaje de programación E4. Lenguaje de programación Erlang5. Lenguaje de programación Limbo6. Lenguaje de programación Oz etc.
Sistemas Distribuidos – Sistemas Distribuidos – LenguajesLenguajes
Computer network & Distributed systems – Task4.3 59
MPI es una interfaz de aplicación descriptiva de comunicaciones con un lenguaje independiente (API) con semánticas definidas e interpretaciones flexibles; Es por tanto un set de interfaces de tipo de capa -5+, aunque las implementaciones pueden cubrir más capas del modelo de referencia, con enchufes+TCP/IP
Los objetivos de MPI son alto rendimiento, escalabilidad y portabilidad.
MPI es un estándar para la comunicación entre los procesos modelando un programa paralelo en un sistema de memoria distribuida.
La mayoría de las implementaciones MPI consisten en un set específico de rutinas (API) llamado desde Fortran, C, o C++ y desde cualquier lenguaje capaz de interactuar con dichas librerías de rutina.
Ver: http://en.wikipedia.org/wiki/Message_Passing_Interface
Interfaz de Paso de Mensajes Interfaz de Paso de Mensajes (MPI) (MPI)
Computer network & Distributed systems – Task4.3 60
PreguntasPreguntas
1.Explica los términos “transparencia” y “escalabilidad” de los sistemas distribuidos.
2.Explica los términos: Taxonomías de computación, Clusters, Computación de Grid. Define la Taxonomía de Flynn de los sistemas.
3. Describe la organización de:
a) Sistemas de Multiprocesador b) Sistemas de Multiordenador
4. Explica los objetivos y posibilidades de la Interfaz de tránsito de mensajes (MPI).
Computer network & Distributed systems – Task4.3 61
Recursos adicionales:Recursos adicionales:
1.Hutchinson S.E., Sawer S.C. Computers and Information Systems, IRWIN, USA2.Walters E.G., The Essential Guide to Computing, Prentice Hall PTR, USA3.Andrew S. Tanenbaum, Maarten van Steen, Distributed Systems: Principles and Paradigms 4.http://en.wikipedia.org/wiki/Distributed_computing5.http://www.slideworld.com/slideshows.aspx/Distributed-Systems-part-1-ppt-5415006. http://research.cs.queensu.ca/home/xiao/DS/node9.html7.http://my.execpc.com/~gopalan/misc/compare.html8.http://en.wikipedia.org/wiki/Message_Passing_Interface 9.http://www.cis.upenn.edu/~lee/07cis505/Lec/lec-ch1-DistSys-v4.pdf
Computer network & Distributed systems – Task4.3 62
Top Related