Вы находитесь на странице: 1из 36

TIPOS DE COMPUTACIN PARALELA

La creciente complejidad de los problemas tratados en ciertas reas de la ciencia, la ingeniera, el procesamiento de datos, etc., requieren una gran capacidad de clculo. Es un hecho bien establecido que para algunos problemas tales como los mtodos numricos, la simulacin, la optimizacin, etc.

Las aplicaciones de esta rea de la computacin se extienden a diferentes disciplinas. La Figura 2.1 muestra los requerimientos computacionales para distintos campos de aplicacin.

La computacin paralela o procesamiento en paralelo consiste en acelerar la ejecucin de un programa mediante su descomposicin en fragmentos que pueden ejecutarse de forma simultnea, cada uno en su propia unidad de proceso. Normalmente, los problemas no pueden dividirse perfectamente en partes totalmente independientes y se necesita, por tanto, una interaccin entre ellas que ocasiona una disminucin de la velocidad computacional. En este sentido se habla de mayor o menor grado de paralelismo en la medida en que un algoritmo sea ms o menos divisible en partes independientes con igual coste computacional.

Entre las interacciones hay que considerar principalmente las dos siguientes: a) La transferencia de datos. b) La sincronizacin de los clculos de los diferentes procesadores.

El concepto de computador paralelo, como es de esperar, no es una idea nueva. Por ejemplo, Gill ya escribi acerca de la programacin paralela en 1958, y un ao despus Holland plante la posibilidad de que un computador pudiera ejecutar un nmero arbitrario de subprogramas simultneamente. En

1963 Conway describe el diseo de un computador paralelo y su programacin, y 40 aos ms tarde se siguen encontrando numerossimos artculos con ttulos y planteamientos similares a los que ya apuntaban estos precursores del campo de la computacin paralela.

1.1 TAXONOMA DE LAS ARQUITECTURAS PARALELAS

Las diferentes posibilidades existentes para desarrollar sistemas paralelos hacen que una clasificacin definitiva sea complicada, y seguramente estril. Por ello, en primer lugar se recuerdan las caractersticas bsicas del modelo secuencial, con el fin de delimitar los aspectos bsicos que son comunes o diferentes de los sistemas paralelos. Seguidamente se muestra una clasificacin clsica propuesta por Flynn, que se basa en el flujo de instrucciones y en el flujo de datos, es decir, el mecanismo de control utilizado. Sin embargo, existe una gran cantidad de criterios, aunque no todos mutuamente excluyentes entre s, para establecer una clasificacin de las distintas arquitecturas paralelas.

1.2 ARQUITECTURA DE LOS COMPUTADORES SECUENCIALES


Como es bien sabido, los computadores secuenciales, tambin denominados computadores serie, se basan en la arquitectura de J. von Neumann. En este modelo se considera una nica secuencia de instrucciones que tratan una nica secuencia de datos. Por ello se conocen como computadores SISD. Arquitectura de Von Neumann Un computador de Von Neumann usa el concepto de programa-almacenamiento. El CPU ejecuta un programa que especfica una secuencia de operaciones de lectura y escritura en la memoria.

Diseo Bsico: Memoria es usada para almacenar el programa y las instrucciones sobre los datos Instrucciones del Programa son datos codificados que le dice al computador que hacer Los datos es simplemente informacin a ser usada por el programa La unidad de procesamiento central (CPU) obtiene instrucciones y/o datos de la memoria, decodifica las instrucciones y secuencialmente ejecuta stas.

La ms conocida es la segmentacin (pipelining). La segmentacin de instrucciones consiste en traer a la cola de instrucciones la instruccin siguiente a la que se est ejecutando. En ltimo trmino se realiza la segmentacin de ejecucin, o segmentacin encauzada, en la que se permite que varias instrucciones se ejecuten simultneamente en diferentes unidades funcionales de clculo (multiplicadores, sumadores, unidad de carga/almacenamiento, ...), durante las diferentes etapas en las que se divide la ejecucin de la instruccin.

El rendimiento que se obtiene recurriendo a una mquina con segmentacin es, por lo general, muy superior al de la versin no segmentada. Obsrvese la Figura, en la que se muestra una segmentacin tpica e ideal de un procesador RISC (Reduced Instruction Set Computer) con cinco etapas de ejecucin: IF (bsqueda de la instruccin) ID (decodificacin de la instruccin y lectura de los registros) EX (operaciones aritmticas) MEM (lectura/escritura de/en memoria) WB (escritura en los registros).

2.2.1 TAXONOMA DE FLYNN

