jorge iván meza martínez [email protected] especialización...

28
1/28 Introducción a los sistemas distribuidos Jorge Iván Meza Martínez [email protected] Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia – Sede Manizales

Upload: others

Post on 14-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

1/28

Introducción a los sistemas distribuidos

Jorge Iván Meza Martí[email protected]

Especialización en Gestión de Redes de DatosUniversidad Nacional de Colombia – Sede Manizales

Page 2: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

2/28

Contenidos

● Definiciones● Propósito principal● Consecuencias de la distribución● Esquema general de la comunicación● Desafíos

Page 3: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

3/28

Evaluación pre-contenido

1.Qué es un sistema distribuido ?

2.Cuál es la ventaja de los sistemas distribuidos frente a los centralizados ?

3.Cuáles son las dificultades que se debe enfrentar al diseñar e implementar un sistema distribuido ?

Page 4: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

4/28

Definición

Un sistema distribuido es aquel en el que sus componentes (hardware y software) se encuentran localizados en computadores, conectados a una red, comunican y coordinan sus acciones únicamente mediante el paso de mensajes a través de un protocolo establecido.

Page 5: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

5/28

Definición

Un sistema distribuido se compone de un grupo de computadores autónomos, enlazados mediante una red y equipados con un software de sistemas distribuidos. Este software permite que los computadores coordinen sus actividades y compartan recursos.

Page 6: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

6/28

Definición

Los usuarios de un sistema distribuido bien diseñado deberían percibir un sistema de computación único e integrado, aun cuando las máquinas estén dispersas geográficamente.

(c,d,k, 1998)

Page 7: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

7/28

Definición

Un sistema distribuido es un grupo de computadores independientes que son percibidas por los usuarios como un único computador.

(tanenbaum, 1995)

Page 8: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

8/28

Definición

You know you have a distributed system when the crash of a computer you’ve never heard of stops you

from getting any work done.

- Leslie Lamport

Page 9: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

9/28

Propósito principal

Optimizar recursos mediante el aprovechamiento de la infraestructura (hardware, software, información, etc.) que no necesariamente se dispone local.● Bajo costo de servidores pequeños (memoria,

procesador) vs servidores centrales costosos.● Redes de prestaciones medias disponibles.● Recursos críticos que debían ser compartidos.

Ejemplos cotidianos: Internet (www, ftp, mail, video, …) y, la computación móvil y ubícua.

Page 10: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

10/28

Consecuencias de la distribución

● Concurrencia → coordinación de recursos● Inexistencia de reloj global → sincronización● Fallos independientes → tolerancia

Page 11: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

11/28

Esquema general de la comunicación

Red Servidor(Proceso)

Usuario

Cliente

Solicitud (request)

Respuesta (response)

Page 12: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

12/28

Desafíos

● Heterogeneidad● Extensibilidad● Seguridad● Escalabilidad● Tratamiento de fallos● Concurrencia● Transparencia

Page 13: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

13/28

Actividad

En grupos de dos estudiantes realizar la lectura de los desafíos y realizar una presentación en la que se comparta la explicación del desafío a enfrentarse, sus posibles alternativas de mitigación y ejemplos de esta.

Page 14: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

14/28

Desafío: heterogeneidad

Aplica sobre los siguientes elementos.

● Redes● Hardware de computadores● Sistemas operativos● Lenguajes de programación● Implementaciones de diferentes desarrolladores● Diferentes representaciones de la información

Page 15: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

15/28

Desafío: heterogeneidad

Middleware

Es una capa de software adicional que se agrega al sistema para abstraer la heterogeneidad subyacente y enmascarando sus detalles de implementación específicos (redes, hardware, sistemas operativos, lenguajes de programación, etc) permitiendo además un modelo computacional uniforme para el acceso a los recursos.

Ejemplos: Corba, Java VM, Java RMI, Java JDBC, Globus.

Page 16: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

16/28

Desafío: heterogeneidad

Código móvil

Instrucciones de código que pueden ser enviadas desde un computador a otro para ser ejecutadas en este último.

Es dependiente de la plataforma/arquitectura donde se vaya a ejecutar.

Ejemplos: controles ActiveX, Applets Java

Page 17: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

17/28

Desafío: extensibilidad

