Unidad 1
TEMA: Caractersticas de los Sistemas
Distribuidos
Contenido
Historia y Definicin de sistemas
distribuidos (SD)
Ventajas y desventajas de los SD
Aplicaciones
Caractersticas Claves de SD
Cuestiones Bsicas de Diseo.
Bibliografa
Distributed Systems: Concepts and Design
G. Coulouris, J. Dollimore, T. Kindberg
Addison-Wesley, 2001
Traducciones al Espaol
Sistemas Distribuidos: Conceptos y Diseo
G. Coulouris, J. Dollimore, T. Kindberg
Addison-Wesley, 2001
Microelectrnica
Decada
1980
Disminucin de costos
Comercio Electronico
Informacin Distribuida (WWW)
Redes de Comunicacin
De Alta Velocidad
Contenido
Instituto Tecnolgico de Tepic
Sntomas de un SD
(Schroeder, 92)
Propiedades bsicas:
Adems, ...
Fallas independientes
Mltiples procesadores
(con memoria local)
Comunicacin no fiable
Interconexin (red de
comunicacin)
Comunicacin insegura
Comunicacin costosa
Ventajas de los SD
1
Economa:
Alto
rendimiento:
Soporte de
aplicaciones
inherentement
e distribuidas.
Capacidad de
crecimiento:
Buena relacin
rendimiento /costo
Avances en la
tecnologa de
microprocesadores y
redes de rea
local
Procesamiento
paralelo.
Escalabilidad.
Por ejemplo:
empresa distribuida
geogrficamente
Ventajas de los SD
5
Fiabilidad y
disponibilidad:
Carcter
abierto y
heterogneo:
Compartir
recursos y
datos.
Tolerancia a fallos
Estndares de
interoperabilidad.
Desventajas de los SD
1
Necesidad de un
nuevo tipo de
software:
Red de
interconexin
Seguridad y
confidencialidad
Ms complejo.
No hay todava un acuerdo
sobre cmo debe ser.
Prdida de mensajes y
saturacin.
Latencia puede provocar
que al recibir un dato ya est
obsoleto.
La red es un elemento
crtico.
problemas:
Contenido
Instituto Tecnolgico de Tepic
Aplicaciones de Sistemas
Distribuidos
Aplicaciones
Entornos empresariales: redes corporativas e intranets:
Sustituye a los clsicos mainframes.
Entornos de computacin de alto rendimiento:
Procesamiento paralelo, alternativa a costosos supercomputadores.
Servicios con alta disponibilidad y rendimiento.
Sistemas distribuidos de gestin de bases de datos
Aplicaciones multimedia.
Sistemas industriales distribuidos y aplicaciones de control.
Internet: un enorme sistema distribuido.
backbone
satellite link
desktop computer:
server:
network link:
Desktop
c omputers
Web server
email server
File server
print
other servers
the rest of
the Internet
router/firewall
Internet
Host intranet
WAP
gateway
Wireless LAN
Printer
Camera
Mobile
phone
Laptop
Home intranet
Host site
Transparencia
Fiabilidad o Tratamiento de fallos
Rendimiento
Elasticidad.
Seguridad.
Comparticin de recursos.
Sistema
Distribuido
Apertura o flexibilidad
Soporte a la concurrencia
Transparencia y Tipos de
Transparencia
1y2
3y4
5y6
7y8
Acceso:
Migracin:
Replicacin:
Crecimiento:
Manera de acceder a
recurso local igual que a
remoto.
Recursos
pueden
migrar sin afectar a los
usuarios.
El crecimiento del
sistema no afecta a
los usuarios.
Posicin:
Concurrencia:
La
existencia
de
rplicas no afecta a los
usuarios.
Se
accede
a
los
recursos sin conocer su
localizacin.
Acceso concurrente no
afecta a los usuarios.
Fallos:
La ocurrencia de fallos
no
afecta
a
los
usuarios.
Heterogeneidad:
Carcter Heterogneo
no
afecta
a
los
usuarios.
En los sistemas distribuidos los fallos son parciales (algunos componentes fallan mientras otros
siguen funcionando.
Tolerancia Fallos: La mayora de los servicios en Internet exhiben fallos (sus: clientes
pueden disearse para tolerar ciertos fallos, lo que implica que los usuarios tendrn que
tolerarlos generalmente.
Ejemplo:
Siempre deber de haber al menos 2 rutas diferentes entre cualesquiera de 2 routers en
Internet
En DNS, cada tabla de nombres se encuentra replicada en 2 servidores diferentes
Una BD puede encontrarse replicada en varios servidores para asegurar que los datos siguen
siendo accesibles tras el fallos de cualquier servidor concreto.
Ejemplo:
Navegador WEB no puede contactar con un servidor WEB
Ejemplo:
1.- Los mensajes pueden retransmitirse cuando falla la recepcin
2.- Los archivos con datos pueden escribirse en una pareja de discos
Instituto Tecnolgico de Tepic
Rendimiento
Rendimiento para un servicio multiusuario:
Objetivo: Rendimiento no peor que un sistema
centralizado.
Factores:
Uso de esquemas de caching.
Intentar que muchos accesos se hagan localmente.
Elasticidad o Capacidad de
Crecimiento o Escalabilidad
Cambios de escala = aumento del nmero
de usuarios y/o de recursos
Sistema elstico: conserva su eficacia y su
eficiencia ante cambios de escala
sin necesidad de cambios en el software de las
aplicaciones o del sistema
sin prdida significativa del rendimiento
con un costo controlado de los recursos fsicos
si hay muchos usuarios, se pueden aadir servidores
si un recurso es muy accedido, se puede replicar
Elasticidad o Capacidad de
Crecimiento
Ej: Acceso a recursos en Internet
Seguridad
La seguridad de los recursos de informacin tiene 3 componentes:
Confidencialidad (Proteccin contra el descubrimiento por individuos no autorizados)
Integridad (Proteccin contra alteracin o corrupcin)
Disponibilidad (Proteccin contra interferencia con los procedimientos de acceso a los recursos)
Comparticin de Recursos
Recurso: entidad til que se puede compartir
hardware: discos, impresoras
software: archivos, bases de datos
Comparticin de Recursos
La comparticin no es inmediata. Exige:
comunicacin entre computadoras
un programa que gestione el recurso
Modelo bsico:
Modelo Cliente-Servidor
Puede estar basado en Objetos
Instituto Tecnolgico de Tepic
Apertura o Flexibilidad
Posibilidad de extensin del hardware y/o software
(facilidad para incorporar cambios y extensiones al sistema)
Apertura o Flexibilidad
Si queremos:
acceder a ms recursos que los soportados por
el ncleo local
dar acceso a los recursos locales a clientes
remotos
Concurrencia
Contenido
Instituto Tecnolgico de Tepic
Nombramiento:
Comunicacin:
Mantenimiento de consistencia
Nombramiento
Necesidad de referencias a los recursos
nombres: usados por usuarios y programas
legibles por humanos
Nombres puros:
no interpretables, ni contienen informacin acerca de la
ubicacin del recurso
transparencia de migracin
Instituto Tecnolgico de Tepic
Comunicacin
La comunicacin entre dos procesos causa:
transferencia de datos de un entorno al otro
adems, puede causar sincronizacin de sus actividades
asncronas (o no-bloqueantes):
uso de buffers o de colas de mensajes
Comunicacin cliente-servidor
Implica dos mensajes
Sincronizacin: el cliente se bloquea hasta
recibir la respuesta
Se suele presentar al nivel de lenguaje como:
invocacin remota (IMR o LPR)
en trminos de un protocolo solicitud-respuesta
Aplicaciones
Soporte a Lenguajes
de Programacin
Sistema Operativo
Hardware
Categoras
Distribuido
del
software
de
un
Sistema
Plataforma
- Plataforma. El nivel de hardware y las capas mas bajas de software se denominan plataforma
para sistemas distribuidos y aplicaciones. Estas capas mas bajas proporcionan servicios a las
capas que estn por encima de ellas y que son implementadas independientemente en cada
computador, proporcionando una interfaz de programacin del sistema a un nivel que facilita la
comunicacin y coordinacin entre procesos.
Ejemplo: Windows para Intel X86, Sun OS para Sun SPARC, Solaris para Intel X86, Mac
OS para power PC, Linux para Intel X86 .
Middleware
Middleware:
Capa de software que ejecuta sobre el sistema operativo local ofreciendo unos servicios distribuidos
estandarizados.
Sistema abierto independiente del fabricante.
No depende del hardware y sistema operativo subyacente.
Ejemplos:
DCE (Open Group).
CORBA (OMG).
...
Middleware
SO
SO
SO
Hardware
Hardware
Hardware
Modelos y Arquitectura
de Sistema Sistemas Distribuidos
Arquitecturas de Hardware:
Modelo punto a punto
Modelo de Cliente-Servidor
Modelo Arquitectnico:
Definicin
Un modelo arquitectnico de un sistema distribuido simplifica
y abstrae, inicialmente, las funciones de los componentes
individuales de dicho sistema y posteriormente considera:
La ubicacin de los componentes en la red de computadoras, buscando
definir patrones utilizables para la distribucin de datos y carga de
trabajo.
Las interrelaciones entre componentes, es decir, sus papeles
funcionales y los patrones de comunicacin entre ellos.
Modelo Arquitectnico:
Variaciones del modelo C/S
Se pueden construir otros sistemas
variaciones del modelo Cliente/Servidor:
dinmicos
como
Arquitectura de sistemas:
Fig. 2.2 modelo Cliente-Servidor
Client
invocation
result
Client
invocation
Server
result
Server
Key:
Process:
Computer:
Server
Client
Server
Client
Server
Client
Proxy
server
Client
Web
server
Application
Coordination
code
Coordination
code
Application
Coordination
code
Client
Applet code
Web
server
Client
Applet
Web
server
Network computer or PC
Thin
Client
network
Application
Process
Mantenimiento de la consistencia
Problema:
concurrencia + separacin
de actualizacin
de replicacin
de cache
Tipos de
Consistencia
de fallo
de reloj
de interfaz de
usuario
Mantenimiento de la consistencia
Consistencia de actualizacin:
Al modificar un conjunto de datos relacionados:
no es posible hacerlos todos de forma instantnea
se necesita que para los dems procesos sean atmicos
Consistencia de replicacin:
Inconsistencia entre copias de los mismos datos
Rplicas actualizadas en rdenes distintos
Instituto Tecnolgico de Tepic
Mantenimiento de la consistencia
Consistencia de cache:
cache = conservacin de datos en el cliente
muy dependiente de la localidad de referencia
no afecta al diseo de los servidores
Mantenimiento de la consistencia
Consistencia de fallo:
Sistema centralizado: modo de fallo simple
SD: modos de fallo mltiples
si un componente falla, los otros pueden seguir
pero si estaban cooperando: resultado impredecible
Consistencia de reloj:
En SD: uso intensivo de sellos temporales
necesidad de sincronizacin: mediante mensajes
problema: el tiempo de un envo no es predecible
pero nos basta con ordenar eventos: relojes lgicos