Está en la página 1de 48

UNIVERSIDAD PERUANA LOS ANDES

FACULTAD DE INGENIERÍA
CARRERA PROFESIONAL DE INGENIERIA DE SISTEMAS Y
COMPUTACION

FTHM 2015 - I
SISTEMAS DISTRIBUIDOS
INTRODUCCIÓN A LOS SISTEMAS DISTRIBUIDOS
1
Mg. Freddy Toribio Huayta Meza
Antecedentes
Dos grandes avances tecnológicos en los 80’s
Desarrollo de microprocesadores
De una máquina de 10 millones de dólares que ejecuta una
instrucción por minuto, se pasa a máquinas de 1000

FTHM 2015 - I
dólares que ejecutan 10 millones de instrucciones por
seg..

Invención de redes
Posibilidad de conectar uno o más computadoras entre sí
•Roll Royce de 100 dólares con un billón de kilómetros por litro
2
•Tamaño manual para abrir puerta: 200 pgs.
Introducció n
• Redes de comunicación: Permiten conectar
decenas, centenas y todas las máquinas que se
requieran (Internet).
• Sistemas Operativos distribuidos que permitan

FTHM 2015 - I
cooperar y multiplicar la potencia del cálculo.

3
Desarrollos conceptuales
1960s 1970s 1980s
Ciclos experiencia requerimientos experiencia requerimientos
Ideas
clave Tiempo Estaciones de
Compartido trabajo Sistemas

FTHM 2015 - I
Computadoras abiertos,
como Cliente/Servidor escalables,
Gráficas tolerantes
herramientas
personales a fallas

Redes Redes Locales

MIT CTSS Xerox Dorado Sistema V - Stanford


Instituciones

Cambridge TSS Sun 1, Apollo Domain Sun NFS


Xerox Alto MIT: X-11, Argus 4
pilares

Tenex, Unix Xerox: DFS, Grapevine


Lisp machine CMU: Accent, Andrew
Sketchpad Berkeley Unix
Apple II Mach
ARPANET Newcastle Connection
Smalltalk Amoeba
Cambridge DCS
Aloha net Chrous
Ethernet, Cambridge Ring
Sistemas Distribuidos
• Conjunto de computadoras independientes que se
presenta a los usuarios como un sistema único.
• Aspectos
• El hardware : máquinas autónomas, es decir, que puedan operar sin
la supervisión de ninguna otra.

FTHM 2015 - I
• El software : Debe conseguir que los usuarios del sistema lo vean
como una máquina central convencional única

5
Sistemas Distribuidos
• Conjunto de entidades que se comunican entre
ellos a través de mensajes, los cuales son
enviados sobre vías de comunicación.
• Entidades:

FTHM 2015 - I
Procesos, computadoras, redes computadoras,
dispositivos, procesadores etc..

6
Elementos de Sistemas
Distribuidos
(1) Procesos
reciben, manipulan, transforman y emiten datos

FTHM 2015 - I
(2) Vías de comunicación
medio sobre el cual circulan los datos y que
forman una red local dotado de propiedades
estructurales y dinámicas.

7
Los procesos
- Término introducido por Dijkstra en 1968 para modelar las
relaciones entre diferentes unidades de ejecución
independientes que deben compartir recursos comunes,
(materiales y lógicos)

- En sistemas distribuidos, unidad de ejecución

FTHM 2015 - I
elemental de un algoritmo distribuido o paralelo; diversas de
esas unidades pueden ejecutarse simultáneamente, y cada
una es indivisible.

8
Las Vías de
Comunicación
• Medio a través del cual viajan los mensajes
• Sistema distribuido: vías de comunicación
virtuales

FTHM 2015 - I
• Propiedades:
1. Propiedades estructurales
2. Propiedades comportamentales
9
Propiedades
Estructurales
• Son de naturaleza topológica
• Se refiere a las mallas de comunicación
• Toda topología es posible según el problema
tratado y el algoritmo distribuido que lo

FTHM 2015 - I
resuelve.
• Estructuras más comunes:
1. Anillo
2. Estrella
3. Árbol
10
Propiedades
Comportamentales
Hipótesis sobre comportamiento de las vías de comunicación.

