Monday, July 31, 2006

TENDENCIAS DE SISTEMAS DISTRIBUIDOS


INSTITUTO TECNOLÓGICO DE MATEHUALA.

INGENIERÍA EN SISTEMAS COMPUTACIONALES

MATERIA:

SISTEMAS DISTRIBUIDOS II

CONTENIDO:

ENSAYO DE LA UNIDAD VII

TENDENCIAS DE SISTEMAS DISTRIBUIDOS

TITULAR:

LIC.- LEÓN PEÑA RAMOS

PRESENTA:

JOSÉ ÁNGEL FLORES HERRERA

SEMESTRE:

NOVENO CURSO DE VERANO

MATEHUALA A JULIO DEL 2006

____________________________________________________

INTRODUCCIÓN

7.-TENDENCIAS EN LOS SISTEMAS DISTRIBUIDOS............................................................4

7.1.-ARQUITECTURA MULTIPROCESADOR.................6

7.2.- SISTEMAS DISTRIBUIDOS QUE INTEGRAN
ARQUITECTURAS MULTIPROCESA.............................9

7.3.- APLICACIONES DE MULTIMEDIA
EN SISTEMAS DISTRIBUIDOS......................................11

CONCLUSIONES..........................................................13

BIBLIOGRAFÍA...........................................................14

____________________________________________________

INTRODUCCIÓN

En el presente trabajo se expondrán los temas correspondientes a la unidad VII del programa de sistemas distribuidos II la cual se llama tendencia de los sistemas distribuidos y esta compuesta por tres temas: el primero de ellos es la arquitectura multiprocesador, el segundo de ellos es sistemas distribuidos que integran arquitecturas multiprocesador y por ultimo el tema de aplicaciones multimedia en sistemas distribuidos los cuales serán abordados aquí en este trabajo, abarcando sus características y aspectos mas relevantes de estos.


____________________________________________________

7.- TENDENCIAS EN LOS SISTEMAS DISTRIBUIDOS

Veremos a continuación algunos aspectos en los que podrían presentarse cambios en un futuro no muy lejano, teniendo en cuenta que los cambios tecnológicos se producen día a día y en desmesurado avance.

Hardware reciente

Existen muchos dispositivos hardware que en los últimos años están abaratando sus costos, tales como las memorias. Esto mejoraría circunstancialmente los actuales servidores de archivos puesto que se podrá adquirir gran cantidad de gigabytes de memoria, aunque todavía se presente el problema de que la memoria sea volátil, es decir, que cuando se apaga el sistema se borran los archivos.

Una nueva innovación en hardware son los discos ópticos que ahora pueden ser utilizados más de una vez. Aunque son un poco más caros que las cintas de video siempre han sido un aporte importante para los sistemas de archivos, principalmente en el soporte de backups.
Otro desarrollo importante en hardware son las redes de fibra óptica de alta velocidad que agilizarían la transferencia de archivos y se podría prescindir de la memoria caché. Esto también simplificaría en mucho el software a utilizarse en los sistemas de archivos distribuidos.


Escalabilidad

El concepto de escalabilidad propone que cualquier computador individual ha de ser capaz de trabajar independientemente como un sistema de archivos distribuido, pero también debe poder hacerlo conectado a muchas otras máquinas.

Un sistema de archivos debería funcionar tanto para una docena de equipos como para varios millares. Igualmente no debería ser determinante el tipo de red utilizada (LAN o WAN) ni las distancias entre los equipos.


Redes de área amplia

La mayor parte del trabajo que se realiza actualmente en los sistemas distribuidos se basa en los sistemas alojados en redes LAN. La tendencia en el futuro es que veremos conectados entres sí muchos sistemas distribuidos LAN con el fin de formar sistemas distribuidos transparentes a través de todo el mundo. Pero para esto tendría que tomarse como punto de importancia el hecho de que no todos los países utilizan un mismo tipo caracteres para sus archivos, es decir, si en latinoamérica utilizamos los códigos ASCII, puede ser que en otras partes del mundo no se utilice este mismo concepto, lo que produciría una incompatibilidad de datos.
Por otro lado, también es importante el cambio que se producirá en las aplicaciones, puesto que la mayoría de experimentos que actualmente se realizan en las universidades están basados en sistemas parecidos a UNIX.

Un problema que se presentará aun mucho más tiempo es que la conexión de fibra óptica tardará muchos años en instalarse en todos los rincones del planeta y también la existencia de una red de mayor ancho de banda será difícil y costosa de implementar pues no se cuenta, todavía, con una mayor aceptación del potencial público usuario.

