Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos...

62
Introducción a los Introducción a los sistemas industriales sistemas industriales 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

Transcript of Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos...

Page 1: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 2: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 3: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 4: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 5: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 6: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 7: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 8: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 9: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 10: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 11: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 12: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 13: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 14: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 15: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 16: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 17: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 18: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 19: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 20: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 21: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 22: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 23: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 24: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 25: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 26: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Computer network & Distributed systems – Task4.3

Continuo de Sistemas DistribuidosContinuo de Sistemas Distribuidos

26

Page 27: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Computer network & Distributed systems – Task4.3

Arquitecturas DS y PPS Arquitecturas DS y PPS

27

Page 28: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 29: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 30: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 31: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 32: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 33: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 34: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 35: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 36: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 37: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 38: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Un multiprocesador basado en bus

1.7

Sistemas de Sistemas de Multiprocesador (1)Multiprocesador (1)

Computer network & Distributed systems – Task4.3 38

Page 39: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 40: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

a) Grid (Malla) b) Hipercubo

1-9

Sistemas de multiordenadores homogéneosSistemas de multiordenadores homogéneos

Computer network & Distributed systems – Task4.3 40

Page 41: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 42: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 43: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 44: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 45: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 46: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 47: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 48: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 49: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 50: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 51: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Organizaciones alternativas cliente-servidor (a) – (e).

1-29

Arquitecturas Multicapa (1)Arquitecturas Multicapa (1)

Computer network & Distributed systems – Task4.3 51

Page 52: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Un ejemplo de un servidor comportándose como cliente.

1-30

Arquitecturas Multicapa (2)Arquitecturas Multicapa (2)

Computer network & Distributed systems – Task4.3 52

Page 53: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Un ejemplo de distribución horizontal de un servicio Web

1-31

Arquitecturas ModernasArquitecturas Modernas

Computer network & Distributed systems – Task4.3 53

Page 54: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 55: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Estructura RPCRPC

CORBA, DCOM y Java/RMI (2)CORBA, DCOM y Java/RMI (2)

Computer network & Distributed systems – Task4.3 55

Page 56: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 57: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Organización general de ActiveXActiveX, OLEOLE, y COMCOM.

Resumen de DCOM (1)Resumen de DCOM (1)

Computer network & Distributed systems – Task4.3 57

Page 58: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

Arquitectura global de DCOMDCOM.

Resumen de DCOM (2)Resumen de DCOM (2)

Computer network & Distributed systems – Task4.3 58

Page 59: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 60: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 61: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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

Page 62: Introducción a los sistemas industriales Módulo 4: Redes Informáticas y Sistemas Distribuidos Tarea 4.3 – Sistemas de proceso distribuidos y paralelos.

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