Sistemas Distribuidos Introducción. Generalidades Tanenbaum & Van Steen, Distributed Systems:...

Preview:

Citation preview

Sistemas Distribuidos

Introducción

Generalidades

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Contacto: Email: k.koroutchev@uam.es Tel. 91 497 3210.

Skype: knkoruchevTutorías: Desp. B355, previo acuerdo online (email).No se dan tutorías de tipo cual es mi nota o si puede subir 5

decimas (por supuesto si no se trata de error técnico).

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Definición de Sistema Distribuido

Un Sistema distribuido es:

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Definición de Sistema Distribuido

Un Sistema distribuido es:Un sistema en que fallo de un ordenador que ni

supones que existe puede hacer tu ordenador inútil.

“A DS is a system in which the failure of a computer that you even didn't know existed can render your

computer unusable”Leslie Lamp

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Definición de Sistema Distribuido

Un Sistema distribuido es:

Conjunto de independientes ordenadores (nodos) que se

presentan al usuario como un solo sistema coordinado que comunican

entre si solo intercambiando mensajes.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Que vamos a estudiar

• Los conceptos de SD• Modelos de SD• Técnicas de SD.

• Procesos remotos• Sistemas de ficheros remotos• Servicios WEB• …

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Porque estudiar SD

• Internet es importante.• WWW -- también.• Mobile y futuras tendencias.• Es el modelo de computo del futuro.• Es la manera de comunicaciones del

futuro.• Compartir recursos es esencial.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Importancia tecnica

• La razon de DS:• Compartir recursoso.• Tres puntos mas importantes:• Concurencia.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Importancia tecnica

• Puede mejorar la escalabilidad.• Mas fiabilidad (si casca una maquina

la puede sustituir otra).

• Ejemplo Space Shuttle Voting System IBM 1981.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Importancia tecnica• Es un reto. Otro modo de computación.• Características principales:

• Fallos independientes y fallos parciales. No son ctiticos para el funcionamiento del sistema.

• Concurrencia (ejecucion en el mismo tiempo de vartias tareas).

• Los nodos ejecutan en paralelo. Ejemplo Google.• Los mensajes son asincronos.• Duplicacion de tareas.

– PROBLEMAS COMUNES PARA ESTE TIPO DE SISTEMAS.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Importancia tecnica• Es un reto. Otro modo de computación.• Características principales:

• Fallos independientes y fallos parciales. No son ctiticos para el funcionamiento del sistema.

• Concurrencia (ejecucion en el mismo tiempo de vartias tareas).

• Los nodos ejecutan en paralelo. Ejemplo Google.• Los mensajes son asincronos.• Duplicacion de tareas.

– PROBLEMAS COMUNES PARA ESTE TIPO DE SISTEMAS.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Importancia tecnica• Es un reto. Otro modo de computación.• Características principales:

• Fallos independientes y fallos parciales. No son ctiticos para el funcionamiento del sistema.

• Concurrencia (ejecucion en el mismo tiempo de vartias tareas).

• Los nodos ejecutan en paralelo. Ejemplo Google.• Los mensajes son asincronos.• Duplicacion de tareas.

– PROBLEMAS COMUNES PARA ESTE TIPO DE SISTEMAS.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Importancia tecnica• Es un reto. Otro modo de computación.• Características principales:

• Fallos independientes y fallos parciales. No son críticos para el funcionamiento del sistema.

• Falta de reloj global.• Concurrencia (ejecución en el mismo tiempo de varias tareas).

• Los nodos ejecutan en paralelo. Ejemplo Google.• Los mensajes son asíncronos.• Duplicación de tareas.

– PROBLEMAS COMUNES PARA ESTE TIPO DE SISTEMAS.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

DESAFIOS (1)• Caso – hothotmail.• Heterogeneidad

• De hardware, de SO, de lenguajes de programacion, no hay “una mano”.

• Extensibilidad• Open systems.

• Seguridad• De datos (moviles muy actual).• De denegacion de servicio.• Fisica.

• Escalabilidad• Coste de recursos fisicos.• Coste de perdida de prestaciones.• Cuellos de botella.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

DESAFIOS (2)• Tratamiento de fallos.

• Deteccion de fallos.• Hacer el fallo invisible.• Sistemas tolerantes a fallos. ?Y si casca?• Recuperacion• Redundancia.

• Concurencia.• Sincronizacion de las tareas.• Nuevas paradigmas.

• Transparencia. El sistema tiene que aparecer como uno todo.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Problemas comunes• El problema de los 2 generales.

• Tienen que acordar el tiempo de ataque, pero solo con mensajeros. El mensajero pueden matarlo.

• Resolver?

• G1 envía a G2 mensaje.• G2 envía un ACK.• Así que G1 envía ACK de ACK.• No es posible de resolver estrictamente en el sentido

matemático.

• El nombre el problema – consenso.– Entre varios nodos (agree on a value).

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Escalabilidad

Figura 1-3. Ejemplos de diferentes arquitecturas.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

El problema de escala

Características de los algoritmos distribuidos:• Solo el conjunto de nodos tiene el estado del

proceso.• Los nodos hacen sus decisiones basadas a su

