Está en la página 1de 25

Taller de Procesamiento

Distribuido
Ing. Carlos Enrique Chinga Ramos
Silabo
Introducción
La creciente necesidad de comunicación a todos los niveles entre
particulares y organizaciones ha extendido el uso de los sistemas
de comunicación entre ordenadores, desde las redes de área local y las
redes de área extensa hasta Internet.

Los sistemas distribuidos suponen un paso más en la evolución de los


sistemas informáticos, entendidos desde el punto de vista de las
necesidades que las aplicaciones plantean y las posibilidades que la
tecnología ofrece
Computación Distribuida
La computación distribuida o informática en malla (grid) es un
modelo para resolver problemas de computación masiva utilizando un
gran número de ordenadores organizados en clústeres incrustados en
una infraestructura de telecomunicaciones distribuida

Un sistema distribuido es una colección de computadoras


independientes que dan al usuario la impresión de constituir un único
sistema coherente
Computación Distribuida (cont…)
Conjunto de ordenadores interconectados
mediante una red que colaboran para la
realización de alguna tarea en conjunto.

Los ordenadores (nodos) que forman un


sistema distribuido mantienen un estado
compartido. Esto requiere una
coordinación entre ellos para mantener
ese estado consistentemente (paso de
mensajes)
¿Qué es un Sistema Distribuido?
• Un sistema distribuido es una colección de elementos
de procesamiento autónomos que aparece a sus
usuarios como un único sistema coherente.
Libro Sistemas distribuidos Tercera edición de Maarten van Steen y Andrew S. Tanenbaum
Características de los Sistemas distribuidos
1. Colección de elementos informáticos autónomos. Desde
mainframes hasta dispositivos móviles, ah estos elementos se le
llaman nodos y están programados para alcanzar objetivos comunes
que se realizan mediante intercambio de mensajes entre si.
 ¿Como se gestiona la membresía de esta colección?
 Cada nodo tiene su propia gestión del tiempo, como se gestiona
el tiempo como sistema distribuido, ¿habrá un reloj global?
 La organización de un sistema distribuidos
 Superposición estructurada
 Superposición no estructurada

2. Sistema único y coherente. A pesar de la complejidad de la


integración, un Sistema distribuido debe ofrecer una visión única y
coherente, para tal efecto se hace uso de los Middleware
Middleware

• Middleware es un Software que proporciona servicio a aplicaciones


