Conceptos generales de sistemas distribuidos

Anuncio
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors
Conceptos generales de sistemas distribuidos
Sistema distribuido
“Un sistema en el que los componentes hardware
y/o software ubicados en computadores en
red, se comunican y coordinan sus acciones
intercambiando mensajes.” Coulouris
“Colección de ordenadores autónomos
enlazados por una red y soportados por
aplicaciones que hacen que la colección actúe
como un servicio integrado”
v.2005.09
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
2
1
Conceptos (I)
o
Proceso: Programa que se ejecuta en una máquina.
– En muchas máquinas pueden ejecutarse varios procesos a la vez.
o
Agente: Proceso conectado a la red.
– En ocasiones se denomina "agente" a un proceso que actúa sin control directo
del usuario, y que puede presentarse a la red como un usuario.
o
o
Cliente: Proceso que puede establecer conexiones a servidores y
enviar peticiones a él.
Agente de usuario: Cliente que representa al usuario.
– A menudo tienen interface de usuario, para que las personas puedan
controlarlo directamente.
o
Servicio: Parte de un sistema de computadores que gestiona una
colección de recursos y presenta una funcionalidad a los usuarios y a
las aplicaciones.
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2005.09
3
Conceptos (II)
o
Servidor: proceso que acepta conexiones de clientes y realiza
servicios para ellos.
– Un servidor puede atender varias peticiones simultáneas de varios clientes (1 o
varios procesos, uno para cada cliente).
o
Host: máquina conectada a la red que proporciona servicios.
– El mismo host puede tener varios procesos servidor que proporcionen diversos
servicios.
Cliente
Agente Usuario
Servidor
1-n procesos
Conexión
PC
v.2005.09
Host
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
4
2
¿Por qué sistemas distribuidos?
o
Funcionales: los computadores tienen diferentes funcionalidades.
Ejemplo: terminales/servidor.
o
Distribución del trabajo: los computadores se reparten el trabajo.
Ejemplo: SETI@home
o
Económicos: es más barato muchos ordenadores pequeños que
pocos muy grandes.
Ejemplo: Cluster distribuido (0,5 millones $) ~ ASCI While IBM (110 millones $)
o
Físicos: dispersos geográficamente.
Ejemplo estaciones meteorológicas.
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2005.09
5
Arquitecturas cliente/servidor
o
Distribución de sistemas en diferentes nodos y como se
comunican entre sí.
Servidor
Cliente
Cliente
p
Cliente
Servidor
p1
Servidor
Cliente
Cliente
Encadenado,
recursivo
Servidor
Servidor
v.2005.09
p2
p2
Servidor
Cliente
Servidor
p1
Cliente
Servidor
Servidor Servidor
Referencia, iterativo
p1
Cliente
Servidor
Cliente
Servidor
Servidor
Multicast, difusión
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
6
3
Otras arquitecturas
o
Descentralizado ~ Peer to Peer
Cli/Ser
P2P
Cli/Ser
Cli/Ser
o
Dispositivos móviles
o
Agentes móviles
o
Clientes Thin
Cli/Ser
Cliente
Cli/Ser
Servidor
+ Cliente
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2005.09
7
Desafíos de un SD (I)
o
Heterogeneidad: computadores, SO, redes, lenguajes de
programación,...
Windows/Linux/Mac/... o C/Java/...
o
Extensibilidad: sistema abierto, estándares públicos.
¿Navegar? TCP/IP y Visualizador HTML
o
Seguridad: confidencialidad, integridad, autenticación…
¿Quién es? ¿Alguién ha cambiado la información?
o
Escalabilidad: el sistema puede crecer.
¿Podríamos conectarnos todos a Internet?
v.2005.09
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
8
4
Desafíos de un SD (II)
o
Tolerancia a fallos: ante un fallo el resto del sistema sigue
funcionando.
¿Deja de funcionar Internet si falla mi ordenador? ¿y si falla Terra?
o
Concurrencia de los sistemas y procesos
¿Qué pasa si consultamos todos una misma web?
o
Transparencia: el usuario y los programas ven al sistema como un
todo.
¿Dónde está un servidor web? ¿Por dónde se pasa para llegar?
o
No existe el reloj universal
¿Todos los ordenadores tienen la misma hora?
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2005.09
9
Desafíos: Heterogeneidad y Transparencia
en redes
en sistemas distribuidos
Nivel aplicación
Nivel Transporte (TCP,UDP,RTP)
Middleware
Nivel IP
Sistema Operativo
Nivel Físico
Hardware
v.2005.09
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
10
5
Desafíos: Escalabilidad
Que un mecanismo pueda funcionar en entornos
pequeños o globales (número de máquinas,
distancia, ancho de banda, capacidad, etc.)
o Autonomía: número de mensajes…
o Distancia: temporizadores adaptables, concurrencia…
N(N-1) msg
O(N2)
¿Cómo hacer que un sistema sea escalable?
o Caché: ahorro al guardar copias por el camino…
o Distribución: repartir servicio entre servidores
separados.
o
Replicación: ofrecer el mismo servicio desde varios
lugares.
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2005.09
11
Desafíos: Concurrencia
Exclusión mutua
o Acceso a una zona crítica, ejemplo un fichero compartido accediendo
para modificarlo.
– Centralizado: un servidor centraliza el acceso.
– Anillo: paso de un token.
– Multicast: espera confirmación de todos.
– Quórum: espera confirmación de “algunos”.
v.2005.09
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
12
6
Desafíos: no Reloj universal
Caracterización Iteración
o Latencia es el tiempo que tarda
un dato en estar disponible desde
que se realiza su petición.
o Throughput Flujo de datos de
entrada o salida en una aplicación
o Síncrona
o Asíncrona
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2005.09
13
Desafíos: no Reloj universal
o ¿Tiempo?
– Sincronizar un reloj
Reloj = Marca + f(Latencia)
o ¿Orden?
v.2005.09
¿Causalidad?
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
14
7
Referencias
o
Coulouris, G., J. Dollymore y T. Kindberg. Sistemas
Distribuidos: Conceptos y Diseño. Addison-Wesley, 3
edition, 2001
–
–
–
–
–
–
–
v.2005.09
Capítulo 1: Caracterización Sistemas Distribuidos
Capítulo 2: Modelos de sistema
Capítulo 10: Tiempo y estados globales
Capítulo 11: Coordinación y acuerdo
Capítulo 12: Transacciones y control de concurrencia
Capítulo 13: Transacciones distribuidas
Capítulo 14: Replicación
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
15
8
Descargar