14
ARQUITECTURAS PARALELAS ACTUALES

ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Embed Size (px)

Citation preview

Page 1: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

ARQUITECTURAS PARALELAS

ACTUALES

Page 2: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Arquitectura Paralela : AYERHistóricamente, la computación paralela ha consistido en una serie de modelos rivales y arquitecturas divergentes, sin una línea de desa-rrollo predecible

Arquitectura

Software de

Aplicaciones

Software del Sistema

ArraysSistólicos

Flujo de Datos Memoria Compartida

Pase deMensajes

SIMD

La incertidumbre arquitectural ha paralizado el desarrollo del software paralelo

Page 3: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Arquitectura Paralela : HOY

Extensión de la noción clásica de la arquitectura de computadores(ISA), para soportar comunicación y cooperación

Arquitectura de Comunicaciones =Abstracción de la Comunicación + Implementación

Abstracción:• Primitivas de comunicación HW/SW visibles al programador (ISA)

• Ej.: memoria compartida, pase de mensajes, …

• Se asume que las primitivas se implementan eficientemente

Implementación: • Integración del controlador de comunicaciones• Estructura de la red de interconexión

Page 4: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Arquitectura de Comunicaciones

Medio de Comunicación Físico

Hardware deComunicación

Soporte del Sistema Operativo

Abstracción de la Comunicación

Compilación Librería

Nivel Usuario

NivelSistema Frontera

Hardware/Software

Modelo de Programación

Paralelismo de datos

Pase deMensajes

MemoriaCompartida

Multi-Programación

Objetivos:• Amplia aplicabilidad• Facilidad de programación• Escalable• Bajo coste

Page 5: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Arquitecturas de Memoria Compartida

Propiedad Clave:

Todos los procesadores pueden acceder de forma directa a todaslas posiciones de memoria en el sistema (mecanismo convenien-te y rápido (?) para la comunicación)

Abstracción de la Comunicación:

Espacio de Direccionamiento Virtual Compartido

Múltiples procesos pueden tener una región de memoria com-partida proyectada sobre su espacio de direcciones virtual, demodo que las escrituras de variables residentes en esta regiónson visibles para el resto de los procesos.

Page 6: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Espacio de Direcciones Compartido

Espacio deDireccionesPrivado

Espacio deDireccionesCompartido

DireccionesFísicasComunes

DireccionesFísicasDiferentes

STORE

LOAD

P0P1

P2

Pn

La comunicación, compartición y sincronización se hace mediante operaciones Load/Store de variables compartidas

Modelo de programación agradable (uniprocesador + sincronización)

Una desventaja potencial es la escalabilidad

Page 7: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Arquitecturas de Pase de Mensajes

Propiedad Clave:

La comunicación (cooperación entre procesadores está integrada alnivel de I/O, y no en el sistema de memoria (ahora los bloques dediseño son computadores completos)

Abstracción de la Comunicación:

Espacio de Direccionamiento Local

Los procesadores solo pueden acceder a su memoria local, establecién-dose la comunicación/sincronización mediante llamadas explícitas alS.O. (mensajes send/receive)

Page 8: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Abstracción del Pase de Mensajes

sendX,Q,t

recvY,P,t

Dirección Y

Dirección X Espacio deDirecciones Local

Espacio deDireccionesLocal

Proceso P Proceso Q

La combinación send-recv establece una copia memoria a memoria y una sincronización entre los procesos involucrados

Enviar un mensaje consume mucho tiempo:

- Construir la cabecera del mensaje; copiar los datos en el buffer de la red; enviar el mensaje; copiar los datos en el buffer receptor; copiar los datos del espacio S.O. al espacio usuario

Page 9: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Organización de Paralelismo de DatosProcesadorde Control

P-M

P-M

P-M P-M

P-M P-M

P-M P-M P-M

• Matriz de muchos procesadores simples y con poca memoria• La matriz se conecta a un procesador de control de propósito general• Comunicación eficiente general y especializada• Sincronización global rápida

Page 10: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Arquitecturas de Paralelismo de Datos

• Modelo de Programación:

Las operaciones se ejecutan paso a paso y en paralelo sobre cadaElemento de una gran estructura de datos regular (típicamente un array)

Las operaciones suelen ser aritméticas y transferencias globales de datos

• Cada procesador tiene asociado un elemento de la estructura de datos

Page 11: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Evolución y Convergencia

• Origen a mediados de los 60 :El coste hardware/temporal de leer una instrucción era muy superior al de su ejecución.

Muchas aplicaciones científicas operan sobre datos estructurados matricialmente y con depen-dencias locales.

• Resurgimiento a mediados de los 80 :

La tecnología VLSI permite construir máquinas con miles de procesadores elementales, conprocesamiento a nivel de bit y palabras multi-bit

• Aplicabilidad restringida:Máquinas restringidas a cálculos científicos regulares

• Utilidad controvertida :Las aplicaciones regulares suelen exhibir una fuerte localidad espacial y temporal, haciéndolasAptas para su paralelización eficiente en multiprocesadores

El modelo de programación paralelismo de datos ha evolucionado en el modelo SPMD (SingleProgram Multiple Data)

Page 12: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

M

Hardware Organizations : Scalability

Network

M M M

$

P

$

P

$

P

Network

$

P

$

P

$

P

M M

NUMA

(Non-Uniform Memory Access)

Dance-Hall or UMA

(Uniform Memory Access)

- High-BW network- High-latency memory access

- Medium/low-BW network- Medium/low-latency memory access

• Complex memory controller !• Cache coherency problem

Page 13: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y

Arquitectura Paralela Genérica

Network

$

P

CM

Colección de computadores esencialmente completos, incluyendo uno o varios procesadores y Memoria, conectados a través de una red de comunicaciones escalable

Cada nodo incluye un controlador de comunicaciones, que determina las características clave dela arquitectura: denominación, compartición, protección, sincronización, ...

Page 14: ARQUITECTURAS PARALELAS ACTUALES. Arquitectura Paralela : AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y