Usuarios móviles

Este hecho presenta la inconveniencia de que muchos usuarios no estarán conectados todo el tiempo al sistema, es decir, solo lo estarán algún tiempo y luego no aparecerán. Esto es debido a que todavía no se cuenta con una adecuada red instalada en diversos lugares para que el usuario pueda conectar su laptop, notebook y su PC de bolsillo a su respectivo sistema o al sistema al cual desea conectarse.


Tolerancia de fallas

En la actualidad, la mayor parte de los sistemas de cómputo no presentan tolerancia a fallas. Es común escuchar en las agencias bancarias la frase: "No hay sistema", por lo que tomamos este hecho como algo absolutamente normal. Salvo algunos sistemas especializados como los que se utilizan para el control de tráfico aéreo, otros sistemas no presentan este comportamiento que debería ser el óptimo.

Para que los sistemas cumplan con este requisito, deberá existir o implementarse una consistente infraestructura de hardware lo cual permita a los sistemas ser realmente confiables y seguros en cuanto a tiempo de funcionamiento efectivo se refiere.


_____________________________________________________

7.1.- ARQUITECTURA MULTIPROCESADOR

Los sistemas multiprocesador (MP) son un tipo de arquitectura con una importancia creciente y ampliamente difundido. La mayoría de los constructores de computadores ofrece máquinas en las que están presentes más de una CPU, configuración que es hoy en día es de uso habitual en casi todos los sistemas de tamaño medio y grande. Asimismo, los fabricantes de procesadores incorporan a sus arquitecturas, desde hace pocos años, los mecanismos necesarios para que éstos se puedan emplear fácilmente, y con un coste reducido (publicidad de Sun Microsystems en 1999: "si compra un procesador, le regalamos otro"), en la construcción de este tipo de sistemas.

Los sistemas se clasifican de acuerdo a la distribución de la memoria como:

Memoria compartida: No utiliza ninguna librería y solo hace uso de compiladores.

Memoria distribuida: utiliza librerías de paso de mensajes (PVM, MPI o SHMEM ).

Clasificación atendiendo al criterio del tiempo de acceso a la memoria desde los procesadores, existen dos posibles tipos de sistemas: aquellos en que el acceso a la memoria se produce en un tiempo (latencia) fijo, denominados sistemasUMA (o Uniform Memory Access), y aquellos en que estos tiempos no son homogéneos sino que varían en función de qué procesador y qué porción de memoria consideramos y que se denominan sistemas NUMA (Non Uniform Memory Access)

Dependiendo de la forma en que los procesadores comparten la memoria, se clasifican en sistemas multiprocesador UMA, NUMA y COMA.

UMA (Uniform Memory Access)

Sistema multiprocesador con acceso uniforme a memoria. La memoria física es uniformemente compartida por todos los procesadores, esto quiere decir que todos los procesadores tienen el mismo tiempo de acceso a todas las palabras de la memoria. Cada procesador tiene su propia caché privada y también se comparten los periféricos.

Los multiprocesadores son sistemas fuertemente acoplados (tightly-coupled), dado el alto grado de compartición de los recursos (hardware o software) y el alto nivel de interacción entre procesadores, lo que hace que un procesador dependa de lo que hace otro.

El sistema de interconexión debe ser rápido y puede ser de uno de los siguientes tipos:

Bus común

Red crossbar

Red multietapa

Este modelo es conveniente para aplicaciones de propósito general y de tiempo compartido por varios usuarios.

Existen varias categorías de sistemas UMA.

Sistema Simétrico

Cuando todos los procesadores tienen el mismo tiempo de acceso a todos los componentes del sistema (incluidos los periféricos), reciben el nombre de sistemas multiprocesador simétrico.

Los procesadores tienen el mismo dominio (prioridad) sobre los periféricos y cada procesador tienen la misma capacidad para procesar.

Sistema Asimétrico

Los sistemas multiprocesador asimétrico, son sistemas con procesadores maestros y procesadores esclavos, en donde sólo los primeros pueden ejecutar aplicaciones y dónde en tiempo de acceso para diferentes procesadores no es el mismo. Los procesadores esclavos (attached) ejecutan código usuario bajo la supervisión del maestro, por lo tanto cuando una aplicación es ejecutada en un procesador maestro dispondrá de una cierta prioridad.

NUMA (Non Uniform Memory Access)

