tema 1: introducci on - lsublsub.org/dis/t1.pdf · 2015. 11. 13. · tema 1: introducci on sistemas...
TRANSCRIPT
![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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/2.jpg)
(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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/3.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/4.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/5.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071008/5fc582dc14a424292a310ce4/html5/thumbnails/26.jpg)
Algunos tipos de sistemas distribuidos
¡Y veremos muchos mas!
I Fog Computing, Internet of Things ...