información local.• El fallo de una maquina no de arruinar el

proceso.• No existe reloj global.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Tipos de Transparencia en SD

Figure 1-2. Different forms of transparency in a distributed system (ISO, 1995).

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Fallos al desarrollar SD

Creencias falsas:• La red es fiable.• La red es segura.• La red es homogenea.• La topologia de conexiones no cambia.• El retardo de la red es insignificante.• El ancho de banda siempre sobra.• El coste de transporte es 0.• Hay (solo) un root todopoderoso.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Tendencias y perspectivas

Este es el futuro de la computación.

Tendencias actuales:• Ubicua (omnipresente)…• Previsiva (penetrante).• Móvil. Dinámica en sentido de localización física

y lógica.• De muy gran escala.• Servicios como valor económico (comodity).

Nube (Cloud).

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Tecnicas de escalado (1)

Figure 1-4. Reparto entre cliente y servidor. Comprobar los campos en el servidor o el cliente.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Scaling Techniques (2)

Figure 1-5. An example of dividing the DNS name space into zones.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Cluster Computing Systems

Figure 1-6. An example of a cluster computing system.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Grid Computing Systems

Figure 1-7. A layered architecture for grid computing systems.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Sistemas basadas a transacciones (1)

Figura 1-8. Ejemplo de operaciones de una transacción.

Se hace todo o nada {commit,abort}

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Transaction Processing Systems (2)

Características de sistemas basadas a transacciones:

• Atómico: De todos los efectos con demás procesos la operación es atómica.

• Consistente: No toca los inveriantes del SO.• Islamento: Dos transacciones en el mismo

tiempo no interfieren entre si.• Resultado permanente: Una vez con commit

el efecto es permanente.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Transaction Processing Systems (3)

Figura 1-9. Transacciones anidadas.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Transaction Processing Systems (4)

Figure 1-10. The role of a TP monitor in distributed systems.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Enterprise Application Integration

Figure 1-11. Middleware as a communication facilitator in enterprise application integration.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Definición de SD (2)

Fig 1-1. Interfaz middleware – para cada sistema local aparece de la misma manera. Los nodos son heterogéneos.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Distributed Pervasive Systems

Requerimientos de un sistema “penetrante”.

• Cambios de contexto.

• Configuración momentánea.

• Compartir recursos por defecto.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Case studyElectronic Health Care Systems (1)

Problemas:• Donde guardar los datos.• Como evitar la perdida de datos criticos.• Que infraestructura sera necesaria para

propagar alertas.• Como pueden los medicos dar una respuesta

online.• Como realizar un sistema de extrema robustez.• Seguridad de datos.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Electronic Health Care Systems (2)

Figure 1-12. Monitoring a person in a pervasive electronic health care system, using (a) a local hub or

(b) a continuous wireless connection.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Sensor Networks (2)

Figure 1-13. Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Sensor Networks (1)

Problemas:

• Como podemos configurar estructura eficiente de propagación de datos. (árbol???)

• Como agregar los resultados.

• La estructura no solo eficiente pero también robusta a fallos de nodos.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Sensor Networks (3)

Figure 1-13. Organizing a sensor network database, while storing and processing data … or (b) only at the sensors.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Modelos de SD (1)• El problema de los 2 generales.

• Tienen que acordar el tiempo de ataque, pero solo con mensajeros. El mensajero pueden matarlo.

• Resolver?

• G1 envía a G2 mensaje.• G2 envía un ACK.• Así que G1 envía ACK de ACK.• No es posible de resolver estrictamente en el sentido

matemático.

• El nombre el problema – consenso.– Entre varios nodos (agree on a value).

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Modelos de SD (2)

• Sistemas asíncronas.• No hay restricción de tiempo de recibir el mensaje.• No hay restricción de tiempo de calculo.

• Internet es asíncrono.• Es imposible de hacer consenso en un

sistema asíncrono.• Hay muchos problemas equivalentes al

consenso.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Modelos de SD (3)

• Sistema sincrono• Hay limite establecedo de propagacion del mensaje.• Hay limite del tiempo de calculo.

• LAN/Cluster es sincrtono.• En un S.S. el consenso se puede resolver

con N-1 crashes.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Modelos de SD (4)• Internet es CASI síncrono.

• En intervalos determinados el sistema no es síncrona, pero la enorme mayoría del tiempo si es síncrona.

• Partially synchronous system• Al principio no es síncrono.• El sistema se pone síncrona con probabilidad 1.

• Hay posibilidad de consenso.• Con menos de N/2 crashes.

• Failer detector• Crash (heartbeats).• En PSS se puede conseguir FD con probabilidad 1.

• Failers:• Crash• Bysantine fault.• Algoritmos auto estabilizantes.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Modelos de SD (5)• Bysantine Fault

• Manda información errónea.• No propaga/manda mensajes.• Satura la línea.

• Hay algoritmos que garantizan consenso con menos de 1/3 N failer.

• Self stabilizing• En principio puede estar incorrecto pero con el tiempo converge al estado

correcto.• Si el estado es correcto “legitime state” se queda correcto.• Si no lo es con probabilidad 1 se pone correcto.• Ejemplo token ring.

Recommended