You are on page 1of 4

TAXONOMIA DE FLYYN La taxonoma de Flynn es una clasificacin de arquitecturas de computadores propuesta por Michael J. Flynn en 1972.

Las cuatro clasificaciones definidas por Flynn se basan en el nmero de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura: Una instruccin, un dato (SISD) Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las mquinas con uni-procesador o monoprocesadortradicionales como el PC o los antiguos mainframe. Mltiples instrucciones, un dato (MISD) Poco comn debido al hecho de que la efectividad de los mltiples flujos de instrucciones suele precisar de mltiples flujos de datos. Sin embargo, este tipo se usa en situaciones deparalelismo redundante, como por ejemplo en navegacin area, donde se necesitan varios sistemas de respaldo en caso de que uno falle. Tambin se han propuesto algunas arquitecturas tericas que hacen uso de MISD, pero ninguna lleg a producirse en masa. Una instruccin, mltiples datos (SIMD) Un computador que explota varios flujos de datos dentro de un nico flujo de instrucciones para realizar operaciones que pueden ser paralelizadas de manera natural. Por ejemplo, unprocesador vectorial. Mltiples instrucciones, mltiples datos (MIMD) Varios procesadores autnomos que ejecutan simultneamente instrucciones diferentes sobre datos diferentes. Los sistemas distribuidos suelen clasificarse como arquitecturas MIMD; bien sea explotando un nico espacio compartido de memoria, o uno distribuido.

Diagrama de comparacin de las clasificaciones


Esas cuatro arquitecturas son mostradas visualmente a continuacin en donde cada "PU" (processing unit) es una unidad de procesamiento:

SISD

MISD

SIMD

MIMD

MPI ("Message Passing Interface", Interfaz de Paso de Mensajes) es un estndar que define la sintaxis y la semntica de las funciones contenidas en una biblioteca de paso de mensajes diseada para ser usada en programas que exploten la existencia de mltiples procesadores. El paso de mensajes es una tcnica empleada en programacin concurrente para aportar sincronizacin entre procesos y permitir la exclusin mutua, de manera similar a como se hace con lossemforos, monitores, etc. Su principal caracterstica es que no precisa de memoria compartida, por lo que es muy importante en la programacin de sistemas distribuidos. Los elementos principales que intervienen en el paso de mensajes son el proceso que enva, el que recibe y el mensaje. Dependiendo de si el proceso que enva el mensaje espera a que el mensaje sea recibido, se puede hablar de paso de mensajes sncrono o asncrono. En el paso de mensajes asncrono, el proceso que enva, no espera a que el mensaje sea recibido, y contina su ejecucin, siendo posible que vuelva a generar un nuevo mensaje y a enviarlo antes de que se haya recibido el anterior. Por este motivo se suelen emplear buzones, en los que se almacenan los mensajes a espera de que un proceso los reciba. Generalmente empleando este sistema, el proceso que enva mensajes slo se bloquea o para, cuando finaliza su ejecucin, o si el buzn est lleno. En el paso de mensajes sncrono, el proceso que enva el mensaje espera a que un proceso lo reciba para continuar su ejecucin. Por esto se suele llamar a esta tcnica encuentro, o rendezvous. Dentro del paso de mensajes sncrono se engloba a la llamada a procedimiento remoto, muy popular en las arquitecturas cliente/servidor. La Interfaz de Paso de Mensajes (conocido ampliamente como MPI, siglas en ingls de Message Passing Interface) es un protocolo de comunicacin entre computadoras. Es el estndar para la comunicacin entre los nodos que ejecutan un programa en un sistema de memoria distribuida. Las implementaciones en MPI consisten en un conjunto de bibliotecas de rutinas que pueden ser utilizadas en programas escritos en los lenguajes de programacin C, C++, Fortran y Ada. La ventaja de MPI sobre otras bibliotecas de paso de mensajes, es que los programas que utilizan la biblioteca son portables (dado que MPI ha sido implementado para casi toda arquitectura de memoria distribuida), y rpidos, (porque cada implementacin de la biblioteca ha sido optimizada para el hardware en la cual se ejecuta).

RPC
El Remote Procedure Call (RPC) (del ingls, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar cdigo en otra mquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tena que estar pendiente de las comunicaciones, estando stas encapsuladas dentro de las RPC.

Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o funcin y enviando ste de vuelta el resultado de dicha operacin al cliente. Hay distintos tipos de RPC, muchos de ellos estandarizados como pueden ser el RPC de Sun denominado ONC RPC (RFC 1057), el RPC de OSF denominado DCE/RPC y el Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM, aunque ninguno de estos es compatible entre s. La mayora de ellos utilizan un lenguaje de descripcin de interfaz (IDL) que define los mtodos exportados por el servidor. Hoy en da se est utilizando el XML como lenguaje para definir el IDL y el HTTP como protocolo de red, dando lugar a lo que se conoce como servicios web. Ejemplos de stos pueden serSOAP o XML-RPC.

Marshalling es similar a la serializacin y se utiliza para comunicarse con objetos remotos con un objeto, en este caso un objeto serializado . Se simplifica la comunicacin compleja, el uso de objetos personalizados / complejo para comunicarse en lugar de primitivas . Lo opuesto o inverso, de clculo de referencias se llama unmarshalling (odemarshalling , similar a deserializacin ).

Unmarshalling es el proceso de transformar el almacenamiento o la transmisin de la representacin de un objeto nuevo en su representacin de memoria original. Es la inversa de clculo de referencias.

Middleware es un software que asiste a una aplicacin para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos. ste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones que son necesarias en los sistemas distribuidos. De esta forma se provee una solucin que mejora la calidad de servicio, 1 seguridad, envo de mensajes, directorio de servicio, etc. Funciona como una capa de abstraccin de software distribuida, que se sita entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, as como de los sistemas operativos y lenguajes de programacin, proporcionando una API para la fcil programacin y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, sern tiles diferentes tipos de servicios de middleware. Por lo general el middleware del lado cliente est implementado por el Sistema Operativo, el cual posee las bibliotecas que ejecutan todas las funcionalidades para la comunicacin a travs de la red.

You might also like