Post on 12-Jun-2015
1
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOSDepartament d’Arquitectura de Computadors
Conceptos generales de sistemas distribuidos
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
2v.2005.09
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ónomosenlazados por una red y soportados por
aplicaciones que hacen que la colección actúe como un servicio integrado”
2
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
3v.2005.09
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 Cliente: Proceso que puede establecer conexiones a servidores y enviar peticiones a él.
o 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
4v.2005.09
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.
HostPC
ClienteAgente Usuario
Servidor1-n procesos
Conexión
3
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
5v.2005.09
¿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
6v.2005.09
Arquitecturas cliente/servidor
o Distribución de sistemas en diferentes nodos y como se comunican entre sí.
Servidor
Cliente Cliente Cliente
Servidor
Servidor
p1
p2
p1 p1
p2
Servidor
Cliente Cliente
Cliente
p
Cliente
ServidorServidor
ServidorCliente
Servidor Servidor
Servidor
Servidor
Cliente
Servidor
Servidor
Encadenado,recursivo
Referencia, iterativo Multicast, difusión
4
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
7v.2005.09
Otras arquitecturas
o Descentralizado ~ Peer to PeerP2P
o Dispositivos móviles
o Agentes móviles
o Clientes Thin
Cli/Ser
Cli/Ser
Cli/Ser
Cli/Ser
Cli/Ser
Servidor+ Cliente
Cliente
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
8v.2005.09
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?
5
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
9v.2005.09
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
10v.2005.09
Desafíos: Heterogeneidad y Transparencia
Nivel Físico
Nivel Transporte (TCP,UDP,RTP)
Nivel IP
Hardware
Sistema Operativo
Middleware
Nivel aplicación
en redes en sistemas distribuidos
6
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
11v.2005.09
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…
¿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.
N(N-1) msgO(N2)
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
12v.2005.09
Desafíos: Concurrencia
Exclusión mutuao 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”.
7
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
13v.2005.09
Desafíos: no Reloj universal
Caracterización Iteracióno Latencia es el tiempo que tarda
un dato en estar disponible desdeque se realiza su petición.
o Throughput Flujo de datos de entrada o salida en una aplicación
o Síncronao Asíncrona
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
14v.2005.09
Desafíos: no Reloj universal
o ¿Tiempo?– Sincronizar un reloj
o ¿Orden? ¿Causalidad?
Reloj = Marca + f(Latencia)
8
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors - UPC
15v.2005.09
Referencias
o Coulouris, G., J. Dollymore y T. Kindberg . Sistemas Distribuidos: Conceptos y Diseño. Addison-Wesley, 3 edition, 2001– 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