1. Transmisión se hace sin duplicación de mensajes


2. Transmisión sin alteración de mensajes
3. Entre dos procesos el orden de recepción de mensajes es
idéntico a su orden de emisión: no hay desplazamientos

FTHM 2015 - I
4. Tiempo de espera de un mensaje es finito, (aunque aleatorio), (no
hay perdida de mensajes).
5. Tiempo atención limitado => existe una cota superior si no hay
perdida de mensaje mensaje fue recibido en caso contrario mensaje
recibido o perdido

11
Características de los sistemas
distribuidos
• Uso de un sistema de comunicación.
• Ausencia de memoria común.
• Sincronización del trabajo.

FTHM 2015 - I
• Ausencia de un estado global perceptible por un
observador.
• Comunicación a través de mensajes.

12
Tolerancia a fallas
• Sistema distribuido que puede seguir
funcionando, (tal vez con un menor desempeño),
a pesar de que uno de sus componentes no este
funcionando (sistemas robustos).

FTHM 2015 - I
• Redundancia de hardware
• Recuperación de software

13
Confiabilidad
• Datos transmitidos a través de vías de
comunicación
• Posibilidad de pérdida y modificación de datos
(Capacidades de recuperación de datos)

FTHM 2015 - I
14
Disponibilidad
• Falla en una sola computadora multiusuario da
como resultado la no disponibilidad del sistema
para todos sus usuarios.
• Cuando uno de los componentes falla en un

FTHM 2015 - I
sistema distribuido solo el trabajo que estaba
usando el componente es afectado.
• Un usuario puede moverse a otra estación si la
que usa falla, o un servidor puede reinicializarse
en otra computadora.
15
Apertura del sistema
• Sistemas abiertos distribuidos proporcionan un
mecanismo de comunicación de procesos uniforme y
publican interfaces para el acceso a recursos
compartidos.

FTHM 2015 - I
• Pueden ser construidos a partir de software y hardware
heterogeneo.

16
Concurrencia
• Varios procesos se encuentran sobre una sola
computadora.
• Ejecución intercalada en el caso de un solo
procesador y simultanea si existen n

FTHM 2015 - I
procesadores.
• Ejecución paralela posible debido a:
• Varios usuarios invocan comandos o interactuan con
programas de aplicación.
• Varios procesos servidores se corren
concurrentemente. 17
Escalabilidad
• Sistemas distribuidos deben operar efectiva y
eficientemente en diferentes escalas.
• Sistema distribuido práctico más chico: dos
estaciones y un servidor de archivos.

FTHM 2015 - I
• Sistemas distribuidos grandes

18
Ventajas
- Relativamente fácil y económico poner en conjunto
sistemas compuestos de un gran número de
procesadores, (CPUs), conectados en red.

- Dos entidades trabajan más rápido que una sola.

FTHM 2015 - I
- Necesidad de sincronizar los trabajos de cada
componente

19
Objetivos
• Limitaciones geográficas
• Seguridad (En un sistema centralizado existe un
único punto de fallo)
• Aumento constante de Potencia de cómputo : Si

FTHM 2015 - I
la potencia del sistema llega a ser insuficiente
(Adquirir un nuevo equipo MainFrame vs
Adquirir computadoras personales)

20
Aspectos clave en el Diseño de los
Sistemas Operativos Distribuidos
• Tolerancia a fallas.
• Transparencia a la ocurrencia (El usuario no
debe notar otros usuarios en el sistema).
• Transparencia al paralelismo (Asignar los

FTHM 2015 - I
procesadores a las actividades del programa sin
el concurso del programador).
• Fiabilidad (Fiabilidad global del sistema).
• Escalabilidad (Habilitar crecimiento de acuerdo a
la demanda). 21
Aspectos Bá sicos de Diseñ o
de Sistemas Distribuidos
• Naming
• Comunicación
• Estructura software
• Asignación de carga

FTHM 2015 - I
• Consistencia

