Sistemas Distribuidos conceptos generales

8

Click here to load reader

Transcript of Sistemas Distribuidos conceptos generales

Page 1: Sistemas Distribuidos conceptos generales

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”

Page 2: Sistemas Distribuidos conceptos generales

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

Page 3: Sistemas Distribuidos conceptos generales

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

Page 4: Sistemas Distribuidos conceptos generales

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?

Page 5: Sistemas Distribuidos conceptos generales

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

Page 6: Sistemas Distribuidos conceptos generales

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”.

Page 7: Sistemas Distribuidos conceptos generales

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)

Page 8: Sistemas Distribuidos conceptos generales

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