de Software.
• Facilita a lo programadores la implementación de la comuniccion y el
Input/output, para que se puedan concentrar específicamente en su
aplicacion.
• Un taller de IETF en 2000 definió el middleware como "aquellos
servicios que se encuentran sobre el conjunto de servicios de la capa
de transporte (es decir, sobre TCP / IP) pero debajo del entorno de la
aplicación" (es decir, debajo de las API de nivel de aplicación )
Servicios del Middleware típicos:
• Comunicación. Permite a una aplicación invocar a una función en
una computadora remota.
• Transacciones. Ejerce de forma especial las tareas, todo o nada.
• Composición de servicios. Permite reutilizar componentes de
aplicaciones existentes sobre todo basadas en web, conocidos como
los mashups
• Confiabilidad. Garantiza que el procesamiento es el correcto, ya que
el mensaje enviado es garantizado para ser recibido por todo o
ningún otro proceso.
Ejemplos de Middleware
• Los servicios que se pueden considerar como middleware incluyen la integración
de aplicaciones empresariales , integración de datos , middleware orientado a
mensajes (MOM), Object Request Broker (ORB), y el bus de servicios
empresariales (ESB).
• Los servicios de acceso a bases de datos a menudo se caracterizan como
middleware. Algunos de ellos son implementaciones específicas del lenguaje y
admiten características heterogéneas y otras características de comunicación
relacionadas. Ejemplos de middleware orientado a bases de datos
incluyen ODBC , JDBC y monitores de procesamiento de transacciones .
• El middleware del sistema informático distribuido se puede dividir libremente en
dos categorías: las que proporcionan servicios de tiempo humano (como el
servicio de solicitud web) y las que funcionan en tiempo de máquina. Este último
middleware está algo estandarizado a través del Service Availability Forum [ y se
usa comúnmente en sistemas complejos e integrados dentro de las industrias
de telecomunicaciones, defensa y aeroespacial, entre otros.
Objetivos de los Sistemas Distribuidos

Tolerancia de fallos
Escalabilidad:
Fallos en cada componente
No fiabilidad de las comunicaciones
Coste de las comunicaciones
Mantenimiento de la consistencia

11
Tolerancia de fallos
• Una consecuencia de tal estado compartido es
precisamente la capacidad de los sistemas distribuidos
para tolerar fallos en alguno de sus componentes. En
un sistema centralizado el estado se mantiene en un
único ordenador, el servidor, de modo que el fallo de este
(o cualquier reparación, sustitución, etc. a que deba
someterse) hace que el sistema deje de estar disponible.
• Por el contrario, un sistema distribuido cuenta con
diversas de unidades de cómputo y de buena gestión de
recursos, y por lo tanto una menor probabilidad de
fallo de todo el sistema.

12
Escalabilidad
• Para aumentar la capacidad de servicio de un sistema centralizado no
existe más alternativa que sustituir el servidor por una máquina más
potente. En cambio un sistema distribuido puede aumentar su
capacidad añadiendo nuevos nodos al sistema existente.
• A cambio de las ventajas ofrecidas, los sistemas distribuidos son
notablemente más complejos que los centralizados.
• En particular es preciso contemplar en su diseño una serie de
cuestiones específicas:
• Fallos en cada componente
• No fiabilidad de las comunicaciones
• Coste de las comunicaciones
• Mantenimiento de las consistencia

13
Escabilidad (Cont..)
Fallos en cada componente
En un sistema distribuido no existe un servidor central cuyos
fallos inutilicen el sistema. Sin embargo, cada uno de los
ordenadores que lo forma puede fallar independientemente. El
sistema debe diseñarse de modo que sus especificaciones sigan
siendo respetadas aunque falle algún componente aislado

14
Escabilidad (Cont..)
No fiabilidad comunicaciones
Igualmente el diseño debe tener en cuenta la imperfección del sistema
de comunicaciones entre nodos, y la posibilidad de pérdidas, desorden
y duplicación en los mensajes

15
Escabilidad (Cont..)
Coste de las comunicaciones
En general los canales de comunicación que interconectan los
distintos nodos de un sistema distribuido tienen mayor retardo y
coste que los que conectarían distintos procesos dentro del mismo
ordenador

16
Escabilidad (Cont..)
Mantenimiento de la consistencia
Si la solución adoptada pasa por la replicación, en cada uno de los
nodos, de la información necesaria para que la aplicación realice
sus tareas, resulta imprescindible realizar una gestión adecuada de
la consistencia de cada una de las vistas que los diferentes nodos
tengan de esa información global. Esto obliga a que se incluya en
el diseño algoritmos específicos que proporcionen, en cada caso, las
garantías suficientes para el correcto funcionamiento de las
aplicaciones

17
Alta disponibilidad
• La técnica fundamental para mejorar la disponibilidad de un
servicio es la replicación de los componentes que lo proporcionan.
• Cada réplica de un mismo componente se ubicará en un nodo
diferente del sistema, de modo que si un componente falla, una de
sus réplicas puede atender el servicio correspondiente

18
Escalabilidad
• La forma en que se integre cada unidad computacional en el
sistema influye también en las prestaciones y en la escalabilidad de
los servicios que ofrezca este

19
Consistencia
• Es la garantía que se proporcionan acerca de la visibilidad de los
cambios realizados en la información que se replica.
• Idealmente, cuando en un sistema replicado uno de los nodos
realiza una modificación, esta modificación debería poder ser
observada en todos y cada uno de los nodos antes de poder realizar
ninguna otra operación

20
TIPOS DE SISTEMAS
DISTRIBUIDOS

21
Tipos de Sistemas Distribuidos
• Los sistemas de clasifican en:
• Computación en Cluster
• Computación en Grid

22
Sistemas de computo en clúster
• La computación en cluster se utiliza
para la programación en paralelo
donde un solo programa (de calculo
intensivo) corren en paralelo en
múltiples maquinas.
• Cada cluster consta de una
colección de nodos (homogeneos) y
se accede a ellos mediante un solo
nodo maestro con una cola de
procesamiento.

23
Sistema de computo en Grid
• Tiene un alto grado de
heterogeneidad, cuyo objetivo es
reunir los recursos de diferentes
organizaciones para permitir la
colaboración de un grupo de personas
o instituciones.
• Por esta razón. Con frecuencia la
atención esta puesta en asuntos de
arquitecturas

24
Sistema de computo en grid

Aplicaciones

Capa colectiva

Capa conectividad Capa de recursos

Capa de fabricación

25

También podría gustarte