26
Tema 1: Introducci´on Sistemas Distribuidos Enrique Soriano LS, GSYC 10 de septiembre de 2015

Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Tema 1: IntroduccionSistemas Distribuidos

Enrique Soriano

LS, GSYC

10 de septiembre de 2015

Page 2: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

(cc) 2015 Grupo de Sistemas y Comunicaciones.

Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento -

NoComercial - SinObraDerivada (by-nc-nd). Para obtener la licencia completa, vease

http://creativecommons.org/licenses/by-sa/2.1/es. Tambien puede solicitarse a Creative Commons, 559 Nathan

Abbott Way, Stanford, California 94305, USA.

Page 3: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

¿Que es un sistema distribuido?

Conjunto de sistemas o nodos autonomos que para los usuarios secomporta como un unico sistema.

You know you have a distributed system when the crash of acomputer you’ve never heard of stops you from getting any workdone.– Leslie Lamport

Page 4: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

¿Que es un sistema distribuido?

La idea es compartir servicios y recursos:

I Datos.

I Hardware: CPU, impresoras, ratones, monitores, etc.

I Aplicaciones: procesadores de texto, visores, etc.

I Servicios de localizacion, sensores, actuadores, etc.

I ...

Page 5: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

¿Que es un sistema distribuido?

Ventajas:

I Economicas: es mas barato comprar muchos ordenadorespequenos que fabricar un supercomputador. De hecho, hoyen dıa, todos los supercomputadores son sistemasdistribuidos (p. ej. Blue Gene).

I Fiabilidad: algunos nodos pueden fallar, pero el sistema puedeseguir funcionando. Mas del 95 % de las maquinas deGoogle reinician una vez al mes ¿Lo has notado?

I Crecimiento incremental: se pueden anadir recursos endemanda. El Cray Titan tiene 18688 CPUs

I Distribucion inherente: algunas aplicaciones dependen devarias maquinas separadas por sus propias caracterısticas.

Page 6: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Objetivo: Transparencia de distribucion

Transparencia de distribucion: esconder el hecho de que el sistemaesta formado por distintos componentes. Si se consigue unatransparencia total, se obtiene la ilusion de tener un unico sistema(single-system image). Tipos:

I Acceso.

I Localizacion.

I Migracion.

I Relocalizacion.

I Replicacion.

I Concurrencia.

I Fallo.

Page 7: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Transparencia de acceso

Esconder los detalles sobre diferencias en la representacion de losdatos y sus mecanismos de acceso.

Ejemplos:

I Establecer un orden canonico para los bytes (Big Endian /Litte Endian).

I Acceder una interfaz homogenea para los datos, sin dependerde que estos procedan de sistemas de ficheros, BB.DD.,sensores, etc.

Page 8: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Transparencia de localizacion

Esconder los detalles sobre la localizacion de los recursos mediantela asignacion de nombres logicos.

Ejemplos:

I /path/to/a/file

I http://lsub.org/cursos

Page 9: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Transparencia de migracion y relocalizacion

El usuario no se entera si el recurso se mueve de un componente aotro. Si esto pasa mientras que el usuario esta usando el recurso,se habla de relocalizacion.

Ejemplos:

I Cambiar la maquina que autentica a los usuarios en ellaboratorio.

I El componente que sirve un sistema de ficheros cambiamientras que tenemos montado el volumen.

Page 10: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Transparencia de replicacion

Se oculta que hay varias replicas del mismo recurso. Requieretransparencia de localizacion.

Ejemplo:

I El usuario no se da cuenta que cada vez que actualiza unatabla de una BB.DD. se actualizan N replicas.

Page 11: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Transparencia de concurrencia

Ocultar a los usuarios que componentes del sistema necesitancompartir ciertos objetos y deben cooperar para proporcionar elrecurso conservando un estado coherente.

Ejemplo:

I El usuario no tiene que reintentar una operacion si la base dedatos esta siendo usada por otro componente en ese mismoinstante.

Page 12: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Transparencia de fallo

El usuario no se entera si ciertos componentes del sistema hanfallado. Enmascarar los fallos es complejo, a veces no es posible, yno siempre es apropiado.

Ejemplo:

I Reemplazar automaticamente un servidor de ficheros que hafallado por una replica sin que la operacion sobre el ficherofalle.

Page 13: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Grado de transparencia

I Compromiso entre transparencia y eficiencia.

I Restricciones fısicas (latencia, etc.).

I Conveniencia (p.ej. localizacion fısica en un smart space).

I Comprensibilidad del sistema (p.ej. ocultacion de errores a lasaplicaciones).

Page 14: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Objetivo: sistema abierto

Los recursos se sirven de una forma estandar, siguiendo unasemantica y una sintaxis determinada para proporcionarinteroperabilidad, portabilidad, y extensibilidad.

I Descripcion de la interfaz del recurso.

I Formato y semantica de los mensajes.

I Convenios del sistema.

I Separacion de polıticas y mecanismos.

Page 15: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Objetivo: escalabilidad

