Sei sulla pagina 1di 11

Arquitectura de Computadoras II

Introduccin a las Arquitecturas Paralelas



Arquitectura Paralela
La arquitectura paralela o de lneas paralelas (pipe-line), es una tcnica en la
que se descomponen un proceso secuencial en sub operaciones, y cada
subproceso se ejecuta en un segmento dedicado especial que opera en forma
concurrente con los otros segmentos. Una lnea puede considerarse como un
conjunto de segmentos de procesamiento por el que fluye informacin binaria.
Cada segmento ejecuta un procesamiento parcial, dictado por la manera en
que se divide la tarea.
El resultado obtenido del clculo en cada segmento se transfiere al siguiente
segmento en la lnea. El resultado final se obtiene despus de que los datos
han recorrido todos los segmentos.
El nombre lnea implica un flujo re informacin similar a una lnea de
ensamblado industrial. Es caracterstico de las lneas que varios clculos
puedan estar en proceso en distintos segmentos, al mismo tiempo.
La simultaneidad de los clculos es posible al asociar un registro con cada
segmento en la lnea. Los registros proporcionan aislamiento entre cada
segmento para que cada uno pueda operar sobre datos distintos en forma
simultnea.
Tal vez la manera ms simple de apreciar la arquitectura de lneas paralelas es
imaginar que cada segmento consta de un registro de entrada seguido de un
circuito combinatorio.
El registro contiene los datos y el circuito combinatorio ejecuta las sub
operacin en el segmento particular. La salida del circuito combinacional es un
segmento dado se aplica al registro de entrada del siguiente segmento.
Se aplica un reloj a todos los registros despus de que se ha transcurrido un
tiempo suficiente para ejecutar toda la actividad del segmento. De esta manera
la informacin fluye por la lnea un paso a la vez.
La organizacin de la lnea se mostrar mediante un ejemplo:
Supongamos que deseamos ejecutar las operaciones multiplicar y sumar
combinadas con un flujo de nmeros.




Procesamiento Paralelo
El procesamiento paralelo es un trmino que se usa para denotar un grupo de
tcnicas significativas que se usan para proporcionar tareas simultneas de
procesamiento de datos con el fin de aumentar la velocidad computacional de
un sistema de computadoras.
En lugar de procesar cada instruccin en forma secuencial como es una
computadora convencional, un sistema de procesamiento paralelo puede
ejecutar procesamiento concurrente de datos para conseguir un menor tiempo
de ejecucin. Por ejemplo, cuando se ejecuta una instruccin en la ALU, puede
leerse la siguiente instruccin de la memoria.
El sistema puede tener 2 o mas ALUS y ser capaz de ejecutar dos o mas
instrucciones al mismo tiempo. Adems, el sistema puede tener dos o ms
procesadores operando en forma concurrente.
EL propsito del procesamiento paralelo es acelerar las posibilidades de
procesamiento de la computadora y aumentar su eficiencia, esto es, la
capacidad de procesamiento que puede lograrse durante un cierto intervalo de
tiempo.
La cantidades de circuitera aumenta con el procesamiento paralelo y, con el,
tambin el costo del sistema. Sin embargo, los descubrimientos tecnolgicos
han reducido el costo de la circuitera a un punto en donde las tcnicas de
procesamiento paralelo son econmicamente factibles.
Uso de muchas unidades de proceso independientes para ejecutar distintas
partes de una tarea en simultneo.
Principal objetivo: Aumento del RENDIMIENTO. Aumento de la capacidad para
resolver problemas computacionales grandes
Cmo?
Divisin del trabajo en tareas mas pequeas e independientes
Asignacin de las tareas a distintas unidades de proceso
Resolucin de las tareas en simultneo.
Problemas:
Sincronizacin de las tareas.


Control de ejecucin simultanea
Conflictos debidos a dependencias
Procesamiento Paralelo

Limitaciones:
En algunos problemas el incremento del nmero de procesadores no mejora el
rendimiento global, incluso empeora la eficiencia del sistema.
La eficiencia se mejora cuando:
Se logra un balance de carga entre procesadores: igual Numero de tareas de
igual tamao
Se minimiza la interaccin entre tareas: se minimiza la comunicacin o, al
menos,
se mejoran los canales de comunicacin elementos de proceso eficiencia
Sistema paralelo
Conjunto de elementos de proceso que, operando juntos, permiten resolver
problemas computacionales complejos de forma eficiente
Caractersticas de un sistema paralelo:
Cantidad y potencia de los elementos de proceso
Tipo y Tamao de la memoria
Forma de comunicacin entre los elementos de proceso
Rendimiento
Escalabilidad del sistema
Recursos de potencia requeridos

