ARQUITECTURAS PARALELAS
ACTUALES
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
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
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
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.
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
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)
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
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
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
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)
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
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, ...