22
Naming
• Nombramiento de los diferentes recursos
• Nombres deben de tener significados globales
• Involucra las siguientes consideraciones:
• La elección del tamaño del nombre para cada tipo de

FTHM 2015 - I
recurso, (puede ser finito o potencialmente infinitio)
• Nombres deben de ser “mapeados” por
identificadores de comunicación
• Un nombre depende de su contexto, por lo que para
resolver un nombre es necesario el nombre y un
contexto
23
Comunicación
• Componentes separados lógica y físicamente, por lo que
necesitan comunicarse entre ellos para interactuar
• Comunicación involucra las operaciones siguientes:
• la transferencia de datos
• la sincronización de la recepción con la emisión

FTHM 2015 - I
• Dos enfoques en sistemas distribuidos:
• paso de mensajes
• llamado de procedimiento remoto
• Existen dos modelos:
• modelo de comunicación par a par
• modelo de comunicación grupal
24
Estructura software
• Sistemas centralizados son monolíticos:
• conjunto abstracciones que se ofrece a las aplicaciones
estan reunidas en una sola interfaz
• Sistemas distribuidos
• programas aplicación pueden accesar diferentes

FTHM 2015 - I
servicios , en el cual cada uno cuenta con su propia
interfaz para accesar recursos
• Principales niveles
• aplicaciones
• soporte de lenguaje de programación
• sistema operativo
• hardware 25
Asignación carga
• Dado un proceso, en donde se va a ejecutar
• Modelo simple la capacidad de memoria y el desempeño
de un procesador de una estación determina el tamaño
máximo de tarea que se puede ejecutar
• Modelos

FTHM 2015 - I
• modelo de servidor de estación
• modelo de piscina de procesadores
• modelo de la estación de trabajo
• modelo de memoria compartida distribuida

26
Consistencia
• Diferentes procesos accesan y actualizan datos
concurrentemente
• Los cambios no son instantaneos
• Un cierto conjunto de cambios debe de aparecer igual a
todos los otros procesos que integran el sistema

FTHM 2015 - I
distribuido.
• Tipos consistencia:
• consistencia de actualización
• consistencia de replica
• consistencia de caché
• consistencia de fallas
• consistencia de reloj
• consistencia de interfaz de usuario 27
Algoritmos Distribuidos
• Definición: abstracción lógica de un sistema distribuido,
se habla de un conjunto de procesos y de líneas de
comunicación virtuales
• Se habla de algoritmos concurrentes ejecutados en
diferentes procesadores,

FTHM 2015 - I
• Originalmente los algoritmos eran diseñados para
ejecutarse procesadores distribuidos en un área grande
• Hoy en día incluye algoritmos usados en redes de área
local y multiprocesadores que comparten memoria

28
Algoritmos distribuidos
aplicación
• Son los algoritmos que definen una aplicación
• Representan la interfaz final entre los usuarios y el
sistema distribuido

FTHM 2015 - I
• Se apoyan en arquitecturas de software como:
• CORBA: Common Object Request Broker Architecture
• COM: Component Object Model
• EJB: Enterprise JavaBeans

29
Algoritmos distribuidos control
• Están por abajo de las aplicaciones
• Proporcionan dos tipos de servicios
• Proveedor de primitivas
• exclusión mutua

FTHM 2015 - I
• envío/recepción mensajes
• control de concurrencia
• administración de archivos
• Observadores de propiedades
• interbloqueo
• terminación de la ejecución
• recolectores de basura
30
Algoritmos de aplicación y
control
A1 A2 ..... Ai
.... An

.
....

FTHM 2015 - I
CTL1 CTL2 ..... CTLi CTLn
.
Medio de soporte de comunicaciones

CTLi :control de la i-ésima aplicación


Ai: aplicación 31
Características algoritmos
distribuidos
• Desconocimiento del número de procesos
• Desconocimiento de la topología de la red
• Entradas independientes en sitios diferentes
• Varias programas ejecutandose al mismo tiempo,
empezando en tiempos diferentes y operando a

