Вы находитесь на странице: 1из 13

16/02/2013

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)

Tipos de sistemas (evolucin histrica)


sistemas por lotes: proceso diferido, secuencial Sistemas centralizados de tiempo compartido: terminal sistemas de teleproceso: red telefnica sistemas personales: estaciones de trabajo, PCs sistemas en red: cliente/servidor, protocolos (TCP/IP) Sistemas distribuidos: transparencia (GUI, RPC/RMI)

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

3 que comparten un estado 4 ofreciendo una visin de sistema nico (SSI)


igual que un sistema centralizado

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

Ventajas respecto a un sistema en red


uso ms eficiente de los recursos (migracin) acceso transparente a los recursos

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

Sistemas ubicuos (pervasive systems)


Computadoras ubicuos: hogar (domtica), automvil, oficina, hospitales Un entorno ubicuo es por naturaleza cambiante Protocolos para descubrimiento de recursos: Jini, UPnP

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

Transparency in a Distributed System

Different forms of transparency in a distributed system

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,

variables, direcciones de memoria (DSM)


espacios lineales (memoria): 32 bits insuficientes en general los espacios de nombres son jerrquicos y por lo tanto escalables por naturaleza

Mantenimiento del rendimiento: replicacin


mirroring, caching obtener transparencia de replicacin es complejo/costoso

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

Problemas para mantener la consistencia


distribucin fsica: varias copias, cada una con su estado errores y/o retardos en las comunicaciones ausencia de reloj global: cmo ordenar eventos?

Tcnicas: transacciones, comunicacin a grupos Para un rendimiento aceptable: relajar consistencia

Aplicaciones Distribuidas
Aplicaciones paralelas: muchas tareas a la vez
Objetivo principal: disminuir el tiempo de ejecucin

Aplicaciones distribuidas (motivaciones):


alto rendimiento: cluster computing tolerancia a fallos: replicacin, transacciones
sistemas informticos bancarios la gestin de la consistencia es crtica

alta disponibilidad: caching, mirroring


bajo tiempo de respuesta: WWW, sistemas de ficheros la consistencia es importante, pero no crtica

movilidad, ubicuidad: aplicaciones AmI

16/02/2013

The Internet as a Distributed System

An intranet as a Distributed System

Mobile/Ubiquitous Computing as a Distributed System

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).

La Tabla muestra a qu tipos de sistemas conduce esta clasificacin.

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

Problema para la integracin: heterogeneidad


hardware, sistema operativo

Solucin: sistemas abiertos


especificacin pblica de su interfaz estndares: oficiales vs de facto (OSI vs TCP/IP)

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

Sistemas con memoria fsica compartida


variables compartidas, buzones FIFO

Sistemas con memoria fsica distribuida


paso de mensajes (protocolos de red)

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)

RPC, RMI, DSM:


basados en paso de mensaje

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

Вам также может понравиться