Un sistema multiprocesador NUMA es un sistema de memoria compartida donde el tiempo de acceso varía según donde se encuentre localizado el acceso.

El acceso a memoria, por tanto, no es uniforme para diferentes procesadores. Existen memorias locales asociadas a cada procesador y estos pueden acceder a datos de su memoria local de una manera más rápida que a las memorias de otros procesadores, debido a que primero debe aceptarse dicho acceso por el procesador del que depende el módulo de memoria local.

Todas las memorias locales conforman la memoria global compartida y físicamente distribuida y accesible por todos los procesadores.

Cluster Jerárquico

Otro modelo NUMA que nace como la mezcla del modelo UMA explicado anteriormente y el modelo NUMA anterior, es el cluster jerárquico en el que se combinan las memorias locales y las globales obteniendo una cierta escalabilidad del sistema.

Los procesadores aparecen distribuidos en clusters (1 sistema UMA o un 1 sistema NUMA). Estos clusters están conectados a la memoria global compartida. El sistema en su totalidad es un sistema NUMA, ya que el acceso a memoria es no uniforme por parte de los clusters.

La ventaja de estos sistemas con respecto a los sistemas UMA, es que el acceso a memoria local es mucho más rápido.

COMA (Cache Only Memory Access)

Los sistemas COMA son un caso especial de los sistemas NUMA. Este tipo de sistemas no ha tenido mucha transcendencia, al igual que los sistemas SIMD.

Las memorias distribuidas son memorias cachés, por este motivo es un sistema muy restringido en cuanto a la capacidad de memoria global. No hay jerarquía de memoria en cada módulo procesador. Todas las cachés forman un mismo espacio global de direcciones. El acceso a las cachés remotas se realiza a través de los directorios distribuidos de las cachés.

Dependiendo de la red de interconexión utilizada, se pueden utilizar jerarquías en los directorios para ayudar a la localización de copias de bloques de cache.

Aplicaciones actuales

Cálculo científico: intenso de matrices para la industria

Del petróleo: modelado de reservas

Aeronáutica: análisis de flujos de aire, motor

Del automovil: simulacion de choques, analisis de resistencia del motor

Farmacéutica: modelado molecular

Servidor de fichero, bases de datos, motores de búsqueda en web

Entretenimiento/gráficos: Toy Story

Predicción del tiempo (48 horas)

0.1GFLOPS

0.1 GB

Predicción del tiempo (72 horas)

3GFLOPS

1 GB

Diseño fármacos

100GFLOPS

10 GB

Genoma

1000 GFLOPS

1000 GB


____________________________________________________

7.2.- SISTEMAS DISTRIBUIDOS QUE INTEGRAN ARQUITECTURAS MULTIPROCESADOR

La industria informática, ha tenido siempre un objetivo primordial, repetido a lo largo de toda su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios): la búsqueda de la velocidad. Para alcanzar este objetivo se han invertido ingentes cantidades de recursos, hasta alcanzar los límites físicos del silicio.

Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la primera ha sido la principal medida para decidirse por un sistema u otro. Sin embargo, por muy evidente que parezca, y dados los límites físicos de los semiconductores, las prestaciones pueden no estar forzosamente ligadas a la velocidad. Hoy es posible construir sistemas, que aún teniendo procesadores más "lentos" que otros, ofrezcan unas prestaciones significativamente superiores. Son los sistemas multiprocesador, que como su denominación indica, incorporan varios procesadores para llevar a cabo las mismas funciones.

No es un concepto nuevo, ya que los "minicomputadores" construidos por compañías como NCR, Sequent y Stratus, ya empleaban varios nodos de proceso como alternativas económicas a otros productos de otras compañías. Sin embargo, aquellos sistemas aún duplicaban recursos caros del sistema, como memoria y dispositivos de entrada/salida, y por tanto, confinaban a los sistemas multiprocesador al mundo de los sistemas de alto nivel.

Ahora, y en gran medida gracias a los procesadores de arquitectura RISC, el soporte multiprocesador es una solución integrada y fácilmente disponible en estaciones de trabajo de sobremesa, que resuelve, a través de hardware VLSI, los complejos problemas de compartición de recursos (memoria compartida) de aquellas primeras máquinas.

Evidentemente, estas mejoras en el hardware, para ser funcionales, requieren importantes desarrollos en el software, y de hecho, muchos sistemas operativos admiten extensiones multiproceso (Match, SCO, Solaris, System V, etc.), que proporcionan paralelismo "en bruto" (asignando múltiples tareas a múltiples procesadores) a nivel del sistema operativo.

