Академический Документы
Профессиональный Документы
Культура Документы
Sistemas Distribuidos
Contenido
1 Motivacin 2 Propiedades de los sistemas distribuidos 3 Aplicaciones distribuidas 4 Soporte hardware 5 Soporte software 6 Estructura de un sistema distribuido
Motivacin
Objetivo
compartir recursos (servicios/dispositivos)
16/02/2013
Motivacin
A distributed system is a collection of independent computers that appears to its users as a single coherent system Una definicin de sistema distribuido 1 conjunto de computadoras 2 interconectadas
igual que un sistema en red
Motivacin
Un sistema distribuido es software Middleware
A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface
Motivacin
Ventajas respecto a un sistema centralizado
bajo coste: puede estar compuesto de PCs estndar escalabilidad: consecuencia de su modularidad flexibilidad: reutilizacin de mquinas viejas disponibilidad: mediante replicacin de recursos ofrecen la posibilidad de paralelismo permiten acceder a recursos remotos
16/02/2013
Motivacin
Desventajas respecto a un sistema centralizado
un sistema centralizado del mismo coste es ms eficiente que cada uno de los componentes del sistema distribuido Si la distribucin de recursos es inadecuada algunos recursos pueden estar desbordados mientras otros estn libres mantener la consistencia puede ser muy costoso la red de interconexin es una fuente de problemas la gestin de la seguridad es ms compleja
Motivacin
Tendencias
Informtica mvil
Nuevos dispositivos: PDAs, telfonos mviles con Java Redes inalmbricas, redes ad-hoc
Propiedades de los SD
Objetivo
Visin de sistema nico (Single System Image)
Propiedades deseables
Transparencia Escalabilidad Fiabilidad y tolerancia a fallos Consistencia
16/02/2013
Propiedades de los SD
Transparencia
de identificacin: los espacios de nombres de los recursos son independientes de la topologa de la red y de la propia distribucin de los recursos de ubicacin: los recursos pueden migrar entre nodos de replicacin de paralelismo: sin que la aplicacin lo especifique y sin consecuencias negativas sobre la ejecucin de comparticin: accesos simultneos a recursos de rendimiento: es necesario buscar soluciones de compromiso cuando la degradacin del rendimiento hace impracticable implementar alguna de las propiedades
Propiedades de los SD
Escalabilidad
Capacidad de crecer sin disminuir su rendimiento Basada en la modularidad
Espacios de nombres
identifican objetos de diferente naturaleza: ficheros, procesos,
16/02/2013
Propiedades de los SD
A distributed system is one in which the failure of a
Fiabilidad
computer you didnt even know existed can render your own computer unusable (Leslie Lamport)
Capacidad para realizar correctamente y en todo momento las funciones para las que se ha diseado Disponibilidad
Fraccin de tiempo que el sistema est operativo (%)
parmetros: MTBF (Mean Time Between Failures), MTTR componentes de alta calidad vs replicacin (ms barata)
Tolerancia a fallos
Capacidad para seguir operando correctamente ante el fallo de alguno de sus componentes
replicacin (pasiva, activa)
Propiedades de los SD
Consistencia
Problemas relacionados con la replicacin
la red de interconexin es una nueva fuente de fallos la seguridad del sistema es ms vulnerable la gestin del estado global es ms compleja/costosa
Aplicaciones Distribuidas
Aplicaciones paralelas: muchas tareas a la vez
Objetivo principal: disminuir el tiempo de ejecucin
16/02/2013
16/02/2013
Soporte hardware
Qu se entiende por computador? Atendiendo a los criterios clsicos de Flynn, las arquitecturas se pueden clasificar segn permitan paralelismo de datos y/o instrucciones, obtenindose los cuatro grupos de la Tabla. Sobre esta clasificacin, los procesadores actuales (segmentados y superescalares) realizan tambin de alguna forma proceso paralelo. Para el propsito de concretar qu arquitecturas pueden soportar distribucin (de cualquier tipo de recurso), hemos de centrarnos nicamente en la categora MIMD, mquinas con varias unidades de proceso
Soporte hardware
Qu se entiende por computador?
Soporte hardware
MIMD: grado de acoplamiento e interconexin Introduciremos el trmino nodo para referirnos a cada una de las unidades de proceso. La categora MIMD suele subdividirse en subgrupos atendiendo a dos criterios:
el grado de acoplamiento (si cada nodo cuenta con su propio espacio de direcciones de memoria fsica o no), y cmo se conectan los nodos (bus compartido o red de interconexin).
16/02/2013
Soporte hardware
MIMD: grado de acoplamiento e interconexin
Soporte hardware
Sobre esta clasificacin cabe plantear si todos los subgrupos admiten en general distribucin de recursos. Para afinar un poco ms, identificaremos tres grupos de elementos susceptibles de distribuirse entre los nodos:
Proceso Espacio de memoria Espacio de E/S (ficheros y dispositivos)
Soporte hardware
En los sistemas multiprocesador la memoria y la E/S son recursos por definicin centralizados. En estas mquinas slo tendra sentido hablar de proceso distribuido. Los nodos comparten el estado de la E/S y de la memoria, la distancia fsica entre procesadores es pequea y el reloj es nico. En los multiprocesadores actuales, cada procesador posee su memoria cache propia, pero la coherencia est garantizada por protocolos hardware.
16/02/2013
Soporte hardware
Infraestructura de red Hoy en da los sistemas distribuidos se basan en la existencia de una red de comunicaciones que conecta dispositivos de cmputo estndares.
El mundo industrializado cuenta con amplias infraestructuras troncales (backbones), normalmente de fibra ptica, lo que ha permitido el despliegue de Internet. Tambin se utilizan enlaces por satlite para el acceso a lugares recnditos. El problema de acceso a los puntos de usuario (redes de rea metropolitana, MAN) se ha estado solucionando mediante la utilizacin eficiente del viejo cableado telefnico. Para redes locales
Soporte hardware
Para redes local esespecficas se ha venido utilizando Ethernet, que permite velocidades muy altas (hasta 1 Gbps). En los ltimos aos han experimentado un gran avance las tecnologas inalmbricas, hasta el punto de que pueden competir (es el caso de WiFi IEEE 802.11) con Ethernet en las redes locales. En sistemas ubicuos adquieren importancia las redes inalmbricas de corto alcance (redes de mbito personal, PAN). La Tabla ilustra algunas caractersticas de las tecnologas de red actuales.
Soporte hardware
Redes de comunicacin
Cableadas
PAN: USB (1, 12- 480 Mbps) LAN: Ethernet (1km, 10 1000 Mbps) MAN: ATM ( 10km, 1- 50 Mbps) WAM: Internet (mbito mundial, 0.5 600 Mbps)
Inalambricas
PAN: Bluetooth ( 10m, 0.5 2Mbps), Zigbee, IrDA LAN: WiFi (100m, 2 54 Mbps) MAN: WiMAX ( 10 km, 1.5 20 Mbps) WAN: UMTS (mbito mundial, 2 mbps)
16/02/2013
Soporte software
Soporte hardware de un sistema distribuido
conjunto de nodos con espacios propios de memoria y E/S. Cada nodo posee su propio SO y los servicios de red bsicos Ejemplos: multicomputadores, redes LAN / WAN
Soporte software
Propiedades de los sistemas abiertos
Interoperabilidad. Capacidad de mover informacin entre mquinas a travs de la red.
protocolos estndar: TCP/IP, RPC/XDR lenguajes de definicin de interfaces: CORBA IDL
Tendencia actual: XML/SOAP (Servicios Web)
Transportabilidad de aplicaciones. Capacidad de mover programas de aplicacin entre mquinas del sistema.
POSIX (cdigo fuente, entre mquinas Unix) Java (cdigo ejecutable, entre JVMs)
Transportabilidad de usuarios: Capacidad de permitir que un usuario pueda acceder al sistema desde diferentes mquinas sin necesidad de conocer caractersticas particulares de cada mquina.
GUI, NIS
Soporte software
In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.
10
16/02/2013
Soporte software
Soporte para la comunicacin
Hay que diferenciar entre distribucin fsica de la memoria y modelo de comunicacin
el grado de acoplamiento determinar el soporte necesario para implementar el modelo de comunicacin el modelo de comunicacin puede estar basado tanto en memoria compartida como en paso de mensajes
Soporte software
Grado de acoplamiento y modelo de comunicacin
Soporte software
Implementacin comunicacin del modelo de
Paso de mensajes estndar bsico: sockets INET
modelo cliente/servidor bloqueante / no bloqueante fiable (TCP) / no fiable (UDP) punto-a-punto / broadcast / multicast (IP Multicast)
11
16/02/2013
Soporte software
Comunicacin basada en paso de mensajes
El paso de mensajes comprende un conjunto de mecanismos que permiten comunicar procesos mediante un enlace o canal de comunicacin, identificando el proceso origen o destino respectivamente en las primitivas de recibir o enviar, bien a travs de un buzn, que identifica explcitamente el canal de comunicacin. En sistemas tipo UNIX, el mecanismo bsico de paso de mensajes dentro de un nodo es el de pipes, con o sin nombre. Para comunicar procesos entre nodos surge el problema del direccionamiento. A este respecto, los sockets de UNIX soportan dos formas de comunicacin alternativas: identificando un socket dentro del sistema de ficheros (entorno UNIX) o asociando un puerto de comunicacin en un nodo concreto (entorno Internet). En este ltimo caso se hace precisa la gestin explcita del direccionamiento.
Soporte software
Las caractersticas principales asociadas a un canal de comunicacin son las siguientes:
Modo de sincronizacin: si el canal de comunicacin est ocupado, la primitiva de enviar puede bloquear al proceso hasta que se libere el canal (lo que depende tambin de si permite buffering o no) y pueda depositar el mensaje (modo bloqueante o sncrono). La alternativa (modo no bloqueante) permite que el proceso contine aunque el mensaje no se haya podido enviar, transfiriendo a la aplicacin la responsabilidad de gestionar la sincronizacin en el uso del buffer de usuario donde se ubica el mensaje enviado.
Soporte software
Fiabilidad. El mecanismo de paso de mensajes depende del soporte que le proporcione la red. Si se implementa sobre un protocolo de transporte seguro, la comunicacin se considera fiable, en el sentido de que el emisor puede confiar en que el receptor acabe por recibir el mensaje correctamente o sea informado de lo contrario. En cambio, un mecanismo no fiable permitir una comunicacin menos costosa, pero delega en la aplicacin la responsabilidad de verificar la correccin de la comunicacin.
UNIX ofrece dos formas de comunicacin con sockets: comunicacin orientada a conexin, basada en TCP/IP, fiable,y comunicacin por datagramas, basada en UDP/IP, no fiable.
12
16/02/2013
Soporte software
Modo de comunicacin. En sistemas distribuidos es de gran inters el soporte de primitivas de paso de mensajes de 1:N. El broadcast o difusin permite enviar un mensaje a todas las direcciones accesibles por el emisor, y se usa en redes locales. Un caso particular de broadcast, el multicast, permite seleccionar un subconjunto de direcciones a las que enviar el mensaje.
Soporte software
Soporte del sistema operativo
Propiedades deseables: abierto y flexible
desarrollo, ubicacin y gestin eficiente de servicios
Los SO clsicos (UNIX) son monolticos: todos los servicios en el kernel, nica interfaz de llamadas al sistema, polticas de gestin predeterminadas Alternativas y tendencias
Emulacin hardware: SO husped sobre SO anfitrin (virtualizacin) Microkernels (Mach): servicios fuera del kernel PDAs, telfonos mviles: versiones adaptadas de SO comerciales (Mobile, Palm, Symbian) + navegador web
Soporte software
Servicios Middleware: soporte RPC/RMI, soporte a comunicacin uno-a-muchos, sincronizacin de tiempos y ordenacin de eventos, consistencia (replicacin), servicios de nombres, de seguridad
13