Arquitectura paralela

Preview:

DESCRIPTION

trabajo, Arquitectura de computación paralela -SISD (Von Neumann) -MISD -SIMD -MIMD (multiprocesador - multicomputadora)

Citation preview

• Modelo estándar de computación basado en la Arquitectura de Von Neumann

• Modelo robusto, independiza al programador de la arquitectura subyacente.

• Permitió el desarrollo de las técnicas de programación (estándar).

SISD SIMD MIMD MISD

Procesador de vectores Multi-

procesadores

Arreglo de procesadores

UMA COMA NUMA

NC-NUMA CC-NUMA Conmutado Bus

Cuadrícula Hyper-cubo

MPP COW

Multi-computadoras

(Von Neumann) ?

Memoria compartida

Transparencia de mensajes

UC=Unidad de Control, UP=Unidad de Procesamiento, UM=Unidad de Memoria, EP=Elemento de Proceso, ML=Memoria Local, FI=Flujo de Instrucciones, FD=Flujo de datos.

Las computadoras paralelas se clasifican en cuatro categorías y pueden dividirse en dos categorías principales: SIMD y MIMD.

Las máquinas SISD es la computadora secuencial clásica de Von Neumann; tiene un flujo de instrucciones, un flujo de datos y hacen una cosa a la vez.

Las máquinas MISD son una categoría un tanto extraña, en la que varias instrucciones que operan con un mismo dato.

Las máquinas SIMD ejecutan una instrucción a la vez en paralelo con muchos conjuntos de datos. Esta máquina incluyen los procesadores de arreglos y las computadoras vectoriales.

Las máquinas MIMD, que dominan la computación en paralelo, ejecutan diferentes programas en diferentes máquinas.

Las máquinas MIMD se pueden dividir en multiprocesadores, que comparten la memoria primaria, y multicomputadoras, que no lo hace.

Se usan muchas topologías, que incluyen cuadriculas, toroides, anillos e hipercubos.

ESTRELLA INTERCONEXIÓN TOTAL

ÁRBOL ANILLO

CUADRÍCULA TOROIDE DOBLE CUBO HIPERCUBO 4D

Para todos los multiprocesadores, uno de los aspectos clave es el modelo de consistencia de la memoria que se maneja. Entre los modelos más comunes están la consistencia secuencial, la consistencia de procesador, la consistencia débil y la consistencia de liberación.

Se pueden construir multiprocesadores en los que se espía el bus (usando el protocolo MESI, por ejemplo). También son posibles diseños de barras cruzadas y redes de conmutación. Otra posibilidades son las máquinas NUMA y COMA basadas en directorios

Las multicomputadoras se pueden dividir a grandes rasgos en MPP y COW, aunque la frontera es un tanto arbitraria. Los MPP son enormes sistemas comerciales, como el Cray T3E y el Intel/Sandia Option Red, que usan interconexiones de alta velocidad patentadas.

La red de interconexión

En contraste, los COW se construyen con piezas comerciales, como Ethernet, ATM o Myrinet. Las multicomputadoras a menudo se programan empleando un paquete de transferencia de mensajes como PVM o MPI. Ambos cuentan con llamadas de biblioteca para enviar y recibir mensajes y se ejecutan encima de sistemas operativos existentes.

Una estrategia alternativa es usar memoria compartida en el nivel de aplicaciones, como un sistema DSM basado en páginas, el espacio de tuplas Linda o los objetos Orca o Globe.

DSM simula una memoria compartida en el nivel de páginas, lo que lo hace similar a una máquina NUMA, excepto que las referencias remotas son muchas más lentas. Linda, Orca y Globe proporcionan al usuario la ilusión de un modelos de memoria compartida(restringido) empleando tuplas, objetos locales y objetos globales, respectivamente.

Recommended