En 1966 Flynn propuso una clasificacin generalista de los computadores, adoptando como criterio el flujo de instrucciones y el flujo de datos que en ellos se desarrolla. Se entiende por flujo (stream) una secuencia de elementos, en este caso de datos o de instrucciones. As, la clasificacin de Flynn es la siguiente:

SINGLE INSTRUCTION, SINGLE DATA (SISD):

Un nico procesador interpreta una nica secuencia de instrucciones, para operar con los datos almacenados en una nica memoria. Los computadores monoprocesador caen en esta categora.
Unidad de control SI Unidad de proceso SD Unidad de memoria

Data Input

Processor

Instructions

Data Output

SINGLE INSTRUCTION, MULTIPLE DATA (SIMD):

Una nica instruccin de mquina controla paso a paso la ejecucin simultnea y sincronizada de un cierto nmero de elementos de proceso. Cada elemento de proceso tiene una memoria asociada, de forma que cada instruccin es ejecutada por cada procesador, con un conjunto de datos diferentes. Los procesadores matriciales y vectoriales pertenecen a esta categora.
Instruction
Stream

Data Input stream A Data Input stream B Data Input stream C

Processor

A
Processor

B
Processor

Data Output stream A Data Output stream B Data Output stream C

MULTIPLE INSTRUCTION, SINGLE DATA (MISD):

Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instrucciones diferente. Esta estructura ha sido implementada slo con fines de investigacin.
Instruction Stream A Instruction Stream B Instruction Stream C
Processor

A Data Input Stream


Processor

B
Processor

Data Output Stream C

MULTIPLE INSTRUCTION, MULTIPLE DATA (MIMD):

Un conjunto de procesadores ejecuta simultneamente secuencias de instrucciones diferentes con conjuntos de datos diferentes. Los clusters son ejemplos de esta categora.
Instruction Stream A Instruction Stream B Instruction Stream C

Data Input stream A Data Input stream B Data Input stream C

Processor

A
Processor

Data Output stream A Data Output stream B


Processor

B
C
Data Output stream C

2.2.2 Organizacin del espacio de direcciones de memoria


El intercambio de informacin entre procesadores depende del sistema de almacenamiento que se disponga. Atendiendo a este criterio se obtiene una nueva clasificacin de las arquitecturas paralelas en:
Sistemas

de memria compartida o multiprocesadores. Sistemas de memria distribuda o multicomputadores.

Sistemas de memria compartida o multiprocesadores.

Los procesadores de los sistemas con memoria compartida se caracterizan por compartir fsicamente la memoria, es decir, todos acceden al mismo espacio de direcciones. Un valor escrito en memoria por un procesador puede ser ledo directamente por cualquier otro. En principio, en esta arquitectura la memoria es igualmente accesible por todos los procesadores a travs de la red de interconexin. As se desarrollaron los primeros computadores de esta arquitectura, tales como el NYU Ultracomputer.

Unidad de Control 1

SI

Elemento de proceso 1

SD

Unidad de Control 2

SI

Elemento de proceso 2

SD

Memoria Compartida Unidad de Control n SI Elemento de proceso n SD

La mayora de los sistemas de memoria compartida incorporan una memoria cache local en cada procesador, y del mismo modo que en los computadores secuenciales, sirve para aumentar el ancho de banda entre el procesador y la memoria local. Anlogamente puede existir una memoria cache para la memoria global. Cuando se utilizan memorias cache es fundamental asegurar la coherencia de la informacin en la memoria cache

SISTEMAS DE MEMRIA DISTRIBUDA O MULTICOMPUTADORES

En los sistemas de memoria distribuida cada procesador dispone de su propia memoria, denominada local o privada, independiente del resto y accesible slo por su procesador. La comunicacin se realiza por paso de mensajes, es decir, para que un dato que reside en la memoria de un procesador pase a la de otro, el primero debe construir un mensaje por software, enviarlo a travs de una red de interconexin y el segundo debe recibirlo.

Unidad de Control 1 Unidad de Control 2

SI

Elemento de proceso 1 Elemento de proceso 2

SD

Memoria Local 1 Memoria Local 2

SI

SD

Red de Interconexin

Unidad de Control n

SI

Elemento de proceso n

SD

Memoria Local n

CLASIFICACIN DE LAS ARQUITECTURAS PARALELAS

OTROS CRITERIOS DE CLASIFICACIN

La anterior clasificacin, siendo muy completa e ilustrativa, no puede considerarse definitiva. De hecho, atendiendo a otros factores o desde otros puntos de vista, se pueden realizar taxonomas diferentes como:

REDES DE INTERCONEXIN

REDES DE INTERCONEXIN