Niveles de paralelismo
El paralelismo puede estudiarse a varios niveles:
Trabajo: Dos programas distintos pueden ejecutarse en paralelo



Tarea: En este nivel se consideran varias tareas independientes entre si
formando parte de un programa determinado. Es posible la interaccin de las
tareas
Proceso: Varios procesos componen una tarea. Son bloques con
Funcionalidad bien definida.


Variable: El paralelismo puede darse a nivel de variables ya que varias
instrucciones pueden ser ejecutadas en paralelo siendo el punto de conflicto las
variables en comn
Bit: Todos los computadores usan paralelismo a nivel de bit

Arquitecturas de procesadores
Complejidad del procesador:
Arquitectura caracterstica y estructura de cada procesador del sistema.
ntimamente ligado con la funcionalidad (variedad de operaciones y cantidad de
instrucciones) Arreglos sistlicos homogneos complejidad baja
Arquitecturas de procesadores
Modo de operacin:
Forma de controlar la secuencia de operaciones a realizar para llevar adelante
la ejecucin de una tarea
Control flow
Las instrucciones se ejecutan en el orden dispuesto por el algoritmo.
Data flow
Las operaciones se realizan segn la disponibilidad de datos.
Demand flow
Los resultados parciales se calculan por demanda, o sea cuando se los
necesita.



Arquitecturas de procesadores.
Organizacin de la memoria:
Tipo de memoria utilizada en el sistema
Direccionable: Accedida por referencias a los datos.
Asociativa: Accedida por contenido.
Interconectada: Accedida por cualidades de los datos (redes neuronales).


Arquitecturas de procesadores
Red de interconexin:
Conexionado de hardware entre procesadores y entre Procesadores y
memorias
La arquitectura de conexionado debe ajustarse lo mejor posible a la topologa
de un algoritmo para mejorar la performance

Arquitecturas de procesadores
Nmero de procesadores y tamao de la memoria:
Potencia de clculo del sistema y capacidad de almacenamiento de datos del
mismo
Clasificacin:
Sistemas grandes: ms de 1000 procesadores
Sistemas medios: de 100 a 1000 procesadores
Sistemas chicos: hasta 100 procesadores




Organizacin de las arquitecturas

Nivel de trabajo Distribuido Redes de computadoras

Nivel de tarea Multicomputadoras Pasaje de mensajes
Nivel de proceso
Nivel de instruccin paralelo Memoria compartida
Nivel de variable multiprocesadores
Nivel de bit
HARDWARE
GRANULARIDAD GRADO DE MODO DE
DEL ALGORITMO ACOPLAMIENTO COMUNICACION

mbitos de uso de la computacin paralela.
Simulacin de modelos complejos
Diseo y automatizacin de proyectos de ingeniera
Exploracin petrolera y minera
Medicina
rea militar
Cine: efectos visuales, animacin 3D
Realidad Virtual
Comercio electrnico
Mega bases de datos (Google, Youtube, Rapidshare)

Lmites tecnolgicos


El feature size (d) determina el tamao de las compuertas en la tecnologa
CMOS de manera que:
Un aumento de la velocidad de reloj es proporcional a =1/d
Un aumento del nmero de transistores es proporcional a

CATEGORIZACION DE FLYNN
COMPUTACIN DE ALTA PERFORMANCE
SISD - Modelo convencional de Von Neumann.
SIMD - Paralelismo de datos, computacin vectorial.
MISD - Arrays sistlicos.
MIMD Modelo general, varias implementaciones.

El curso se enfocar en el modelo MIMD, utilizando procesadores de propsito
general o multicomputadores.

MODELO SISD
Mquina de Von Neumann
Un procesador capaz de realizar acciones secuencialmente, controladas por
un programa el cual se encuentra almacenado en una memoria conectada al
procesador.
Este hardware esta diseado para dar soporte al procesamiento secuencial
clsico, basado en el intercambio de datos entre memoria y registros del
procesador, y la realizacin de operaciones aritmticas en ellos.
MODELO SISD
Algunas mquinas secuenciales modernas no corresponden estrictamente al
modelo SISD.
A partir de la introduccin de los procesadores RISC se comenz a utilizar
varios conceptos de las arquitecturas paralelas, como pipelining, ejecucin
paralela de instrucciones no dependientes, prefetching de los datos, etc.,
Dependientes, prefetching de los datos, etc., para lograr un incremento en la
cantidad de operaciones por ciclo de instruccin.