FTHM 2015 - I
diferentes velocidades
• No determinismo en el procesador (processor
nondeterminism)
• Tiempos entrega de mensajes diferentes
• Orden entrega de mensajes desconocido 32
• Fallas en la comunicación y en los procesos
Aplicaciones Algoritmos
Distribuidos
• Redes de computadoras
• Computadoras multiprocesadores

FTHM 2015 - I
• Redes inalámbricas - computación móvil

33
Problemas a Resolver en las
WAN’s
 Confiabilidad del intercambio de datos
 Selección de rutas de comunicación
 Control de tráfico

FTHM 2015 - I
 Prevención de cuellos de botella
 Seguridad

34
Problemas Comunes en
LAN’s
 Broadcasting y sincronización
 Detección de terminación

FTHM 2015 - I
 Asignación de recursos
 Mantenimiento archivos distribuidos

35
Computadoras
Multiprocesadores
 Computadora que consiste de diferentes procesadores
generalmente ubicados dentro de un mismo espacio
físico
 Procesadores homogéneos

FTHM 2015 - I
 Pequeña escala geográfica
 Objetivo principal:
 mejorar la velocidad del cálculo

36
Los Algoritmos Distribuidos
y
los Multiprocesadores
 Implementación sistema envío de mensajes
 Implementación memoria virtual compartida

FTHM 2015 - I
 Balance de carga
 Tolerancia a fallas

37
Procesos Cooperantes
 Procesos que interactuan para la solución de un
determinado problema, o para proporcionar un servicio
 Comparten memoria en común
 Trabajan sobre el mismo procesador

FTHM 2015 - I
 Ejemplo: sistemas operativos

38
Celdas de
Manufactura
Robots conectados entre ellos a través de un medio de comunicación,
cada uno desarrollando una actividad en particular, con un objetivo
global en común

- ensamblaje

FTHM 2015 - I
- control de un determinado sistema

39
Computación Móvil
 Wireless Local Area Networks o WLAN’s.
 Ausencia de cables como medio de comunicación.
 Envío/recepción de ondas electromagnéticas que viajan del emisor al
receptor a través del espacio.
 Computadoras desatadas (untethered o tetherless computer).

FTHM 2015 - I
 Computadoras y aplicaciones móviles.

40
Problemas Resueltos por
los
Algoritmos Distribuidos
• Ruteo
• Información de la ubicación de la unidad móvil (almacenamiento y
actualización)

FTHM 2015 - I
• Consistencia
• Seguridad
• Transferencias de llamadas

41
Algoritmos ¿distribuidos?

• ¿Qué distribuir?

FTHM 2015 - I
• Datos

• Control

42
Distribuyendo los datos
• La distribución puede tomar diversas formas:

• Duplicación

FTHM 2015 - I
• Particionamiento

43
La Duplicación de Datos
Existe duplicación de un dato x, si este se encuentra
duplicado en n ejemplares x1, x2 .... xn, donde 1,2, .... n
son los identificadores de los sitios que participan en
el algoritmo distribuido.

FTHM 2015 - I
Asegurar la coherencia mutua de las copias a todo
instantelas copias físicas xi tengan el mismo valor x
x1 = x2 = ...... xi ...... xn = x

44
Ejemplo de duplicación

Pierre 500
Pierre 500 Sam 700
Sam 700 Juan 900
Juan 900

FTHM 2015 - I
x2

x1
Pierre 500
Sam 700
Juan 900
45
x3
Partición de Datos
Hablamos de particionamiento de datos cuando, estando
accesibles desde todos los sitios, los datos son particionados de
tal forma que cada una de las particiones se encuentra sobre un
sitio dado

FTHM 2015 - I
Para obtener la totalidad de la información se tiene
que consultar a todo el mundo
I = (x1 + x2 + ... xi ... + xn)

46
Ejemplo de Partició n

Pierre 500 Sam 500

FTHM 2015 - I
x1 x2

Juan 900

x3 47
Distribuyendo el Control
• No existe una jerarquía estática
• No hay un proceso líder que en permanencia
asegure el control

FTHM 2015 - I
• Puede ser necesario un algoritmo de asignación de
funciones
• Muy a menudo depende del problema que se
intenta resolver

48

También podría gustarte