Las aplicaciones escritas para facilitar el paralelismo en su ejecución, incrementan significativamente las prestaciones globales del sistema; esto es lo que se denomina multi-enhebrado (multithreading), que implica dividir una sola aplicación entre varios procesadores. Sin embargo, los desarrolladores de software y programadores de aplicaciones sólo han comenzado a explorar las vastas posibilidades de incremento de prestaciones que ofrecen los sistemas con capacidades reales de proceso en paralelo.

El multiproceso no es algo difícil de entender: más procesadores significa mas potencia computacional. Un conjunto de tareas puede ser completado más rápidamente si hay varias unidades de proceso ejecutándolas en paralelo. Esa es la teoría, pero otra historia es la práctica, como hacer funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto del hardware como del software. Es necesario conocer ampliamente como están interconectados dichos procesadores, y la forma en que el código que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software que aproveche al máximo sus prestaciones.

Para lograrlo, es necesario modificar varias facetas del sistema operativo, la organización del código de las propias aplicaciones, así como los lenguajes de programación.

Es difícil dar una definición exacta de un sistema multiprocesador, aunque podemos establecer una clasificación de los sistemas de procesadores en:

SISD o secuencia única de instrucciones y datos (Single Instruction, Single Data): una sola secuencia de instrucciones opera sobre una sola secuencia de datos (caso típico de los ordenadores personales).

SIMD o secuencia única de instrucciones y múltiple de datos (Single Instruction, Multiple Data): una sola secuencia de instrucciones opera, simultáneamente, sobre múltiples secuencias de datos (array processors).

