Sie sind auf Seite 1von 3

Francisco Luis Morcillo Garca

Arquitecturas Paralelas

PROCESADORES SISTLICOS
Los procesadores sistlicos son el resultado de los avances en tecnologa de
semiconductores y en las aplicaciones que requieren un amplio rendimiento.
Fue en 1978 cuando H. T. Kung y C. E. Leiserson introdujeron el trmino
"sistlico" y el concepto subyacente, para resolver problemas de sistemas de propsito
especfico que deben balancear el bandwidth entre una intensiva cantidad de clculos y
gran cantidad de requerimientos de E/S. Los procesadores convencionales estn muy a
menudo limitados por la disparidad del bandwidth de Entrada y el bandwidth de Salida, el
cual se produce debido a que los tems de datos deben ser ledos y grabados cada vez que se
los referencia.
Una razn para elegir el trmino "systolic" como parte de Systolic Array puede
verse en la analoga con el sistema de circulacin humano, en el cual el corazn entrega y
recibe una gran cantidad de sangre como resultado del bombeo rtmico e ininterrumpido de
pequeas cantidades de ese fluido a travs de venas y arterias. En esta analoga el corazn
corresponde a la fuente y destino de los datos, como si fuera una memoria global; y la red
de venas es equivalente al array de procesadores y sus conexiones.
Las arquitecturas Sistlicas
(array
sistlicos)
son
multiprocesadores pipelinizados en
los cuales los datos se bombean en
forma rtmica desde la memoria y a
travs de la red de procesadores
antes de ser devueltos a la memoria
(ver Fig. 1). La informacin circula
entre los procesadores como en un
pipeline, pero slo los procesadores
frontera mantienen comunicacin con el exterior.

Figura 1

Un reloj global conjuntamente con mecanismos explcitos de retardo sincronizan el


flujo de datos a travs del pipe que se conforma con los datos obtenidos de la memoria y los
resultados parciales que usa cada procesador.
Los procesadores modulares unidos mediante una red local y regular proveen los
ladrillos bsicos para construir una buena variedad de sistemas de propsito especfico.
Durante cada intervalo de tiempo estos procesadores ejecutan una secuencia corta e
invariante de instrucciones. El trmino "array" se origina en la similitud de los systolic
array con una grilla o red en la cual cada punto corresponde a un procesador y cada hilo a
una conexin entre los procesadores. Visto como esta estructura los sistlicos son
descendientes de las arquitecturas del tipo array, tales como los arrays interactivos, los
autmatas celulares y los procesadores array.

Si bien la estructura array caracteriza las interconexiones en los sistlicos, es el


trmino "systolic" el que capta el comportamiento innovador y distintivo de estos sistemas.
"Systolic" en este contexto significa que los clculos pipeline se realizan en todas las
dimensiones del array y brindan como resultado un muy alto rendimiento computacional.
Son sistemas de cmputos altamente especializados en los que se debe realizar operaciones
concurrentes y que se caracterizan por la gran cantidad y diversidad de procesadores.
La tecnologa apta para esto es la VLSI (Integracin en muy alta escala). De todas
maneras existe un lmite tecnolgico, inclusive el de la velocidad de la luz. Luego para
conseguir altas velocidades de procesamiento se recurre al uso simultneo de procesadores.
O sea que los algoritmos a utilizar deben permitir un alto grado de pipelining y
multiprocesamiento.
En otras palabras, los algoritmos sistlicos administran los clculos de manera tal que un
tem de dato no se usa solamente cuando es input sino tambin es reutilizado movindose a
travs del pipeline en el array.
En estos casos se hacen crticas las redes de interconexin. La misma consiste en un
conjunto de procesadores interconectados que realizan operaciones simples. La
interconexin puede generar vectores, matrices, rboles, etc.
Esto resulta en un balance del ancho de banda (bandwidth) entre el procesamiento y la
entrada/salida, especialmente en problemas de compute-bound que tienen ms clculos a
realizar que entradas y salidas. La idea (como se ve en la Figura 1) es que desde la memoria
se "bombea" la informacin como desde un corazn, y esta fluye de un Procesador al
siguiente.
Esto es adecuado para procesos con mucho tiempo de clculo y donde varias
operaciones se realizan en forma repetida sobre un mismo dato. Este tipo de arquitecturas
es la apropiada para resolver problemas de alta repeticin y muy especficos, o sea se
desarrollan para casos especiales y no se busca la resolucin de problemas en general.
Es apropiado hablar brevemente sobre los tres factores que caracterizan a los
sistlicos as como fueron originalmente propuestos, a saber: tecnologa, procesamiento
pipeline/paralelo, y aplicaciones. Estos factores identifican tambin las razones para el
xito del concepto, especialmente eficacia de costos, alta performance, y la abundancia de
aplicaciones para las cuales son utilizados.

COMPUTADORES DE FLUJO DE DATOS


Se trata de una nueva arquitectura en evolucin y que puede ofrecer soluciones muy
eficaces. Carece de flujo de control y de Contador de Programa. Las instrucciones se
activan segn la disponibilidad que exista de los operandos.
Los procesadores de flujo de datos tienen una estructura de conduccin de datos
caracterizada por un estado de muestreo pasivo. Las instrucciones se examinan para

detectar si los operandos que precisan estn disponibles. Si es as, se efectan


inmediatamente, cuando se halla desocupada la unidad correspondiente, alcanzndose un
alto grado de paralelismo al conseguir que varias instrucciones se ejecuten simultnea y
asncronamente.
Las arquitecturas de flujo de datos van dirigidas por el flujo de los datos desde un
productor a un consumidor, comunicndose mediante tokens de datos. Cuando estn
disponibles todas las entradas necesarias, tiene lugar el procesamiento (en contraste a la
arquitectura Von Neumann, que tiene control del flujo dirigido por las instrucciones del
programa). Las arquitecturas de flujo de datos son apropiadas para el procesamiento en
paralelo, particularmente en aplicaciones basadas en el conocimiento, tal como el proyecto
de quinta generacin japonesa.