EL MODELO SISD NO FUE SUFICIENTE
Los problemas crecieron, o surgi la necesidad de resolver nuevos
problemas de grandes dimensiones (manejando enormes volmenes de
datos, mejorando la precisin de las grillas, etc.).
Si bien las maquinas SISD mejoraron su performance.
Arquitecturas CISC y RISC.
Compiladores optimizadores de cdigo.
Procesadores acelerando ciclos de relojes, etc.
An no fue suficiente, y se prev que el ritmo de mejoramiento se
desacelere (debido a limitaciones fsicas).
En este contexto se desarrollaron los computadores paralelos.

MODELO SIMD
Un nico programa controla los procesadores.
til en aplicaciones uniformes
Procesamiento de imgenes.
Multimedia.
Aplicaciones numricas sobre grillas.
Su aplicabilidad est limitada por las comunicaciones entre procesadores
comunicaciones entre procesadores.
La topologa de interconexin es fija.
Los elementos de procesamiento tienen capacidad de cmputo limitada (1 bit
a 8 bits), por lo que se pueden colocar una gran cantidad por chip.
Fueron los primeros multiprocesadores difundidos comercialmente (en la
dcada de 1980)
Ejemplos comerciales
Cray X-MP (computador ms potente entre 19831985)
Connection Machine (CM-2, CM-200, dcada de 1980).
MasPar MP2 (inicios de la dcada de 1990).


MODELO MISD
Systolic Arrays, FPGA celulares.
Tambin pertenecen los computadores tolerantes a fallos que utilizan
ejecucin redundante para detectar y enmascarar errores.
No existen otras implementaciones especficas.
Los modelos MIMD y SIMD son ms apropiados para la aplicacin del
paralelismo tanto a nivel de datos como de control.
Consistieron en el siguiente paso en la evolucin de las arquitecturas
paralelas.
Fueron lentamente desplazando al modelo SIMD.
A diferencia de los modelos SISD y MISD, las
Computadoras MIMD pueden trabajar asincrnicamente (los procesadores
tienen la capacidad de funcionamiento semi-autnomo).

ARQUITECTURA MIMD
Existen dos tipos de computadores SIMD, de acuerdo al mecanismo utilizado
para comunicacin y sincronizacin:
MIMD de memoria compartida (fuertemente acopladas).
MIMD de memoria distribuida (poco acopladas).

MIMD CON MEMORIA COMPARTIDA
Memoria global (compartida por todos los procesadores)
Procesadores autnomos, trabajan asincrnicamente.
Comunicacin entre procesadores a travs del recurso compartido.
Comunicacin y sincronizacin se realiza en forma explcita.
Emisor escribe y receptor lee de la memoria global.



MIMD CON MEMORIA COMPARTIDA
Fciles de construir.
SO convencionales de los SISD son portables.
Buena solucin para procesamiento transaccional (sistemas multiusuario,
etc.)
Limitacin: confiabilidad y escalabilidad.
Un fallo de memoria de algn componente puede causar un fallo total del
sistema.
Incrementar el nmero de procesadores puede llevar a problemas en el
acceso a memoria.

Arquitectura paralela para suma y resta de punto flotante

Se restan los dos exponentes en el primer segmento para obtener 3 2 = 1. Se
escoge el exponente ms grande, 3, como el exponente del resultado.
El siguiente segmento recorre a la derecha la mantisa de Y para obtener:

X = 0.9504 X 10
3

Y = 0.0820 X 10
3

Esto alinea las dos mantisas bajo el mismo exponente. La suma de las dos
mantisas en el segmento 3 produce la suma:

Z = 1.0324 X 10
3

Se ajusta la suma al normalizar el resultado para que tenga una fraccin con un
primer dgito diferente de 0. Esto se hace al recorrer a la derecha una vez la
mantisa e incrementar el exponente en 1 para obtener la suma normalizada.
Z = 0.10324 X 104

ARQUITECTURA PARALELA RISC.

Entre las caractersticas que se le atribuyen a Risc esta la capacidad e usar un
conjunto de instrucciones eficientes para implantar una lnea paralela de
instrucciones con numero pequeo de operaciones y de cada una se ejecute
en un ciclo de reloj. Debido al formato de instrucciones de longitud fija, la
descodificacin de la operacin puede ocurrir al mismo tiempo que la seleccin
de registros .Todas las instrucciones de manipulacin de datos tiene operacin
de datos tiene operaciones registros a registros. Como todos los operandos
estn en registros, no es necesario calcular una direccin

Potrebbero piacerti anche