MISD o múltiples secuencias de instrucciones y única de datos (Multiple Instruction, Single Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre una sola secuencia de datos (sin implementaciones útiles actualmente).

MIMD o múltiples secuencias de instrucciones y datos (Multiple Instruction, Multiple Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre múltiples secuencias de datos.

Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como sistemas MIMD. Ello implica que son máquinas con múltiples y autónomos nodos de proceso, cada uno de los cuales opera sobre su propio conjunto de datos. Todos los nodos son idénticos en funciones, por lo que cada uno puede operar en cualquier tarea o porción de la misma.

____________________________________________________


7.3.- APLICACIONES MULTIMEDIA EN SISTEMAS DISTRIBUIDOS

Los sistemas multimedia surgen por la posibilidad económicamente viable de integrar video, audio y datos, y de procesarlos y transmitirlos a un coste razonable. La convergencia de telecomunicaciones, electrónica de consumo, ordenadores, televisión y proveedores de información abre posibilidades no imaginadas hace unos pocos años. Aplicaciones a la teleconferencia, la teleeducación, el trabajo cooperativo, etc. están modificando muchos aspectos socio-económicos de la vida cotidiana. En el presente se pretenden presentar algunas de las principales aplicaciones multimedia (tales como M-BONE, Netmeeting, CUSeeme, etc.) así como sus fundamentos técnicos.

Las aplicaciones multimedia distribuidas pueden programarse utilizando tecnologías Java de objetos distribuidos (como RMI). Una aplicación multimedia de alta calidad y distribuida debe ser capaz de ofrecer una cierta calidad de salida, es decir, ofrecer una imagen a la salida cada cierto tiempo. La corrección en el procesamiento temporal de las imágenes depende no sólo de la gestión local del procesamiento sino también de la gestión llevada a cabo por los protocolos de red. En este estudio se deberá estudiar la estructura de tecnologías Java para la integración eficiente de protocolos de red que permitan garantizar los plazos de tiempo que una aplicación debe cumplir en su procesamiento de datos multimedia

Las investigaciones y desarrollos en el área de la multimedia se puede dividir en dos grandes grupos:

  • El primero centrado en el área de estaciones de trabajo independiente con el software y las herramientas relacionadas, tal como composición musical, enseñanza asistida por computadora, video interactivo, etc.
  • El segundo grupo centrado en el intercambio de información multimedia entre esas estaciones de trabajo a través de redes, combinando así los sistemas distribuidos con la multimedia.

Todo esto ofrece un gran panorama y un enorme potencial para nuevas aplicaciones basadas en los sistemas multimedia distribuidos, los cuales incluyen sistemas de información multimedia, los sistemas de colaboración y conferencia, los servicios multimedia sobre demanda, televisión de alta resolución y la enseñanza a distancia.

Los computadores modernos pueden manejar caudales de datos continuo (caudales), dependientes del tiempo como audio y vídeo digital. Esta capacidad ha conducido al desarrollo de aplicaciones multimedia distribuidas como biblioteca de vídeos en red, telefonía sobre Internet y vídeoconferencia. Dicha aplicaciones son viables con las actuales redes y sistemas de propósito general, a pesar de que a menudo la calidad del audio y del vídeo resultante esta lejos de ser satisfactoria. Las aplicaciones más exigentes como la vídeoconferencia a gran escala, la T.V. digital, y los sistemas de vigilancia están más allá de las capacidades de las redes y de los sistemas distribuidos actuales.

Las aplicaciones multimedia generan y consumen caudales de datos continuos en tiempo real. Éstos contienen grandes cantidades de audio, vídeo y otros elementos de datos dependientes del tiempo, y resulta esencial el procesamiento y la entrega a tiempo de los elementos individuales de datos.

Una especificación de un caudal multimedia se expresa en términos de valores aceptables para la tasa a la que los datos pasan desde la fuente al destino (ancho de banda), el retardo en la entrega de cada elemento (latencia) y la tasa a la que se pierden o se desechan los elementos. La latencia es particularmente importante en aplicaciones interactivas. En las aplicaciones multimedia a menudo resultan aceptables un grado pequeño de perdida de datos de los caudales multimedia ya que las aplicaciones pueden volver a sincronizarse con los elementos que siguen a aquellos perdidos.

La reserva y la planificación (scheduling) de los recursos pensadas para satisfacer las necesidades tanto de las aplicaciones multimedia como las otras se denomina gestión de la calidad de servicio. Parámetros importantes son la reserva de la capacidad de procesamiento, el ancho de banda de la red y la memoria (para el almacenamiento de los elementos de datos que son entregados temprano).

Las aplicaciones multimedia demandan la entrega a tiempo a los usuarios de caudales de datos multimedia. Los caudales de audio y vídeo se generan y se consumen en tiempo real, la entrega a tiempo de los elementos individuales es esencial para la integridad de la aplicación. En resumen, los sistemas multimedia son sistemas de tiempo real: deben ejecutar tareas y entregar sus resultados de acuerdo de una planificación que es determinada externamente.


____________________________________________________

CONCLUSIONES

Después de investigar y analizar los temas correspondientes de esta unidad se pede concluir lo siguiente de los temas aquí presentados:

Las tendencias de los sistemas distribuidos buscan o pretenden cada día el aumentar el uso de recursos de forma distribuida ya que esto supone una reducción considerable de costos como esfuerzo para realizar las tareas que hoy en día requieren de gran capacidad de procesamiento principalmente.

Las tendencias van evolucionando de acuerdo a las necesidades de hardware, comunicación, procesamiento y otros aspectos importantes del trabajo distribuido.

Cabe destacar que para contribuir al trabajo de los sistemas distribuidos son de gran ayuda ya que el procesamiento proporcionado por las arquitecturas de procesamiento multiprocesador.

La implantación de los sistemas distribuidos multiprocesador supone muchas ventajas y bondades pero aun hay muchos detalles que hay que solucionar.

En la actualidad hay muchas empresas que ofrecen diversos productos con las características de multiprocesamiento como lo es IBM, HP, SUN y muchos otros.

En la actualidad lo que va tomando gran auge es la utilización de los sistemas distribuidos para aplicaciones multimedia ya que este trabajo involucra gran capacidad de procesamiento y mas prestaciones en general y es por eso que es una de las tendencias donde el trabajo distribuido combinado con el procesamiento en paralelo toma gran importancia.


____________________________________________________

BIBLIOGRAFÍA

1.- UNIVERSIDAD DE VALENCIA

http://www.uv.es/siuv/cas/zcalculo/sgi/arquitectura

2.- Doctorados datsi

http://www.datsi.fi.upm.es/docencia/arq-MP/

3.- ARQUITECTURA SGI Altix 3000

www.upv.es/ARQUITECTURA+SGI+Altix+3000

4.-Tutorial de SD unne

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/SISMUL02

5.-Tutorial de sistemas distribuidos

http://lisisu02.fis.usal.es/~bcurto/docencia/arquitectura/pdf_arq/tema5.pdf

6.- Arquitctura de computadoras

www.iberchip.org/VII/cdnav/pdf/39.pdf

www.ii.uam.es/~jgarrido/Arq/arq.html

_____________________________________________________


0 Comments:

Post a Comment

<< Home