1. SISTEMAS DISTRIBUIDOS
LEPM 2014 - II
1
UNIVERSIDAD NACIONAL DE HUANCAVELICA
FACULTAD DE INGENIERÍA ELECTRÓNICA - SISTEMAS
ESCUELA ACADÉMICO PROFESIONAL DE SISTEMAS
INTRODUCCIÓN A LOS SISTEMAS DISTRIBUIDOS
Ing. Luís E. Pacheco Moscoso
2. 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
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
•Tamaño manual para abrir puerta: 200 pgs.
LEPM 2014 - II
2
3. Introducción
• Redes de comunicación: Permiten conectar
decenas, centenas y todas las máquinas que se
requieran (Internet).
• Sistemas Operativos distribuidos que permitan
cooperar y multiplicar la potencia del cálculo.
LEPM 2014 - II
3
4. Desarrollos conceptuales
1960s 1970s 1980s
experiencia requerimientos Ciclos experiencia requerimientos
Tiempo
Compartido
Gráficas
Redes
Computadoras
como
herramientas
personales
Estaciones de
trabajo
Cliente/Servidor
Redes Locales
Sistemas
abiertos,
escalables,
tolerantes
a fallas
Ideas
clave
Instituciones
pilares
Xerox Alto
Lisp machine
Apple II
Smalltalk
Aloha net
MIT CTSS
Cambridge TSS
Tenex, Unix
Sketchpad
ARPANET
Xerox Dorado
Sun 1, Apollo Domain
Xerox: DFS, Grapevine
Berkeley Unix
Newcastle Connection
Cambridge DCS
Ethernet, Cambridge Ring
Sistema V - Stanford
Sun NFS
MIT: X-11, Argus
CMU: Accent, Andrew
Mach
Amoeba
Chrous
LEPM 2014 - II
4
5. 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.
• El software : Debe conseguir que los usuarios del sistema lo vean
como una máquina central convencional única
LEPM 2014 - II
5
6. 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:
Procesos, computadoras, redes computadoras,
dispositivos, procesadores etc..
LEPM 2014 - II
6
7. Elementos de Sistemas
Distribuidos
LEPM 2014 - II
7
(1) Procesos
reciben, manipulan, transforman y emiten datos
(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.
8. Los procesos
LEPM 2014 - II
8
- 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 elemental
de un algoritmo distribuido o paralelo; diversas de esas
unidades pueden ejecutarse simultáneamente, y cada una
es indivisible.
9. Las Vías de
Comunicación
• Medio a través del cual viajan los mensajes
• Sistema distribuido: vías de comunicación
virtuales
• Propiedades:
1. Propiedades estructurales
2. Propiedades comportamentales
LEPM 2014 - II
9
10. 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
resuelve.
• Estructuras más comunes:
1. Anillo
2. Estrella
3. Árbol
LEPM 2014 - II
10
11. Propiedades
Comportamentales
LEPM 2014 - II
11
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
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
12. Características de los sistemas
distribuidos
• Uso de un sistema de comunicación.
• Ausencia de memoria común.
• Sincronización del trabajo.
• Ausencia de un estado global perceptible por un
observador.
• Comunicación a través de mensajes.
LEPM 2014 - II
12
13. 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).
• Redundancia de hardware
• Recuperación de software
LEPM 2014 - II
13
14. 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)
LEPM 2014 - II
14
15. 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
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.
LEPM 2014 - II
15
16. Apertura del sistema
• Sistemas abiertos distribuidos proporcionan un
mecanismo de comunicación de procesos uniforme y
publican interfaces para el acceso a recursos
compartidos.
• Pueden ser construidos a partir de software y hardware
heterogeneo.
LEPM 2014 - II
16
17. Concurrencia
• Varios procesos se encuentran sobre una sola
computadora.
• Ejecución intercalada en el caso de un solo
procesador y simultanea si existen n
procesadores.
• Ejecución paralela posible debido a:
• Varios usuarios invocan comandos o interactuan con
programas de aplicación.
• Varios procesos servidores se corren
concurrentemente.
LEPM 2014 - II
17
18. 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.
• Sistemas distribuidos grandes
LEPM 2014 - II
18
19. 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.
- Necesidad de sincronizar los trabajos de cada
componente
LEPM 2014 - II
19
20. Objetivos
• Limitaciones geográficas
• Seguridad (En un sistema centralizado existe un
único punto de fallo)
• Aumento constante de Potencia de cómputo : Si
la potencia del sistema llega a ser insuficiente
(Adquirir un nuevo equipo MainFrame vs
Adquirir computadoras personales)
LEPM 2014 - II
20
21. 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
procesadores a las actividades del programa sin
el concurso del programador).
• Fiabilidad (Fiabilidad global del sistema).
• Escalabilidad (Habilitar crecimiento de acuerdo a
la demanda).
LEPM 2014 - II
21
22. Aspectos Básicos de Diseño
de Sistemas Distribuidos
• Naming
• Comunicación
• Estructura software
• Asignación de carga
• Consistencia
LEPM 2014 - II
22
23. 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
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
LEPM 2014 - II
23
24. 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
• 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
LEPM 2014 - II
24
25. 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
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
LEPM 2014 - II
25
26. 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
• modelo de servidor de estación
• modelo de piscina de procesadores
• modelo de la estación de trabajo
• modelo de memoria compartida distribuida
LEPM 2014 - II
26
27. 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
distribuido.
• Tipos consistencia:
• consistencia de actualización
• consistencia de replica
• consistencia de caché
• consistencia de fallas
• consistencia de reloj
• consistencia de interfaz de usuario
LEPM 2014 - II
27
28. 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,
• 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
LEPM 2014 - II
28
29. Algoritmos distribuidos
aplicación
• Son los algoritmos que definen una aplicación
• Representan la interfaz final entre los usuarios y el
sistema distribuido
• Se apoyan en arquitecturas de software como:
• CORBA: Common Object Request Broker Architecture
• COM: Component Object Model
• EJB: Enterprise JavaBeans
LEPM 2014 - II
29
30. Algoritmos distribuidos control
• Están por abajo de las aplicaciones
• Proporcionan dos tipos de servicios
• Proveedor de primitivas
• exclusión mutua
• 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
LEPM 2014 - II
30
31. Algoritmos de aplicación y
control
....
.
Medio de soporte de comunicaciones
A1
CTL1
A2
CTL2
Ai
CTLi
An
CTLn
.....
..... ....
.
CTLi :control de la i-ésima aplicación
Ai: aplicación
LEPM 2014 - II
31
32. 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
diferentes velocidades
• No determinismo en el procesador (processor
nondeterminism)
• Tiempos entrega de mensajes diferentes
• Orden entrega de mensajes desconocido
• Fallas en la comunicación y en los procesos
LEPM 2014 - II
32
34. Problemas a Resolver en las
WAN’s
Confiabilidad del intercambio de datos
Selección de rutas de comunicación
Control de tráfico
Prevención de cuellos de botella
Seguridad
LEPM 2014 - II
34
35. Problemas Comunes en
LAN’s
Broadcasting y sincronización
Detección de terminación
Asignación de recursos
Mantenimiento archivos distribuidos
LEPM 2014 - II
35
36. Computadoras
Multiprocesadores
Computadora que consiste de diferentes procesadores
generalmente ubicados dentro de un mismo espacio
físico
Procesadores homogéneos
Pequeña escala geográfica
Objetivo principal:
mejorar la velocidad del cálculo
LEPM 2014 - II
36
37. Los Algoritmos Distribuidos
y
los Multiprocesadores
Implementación sistema envío de mensajes
Implementación memoria virtual compartida
Balance de carga
Tolerancia a fallas
LEPM 2014 - II
37
38. 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
Ejemplo: sistemas operativos
LEPM 2014 - II
38
39. 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
- control de un determinado sistema
LEPM 2014 - II
39
40. 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).
Computadoras y aplicaciones móviles.
LEPM 2014 - II
40
41. Problemas Resueltos por
los
Algoritmos Distribuidos
• Ruteo
• Información de la ubicación de la unidad móvil
(almacenamiento y actualización)
• Consistencia
• Seguridad
• Transferencias de llamadas
LEPM 2014 - II
41
43. Distribuyendo los datos
• La distribución puede tomar diversas formas:
• Duplicación
• Particionamiento
LEPM 2014 - II
43
44. 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.
Asegurar la coherencia mutua de las copias a todo
instantelas copias físicas xi tengan el mismo valor x
x1 = x2 = ...... xi ...... xn = x
LEPM 2014 - II
44
45. Ejemplo de duplicación
x1
x2
x3
Pierre 500
Sam 700
Juan 900
Pierre 500
Sam 700
Juan 900
Pierre 500
Sam 700
Juan 900
LEPM 2014 - II
45
46. 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
Para obtener la totalidad de la información se
tiene
que consultar a todo el mundo
I = (x1 + x2 + ... xi ... + xn)
LEPM 2014 - II
46
48. Distribuyendo el Control
• No existe una jerarquía estática
• No hay un proceso líder que en permanencia
asegure el control
• Puede ser necesario un algoritmo de asignación de
funciones
• Muy a menudo depende del problema que se
intenta resolver
LEPM 2014 - II
48