Sistemas Distribuidos conceptos generales

612 views

Published on

  • Be the first to comment

  • Be the first to like this

Sistemas Distribuidos conceptos generales

  1. 1. 1 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors Conceptos generales de sistemas distribuidos FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 2 v.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ónomos enlazados por una red y soportados por aplicaciones que hacen que la colección actúe como un servicio integrado”
  2. 2. 2 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 3 v.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 4 v.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 hostpuede tener varios procesos servidor que proporcionen diversos servicios. HostPC Cliente Agente Usuario Servidor 1-n procesos Conexión
  3. 3. 3 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 5 v.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 6 v.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 Servidor Cliente Servidor Servidor Servidor Servidor Cliente Servidor Servidor Encadenado, recursivo Referencia, iterativo Multicast, difusión
  4. 4. 4 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 7 v.2005.09 Otras arquitecturas o Descentralizado ~ Peer to Peer P2P 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 8 v.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. 5. 5 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 9 v.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 10 v.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. 6. 6 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 11 v.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) msg O(N2) FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 12 v.2005.09 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”.
  7. 7. 7 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 13 v.2005.09 Desafíos: no Reloj universal Caracterización Iteración o Latencia es el tiempo que tarda un dato en estar disponible desde que se realizasu 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 14 v.2005.09 Desafíos: no Reloj universal o ¿Tiempo? – Sincronizar un reloj o ¿Orden? ¿Causalidad? Reloj = Marca + f(Latencia)
  8. 8. 8 FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS Departament d’Arquitectura de Computadors- UPC 15 v.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

×