la red de interconexin es eficaz u ptima cuando la capacidad de clculo del sistema est equilibrada con respecto a la capacidad de transmisin de la red de interconexin. Cuando la capacidad de clculo se incrementa, las caractersticas de la red deben mejorarse en sintona con ella.

REDES DE INTERCONEXIN

LIMITACIONES:

En primer lugar el coste es mayor Limitaciones fsicas, como los retrasos inherentes a todo sistema de comunicacin.

REDES DE INTERCONEXIN
Los factores de la red de interconexin que ms influyen en el rendimiento del sistema son fundamentalmente cuatro: La topologa El mecanismo de conmutacin El control de flujo El algoritmo de encaminamiento.

REDES DE INTERCONEXIN

TOPOLOGA: Existe gran variedad, que va desde las estructuras sencillas de bajo coste y poco escalables, hasta los grafos ms complejos.

las redes de medio compartido el bus clasificadas en redes directas e indirectas

REDES DE INTERCONEXIN

MECANISMO DE CONMUTACIN En la actualidad se emplea conmutacin de paquetes, aunque en un principio se utilizaron tcnicas de conmutacin de circuitos. Esta tcnica slo es eficaz si la cantidad de informacin a enviar es elevada y/o la fluctuacin en el ritmo de transferencia es muy baja, que es la situacin contraria a la habitual en un sistema multiprocesador. En la conmutacin de paquetes no se reserva el medio, sino que la informacin se transmite en forma de paquetes siguiendo bien un camino establecido previamente o bien buscando su propia ruta al nodo destino. Esta tcnica implica la incorporacin de arbitrajes para gestionar los fenmenos de contencin, permite aumentar significativamente el nivel de ocupacin de la red.

REDES DE INTERCONEXIN
CONTROL DE FLUJO Los primeros multiprocesadores utilizaron la tcnica de control de flujo store-and-forwards, bien establecida en las redes de rea local. En 1979, Kermani y KZeinrock introdujeron la tcnica de control de flujo virtual cut-through6 (control de flujo segmentado). En ella cada unidad mnima de informacin intercambiable entre routers, denominada phit, puede ser reenviada al siguiente router, sin haber recibido todo el paquete.

REDES DE INTERCONEXIN

ALGORITMO DE ENCARNINAMIENTO el mtodo utilizado para elegir el camino entre cada origen y destino. La primera idea consiste en fijar una ruta predeterminada. Este tipo es denominado encaminamiento determinista. En l, los encaminadores son sencillos, rpidos y de bajo coste. Su principal desventaja es que puede provocar grandes desbalanceos en los niveles de ocupacin de los recursos en numerosas situaciones de trfico. Como alternativa apareci el encaminamiento adaptativo en el que la eleccin del camino depende de los nodos origen y destino y, adems, del estado de la red en el momento de la transmisin. Los encaminadores adaptativos son mucho ms complejos, con lo que aumenta su coste y disminuye su rapidez.

CARACTERSTICAS BSICAS DE ALGUNOS ENCAMINADORES

se observa que las mejoras en el desarrollo producen una reduccin en la duracin del ciclo.

CARACTERSTICAS BSICAS DE ALGUNOS ENCAMINADORES


El Cray T3E es el exponente de la segunda generacin de una familia de sistemas multiprocesador que comenz con el Cray T3D. La red de interconexin en ambos sistemas es un toro 3-D. Cada unidad de proceso est formada por un DEC Alpha 21164, 2 Gbytes de memoria, un router de comunicacin y un mdulo de control. Cada procesador es capaz de procesar instrucciones por periodo de reloj, llegando a tener un pico de hasta 600 Mflops para procesadores de 300 Mhz y 900 Mflops para procesadores de 450Mhz. Este procesador soporta aritmtica de 32 y 64 bits.

CARACTERSTICAS BSICAS DE ALGUNOS ENCAMINADORES

El Cray T3E - Arquitectura

CARACTERSTICAS BSICAS DE ALGUNOS ENCAMINADORES


Myrinet Es una red de interconexin ideada para NOWs (Network Of Workstations) de una red LAN con caractersticas particulares para su utilizacin en NOWs. As p (virtual cutthrough). Consta de dos elementos bsicos: de red y los conmutadores. Ambos elementos se pueden combinar de diversas formas diferentes topologas irregulares.

CARACTERSTICAS BSICAS DE ALGUNOS ENCAMINADORES

Red de interconexin basada en Myrinet.

CARACTERSTICAS BSICAS DE ALGUNOS ENCAMINADORES

Estructura de una interfaz de red Myrinet. Procesador LANai.

http://es.scribd.com/doc/33611771/Tiposde-computacion-paralela#download

Вам также может понравиться