El sistema distribuido debe poder soportar su crecimiento(usuarios, componentes, datos, etc.), su distribucion geografica ysu administracion.

I Un servicio centralizado tiende a convertirse en un cuello debotella que reduce la escalabilidad del sistema → replicacion.

I Si los clientes del servicio estan dispersos geograficamente, unservicio centralizado estara lejos de algunos clientes (p.ej.Akamai) → distribucion.

I Un servicio centralizado es mas sencillo de implementar. No sepuede subestimar la simplicidad de un sistema.

I Un servicio distribuido es mas difıcil de asegurar.

Page 16: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Escalabilidad: datos

I Datos centralizados vs. datos distribuidos.

I Distribucion de los datos en dominios.Ejemplo que ya conoceis: DNS.

10/09/14 12:35

Page 1 of 1file:///Users/esoriano/Downloads/Domain_name_space.svg

Domain Name Space

= resource recordsassociated with name

see also: RFC 1034 4.2:How the database is divided into zones.

= zone of authority,managed by a name server

"delegated subzone"

"zon

e dele

gatio

n"

NS RR ("resource record")names the nameserverauthoritative fordelegated subzone

When a system administratorwants to let another administratormanage a part of a zone, the firstadministrator's nameserver delegatespart of the zone to anothernameserver.

Page 17: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Escalabilidad: algoritmos

I Algoritmo centralizado: los nodos tienen que recolectartodos los datos sobre el estado del sistema para ejecutar elalgoritmo. Esto puede no ser asumible.

I Algoritmo distribuido:I Ningun nodo tiene la informacion completa del sistema.I Los nodos toman decisiones en base a su estado.I El fallo de un nodo no arruina el algoritmo.I No se asume un reloj comun exactamente sincronizado.

Ejemplos: commit atomico de transacciones, ordenacion deeventos, consenso, eleccion de lider, exclusion mutuadistribuida, radiado fiable, etc.

Page 18: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Escalabilidad geografica

I Principal problema: latencia*.I L1 cache reference : 0.5 nsI L2 cache reference : 7 nsI Mutex lock/unlock : 25 nsI Main memory reference : 100 nsI SSD random read : 150,000 ns = 150 usI Read 1 MB sequentially from memory : 250,000 ns = 250 usI Round trip within same datacenter : 500,000 ns = 0.5 msI Read 1 MB sequentially from SSD* : 1,000,000 ns = 1 msI Read 1 MB sequentially from disk : 20,000,000 ns = 20 msI Send packet CA-Netherlands-CA : 150,000,000 ns = 150 ms

I La latencia entre nodos lejanos tiene un lımite fijo: velocidadde la luz.

I Comunaciones menos fiables a larga distancia (retransmisiones→ mas latencia).

* http://architects.dzone.com/articles/every-programmer-should-know

Page 19: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Tecnicas para escalabilidad geografica

I Comunicacion asıncrona en servicios no interactivos.

I Agrupacion de operaciones (batching).

I Protocolos con pocos round-trips.

I Preprocesado en el cliente.

I Caching → coherencia de cache.

Page 20: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Escalabilidad administrativa

I Dominios de administracion.

I Mezcla problemas tecnicos con problemas no-tecnicos(polıticas, relacion entre humanos, etc.).

Page 21: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Algunos tipos de sistemas distribuidos

Clusters:

I El control se suele centralizar en un nodo llamado Master.

I Nodos homogeneos (hw, OS)

I Comunicados por una LAN de alta velocidad

Page 22: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Algunos tipos de sistemas distribuidos

Grids:

I El control esta distribuido (federado)

I Distintas organizaciones comparten sus nodos (organizacionvirtual).

I Nodos heterogeneos (hw, OS).

I Comunicados por Internet.

Page 23: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Algunos tipos de sistemas distribuidos

Transaction Processing Systems.

I ACID:I Atomicy: la operacion se realiza de forma indivisible.I Consistency: la operacion no viola invariantes del sistema.I Isolation: las operaciones no interfieren entre sı.I Durability: una vez acabada, es permanente.

Page 24: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Algunos tipos de sistemas distribuidos

I Middleware de integracion (OOM, MOM, etc.).

I Pervasive Computing, AmI.

I Wearable Computing, Personal/Body Area Networks.

I Health Care Systems.

I Sensor Networks.

Page 25: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Algunos tipos de sistemas distribuidos

Cloud Computing:

I IaaS: Infrastructure as a Service, p.ej. Amazon EC2.

I PaaS: Platform as a Service, p.ej. Google App Engine.

I SaaS: Software as a Service, p.ej. Google Apps.

I STaaS: Storage as a Service, p.ej. Amazon S3.

Page 26: Tema 1: Introducci on - LSUBlsub.org/dis/t1.pdf · 2015. 11. 13. · Tema 1: Introducci on Sistemas Distribuidos Enrique Soriano LS, GSYC ... Esconder los detalles sobre diferencias

Algunos tipos de sistemas distribuidos

¡Y veremos muchos mas!

I Fog Computing, Internet of Things ...