miércoles, 10 de febrero de 2016

Arquitecturas Paralelas

SISD (Single Instruction, Single Data)
Se refiere a las computadoras convencionales de Von Neuman. Ejemplo: PC’s.
En la categoría SISD están la gran mayoría de las computadoras existentes. Son equipos con un solo procesador que trabaja sobre un solo dato a la vez. A estos equipos se les llama también computadoras secuenciales.




SIMD (Single Instruction, Multiple Data)
Arreglo de procesadores. Cada procesador sigue el mismo conjunto de instrucciones; diferentes elementos de información son asignados a cada procesador. Utilizan memoria distribuida. Típicamente tienen miles procesadores simples. Son utilizadas en redes neuronales.
Las computadoras SIMD tienen una sola unidad de control y múltiples unidades funcionales. La unidad de control se encarga de enviar la misma instrucción a todas las unidades funcionales. Cada unidad funcional trabaja sobre datos diferentes. Estos equipos son de propósito específico, es decir, son apropiados para ciertas aplicaciones particulares, como por ejemplo el procesamiento de imágenes.



MIMD (Multiple Instruction, Multiple Data)
Múltiples computadoras y multiprocesadores. Las piezas de código distribuidas entre los procesadores. Los procesadores pueden ejecutar la misma o instrucción o diferentes instrucciones. Se puede decir que MIMD es un super conjunto de SIMD.
Diferentes elementos de información se asignan a diferentes procesadores. Pueden tener memoria distribuida o compartida.
Cada procesador MIMD corre casi independientemente de los otros.
Las computadoras MIMD pueden ser utilizadas en aplicaciones con información en paralelo o con tareas en paralelo.
En la categoría MIMD están los equipos con varios procesadores completos. Cada procesador tiene su propia unidad de control y su propia unidad funcional. Esta categoría incluye varios subgrupos: Equipos de memoria compartida, equipos de memoria distribuida y redes de computadores. Los equipos MIMD son de propósito general.
Ejemplos:
o SGI/Cray Power Challenge Array
o SGI/Cray Origin-2000
o HP/Convex SPP-2000
 
MISD (Multiple Instruction, Single Data)
No son usadas, y no son significativas.
Es un tipo de arquitectura computacional(particularmente de computación paralela) donde muchas unidades funcionales realizan diferentes operaciones en los mismos datos. Las arquitecturas segmentadas pertenecen a este tipo, aunque en un extremo se podría llegar a decir que los datos son diferentes después de ser procesados por cada etapa en el pipeline, con lo cual no entraría en esta categoría.
Las máquinas tolerantes a fallos ejecutan la misma instrucción redundantemente para detectar y corregir errores, utilizando task replication, son consideradas de este tipo. No existen muchos ejemplos de esta arquitecura dado que las técnicas más comunes de procesamiento de datos en paralelo suelen ser más apropiadas para MIMD y SIMD. Específicamente, facilitan el escalamiento y el uso de recursos computacionales mejor que MISD.
Procesador Vectorial

Las características principales de los procesadores vectoriales son:

·       La capacidad de aplicar una instrucción a un conjunto de datos, en otras palabras un vector, de una sola vez. Los procesadores vectoriales consiguen esto a través de las áreas en la memoria especialmente diseñadas llamadas registros vectoriales los cuales pueden ser llenados con las instrucciones vectoriales, devolviendo resultados mucho más rápidos que los tradicionales procesadores escalares.
·       Unidades de función profundamente encauzadas para alto rendimiento total, ciclos de reloj muy cortos.
·        Abundancia de registros vectoriales largos para alimentar las unidades de función y recibir los resultados.
·   Rutas de transferencia de datos de gran ancho de banda entre memoria y registros vectoriales.




Multiprocesador (UMA,COMA,NUMA) 
  

   Un multiprocesador puede verse como un computador paralelo compuesto por varios procesadores interconectados que comparten un mismo sistema de memoria.
Los sistemas multiprocesadores son arquitecturas MIMD con memoria compartida. Tienen un único espacio de direcciones para todos los procesadores y los mecanismos de comunicación se basan en el paso de mensajes desde el punto de vista del programador.
Dado que los multiprocesadores comparten diferentes módulos de memoria, pudiendo acceder a un mismo módulo varios procesadores, a los multiprocesadores también se les llama sistemas de memoria compartida.
Dependiendo de la forma en que los procesadores comparten la memoria, se clasifican en sistemas multiprocesador UMA, NUMA y COMA.


Multicomputadoras
Los sistemas de memoria distribuida o multicomputadoras pueden ser de dos tipos básicos. El primer de ellos consta de un único computador con múltiples CPUs comunicadas por un bus de datos mientras que en el segundo se utilizan múltiples computadores, cada uno con su propio procesador, enlazados por una red de interconexión más o menos rápida.

Sobre los sistemas de multicomputadoras de memoria distribuida, se simula memorias compartidas. Se usan los mecanismos de comunicación y sincronización de sistemas multiprocesadores.

Un clúster es un tipo de arquitectura paralela distribuida que consiste de un conjunto de computadores independientes interconectados operando de forma conjunta como único recurso computacional sin embargo, cada computador puede utilizarse de forma independiente o separada.

En esta arquitectura, el computador paralelo es esencialmente una colección de procesadores secuenciales, cada uno con su propia memoria local, que pueden trabajar conjuntamente.

· Cada nodo tiene rápido acceso a su propia memoria y acceso a la memoria de otros nodos mediante una red de comunicaciones, habitualmente una red de comunicaciones de alta velocidad.
·  Los datos son intercambiados entre los nodos como mensajes a través de la red.
·Una red de ordenadores, especialmente si disponen de una interconexión de alta velocidad, puede ser vista como una multicomputadora de memoria distribuida y como tal ser utilizada para resolver problemas mediante computación paralela.


 Arreglo Sistolico
Una arquitectura y un paradigma aplicables a la computación en paralelo. Los algoritmos paralelos sistólicos exhiben un flujo direccional por el cual los datos se dividen y quedan en cola para pasar por iguales secuencias de procesamiento al moverse de un proceso al siguiente. La metáfora del flujo de sangre ha servido para caracterizar el flujo de datos a lo largo del proceso.



No hay comentarios:

Publicar un comentario