Nivel o grado en el cual se pueden añadir nuevos servicios de compartición de recursos al sistema y ponerlos a disposción de los clientes.● Se requiere acceso a las interfaces de los nuevos

módulos (por ejemplo las Request For Comments de Internet).

● Mecanismo de comunicación uniforme.● Conformidad de estándares.

Page 18: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

18/28

Desafío: seguridad

● La distribución física incluye nuevos puntos de fallo a accesos no autorizados incluyendo el transporte de la información y su entrega.

● La información del sistema es de alto interés para los usuarios.

● Tres componentes:– Confidencialidad: sólo para individuos autorizados.

– Integridad: sin alteraciones ni pérdidas

– Disponibilidad: sin pérdida de acceso

Page 19: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

19/28

Desafío: escalabilidad

Un sistema es escalable si conserva su efectividad después de un incremento significativo en sus recursos y/o número de usuarios que lo acceden.● Control del coste de los recursos físicos →

actualizar el sistema a un costo razonable para atender la demanda.

● Control de las pérdidas de prestaciones → comportamiento frente al aumento de demanda.

● Prevención del desbordamiento de recursos de software → previsión de la infraestructura (IPV4).

Page 20: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

20/28

Desafío: escalabilidad

● Evitar cuellos de botella → soluciones descentralizadas.

Es complejo de lograr pero idóneo. Algunas técnicas.● Replicación de datos.● Uso de cachés.● Uso de múltiples servidores → concurrencia.

Page 21: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

21/28

Desafío: tratamiento de fallos

Los fallos sucederán → manejarlos de la mejor manera posible de forma que no interrumpa el servicio.● Detección de fallos → identificarlos antes de

consecuencias graves.● Enmascaramiento de fallos → reintentar de forma

que no sea visible el problema.● Tolerancia de fallos → manejar de manera

inteligente los problemas, inclusive informarlos a tiempo.

Page 22: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

22/28

Desafío: tratamiento de fallos

● Recuperación ante fallos → el sistema no pierde su coherencia después de un error.

● Redundancia → replicas o caminos alternativos.

La disponibilidad de un sistema distribuido se mide según la proporción de tiempo que este puede ser utilizado por sus usuarios.

Page 23: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

23/28

Desafío: concurrencia

En un sistema multiusuario con múltiples recursos es muy probable que mas de un usuario intente acceder a un mismo recurso.

Dependiendo del tipo de operación que se vaya a realizar sobre el recurso estas pueden ser seguras o inseguras para la consistencia de la información. En el último caso las solicitudes se deberán sincronizarse (semáforos, mutex, etc.) para garantizar que sólo una se realizará en un instante determinado de tiempo limitando el desempeño del sistema (throughput).

Page 24: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

24/28

Desafío: transparencia

Se define con la abstracción al usuario y desarrollador de la separación que existe entre los distintos componentes de un sistema distribuido haciéndole ver como un único sistema completo.● Transparencia de acceso → recursos locales y

remotos con iguales operaciones.● Transparencia de ubicación → acceder a los

recursos sin conocer su ubicación real.● Transparencia de concurrencia → procesos

concurrentes que no se interfieren.

Page 25: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

25/28

Desafío: transparencia

● Transparencia de replicación → utilizar copias de un mismo recurso para aumentar su disponibilidad.

● Transparencia frente a fallos → garantizar que se completen las tareas a pesar de fallos de hardware o software.

● Transparencia de movilidad → reubicar recursos y usuarios sin afectar el sistema.

Page 26: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

26/28

Desafío: transparencia

● Transparencia de prestaciones → reconfigurar el sistema según su carga actual

● Transparencia de escalado → expandirse sin cambiar sus algoritmos o estructura.

Page 27: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

27/28

Page 28: Jorge Iván Meza Martínez jimezam@gmail.com Especialización ...educacion.esencial.co/wiki/_media/sd:1... · Universidad Nacional de Colombia – Sede Manizales. ... Un sistema distribuido

28/28

Evaluación post-contenido

1.Qué es un sistema distribuido ?

2.Cuál es la ventaja de los sistemas distribuidos frente a los centralizados ?

3.Cuáles son las dificultades que se debe enfrentar al diseñar e implementar un sistema distribuido ?