Conceptos generales de sistemas distribuidos

FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors Conceptos generales de sistemas distribuidos Sistema distribuido “Un ...
1 downloads 0 Views 47KB Size
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