UPV-EHU / ATC 1
2. Computadores paralelos (conceptos básicos)
- Introducción- Computadores SIMD- Computadores MIMD- Problemas principales- Velocidad de cálculo
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 2
Introducción
Paralelismo: hacer más de una cosa “simultáneamente, a la vez”.
• tamaño de datos: 4 - 8 - 16 - 32 - 64 - ... bit
• ejecución de instrucciones (ILP):segmentación, superescalares, VLIW...
• paralelismo de datos/ paralelismo funcional o de
programasArquitecturas Paralelas 12- 13
UPV-EHU / ATC 3
Introducción
ParalelismoSIMD: Single-Instruction-Multiple-Data
- procesadores vectoriales- procesadores en array- GPUs
MIMD: Multiple-Instruction-Multiple-Data Muchos procesos/hilos para dar una
respuesta más rápida (high performance)(multiproceso, tolerancia a fallos, P copias (throughput))Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 4
red de comunicació
n
SIMD computadores en array
array
P+M+E/S
Muchos procesadores muy sencillos, poca memoria, posibilidad de realizar operaciones de entrada/salida.
Red de comunicación especial.
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 5
red de comunicació
n
SIMD computadores array
Proc. de control
front-end
array
P+M+E/S
El procesador de control envía a todos los procesadores la instrucción que tienen que ejecutar síncronamente (BC). Cada procesador, ejecuta la instrucción o no hace nada.
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 6
SIMD computadores array
Adecuados para cierto tipo de aplicaciones: tratamiento de imágenes…
Ejemplo (X, Y, Z repartidos entre procesadores)
for (i=0; i<1000; i++) if (Y[i] != 0) Z[i] = X[i] / Y[i]; else Z[i] = X[i];
paso 1: comprobar todos Y[i] != 0paso 2: if (yes)hacer Z[i] = X[i] /
Y[i](el resto, nada)
paso 3: if (no) hacer Z[i] = X[i] (el resto, nada)
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 7
Computadores MIMD
MIMD (Multiple-Instruction-Multiple-Data)P procesos/hilos ejecutándose simultáneamente.
Dos modelos básicos: - memoria compartida- memoria distribuida
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 8
Computadores MIMD
Memoria compartida (shared memory)
Arquitecturas Paralelas 12- 13
M0 Mm–1 memoria principal
P0 P1 Pp–1 procesadores + MC
red de comunicación
E/S
UPV-EHU / ATC 9
Memoria compartida (shared memory)
- Espacio de direccionamiento único.
- Comunicación entre procesos por medio de variables compartidas.
- Red de comunicación: un bus (o una red multietapa).
- Nombres: multiprocesador, SMP, UMA.
- Generalmente, “pocos” procesadores.
Computadores MIMD
Arquitecturas Paralelas 12- 13
P0 P1 Pp–1
M0 Mm–1E/S
UPV-EHU / ATC 10
Computadores MIMD
Memoria distribuida (distributed memory)
Arquitecturas Paralelas 12- 13
Pp-1
Mp-1
E/S
P0
M0
E/S
Computador:Pr + MC+ MP + E/S
red de comunicación
KK
UPV-EHU / ATC 11
Computadores MIMD
Memoria distribuida (distributed memory)
- Un espacio de direccionamiento por procesador.
- Comunicación entre procesos por medio de paso de mensajes.
- Redes de comunicación habituales: hipercubo, malla, toro...
- Nombres: multicomputador, MPP
- Generalmente, “muchos” procesadores. Arquitecturas Paralelas 12- 13
Pp-1
Mp-1
E/S
P0
M0
E/SKK
UPV-EHU / ATC 12
Computadores MIMD
Otra opción: memoria compartida pero físicamente distribuida
- El espacio de direccionamiento es único, pero la utilización no es homogénea: se ha creado una jerarquía de memoria.
- La comunicación entre procesos se hace por medio de variables compartidas (lógicamente) y se implementa mediante paso de mensajes.
- Nombres: DSM, NUMA (MPP)Arquitecturas Paralelas 12- 13
Pp-1
E/S
P0
E/SKM0Mp-1K
UPV-EHU / ATC 13
Computadores MIMD
- SMP: multiprocesador de memoria compartida, generalmente pocos procesadores comunicados por un bus.
- MPP: sistema paralelo con muchos procesadores, de memoria compartida o distribuida.Generalmente, las máquinas más rápidas, sistemas con hardware y software de comunicación y de cálculo específico. Muy caras.Pueden organizarse de manera jerárquica (p.e., los nodos son sistemas SMP).
Nomenclatura:
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 14
Computadores MIMD
- Cluster: sistema paralelo construido a base de hardware y software de propósito general.
Buena relación coste/velocidad.PCPC
PCPC
PC
ethernet
El más simple: PC / ethernet (Beowulf)commodity / custom
Cada vez más, sistema paralelo de propósito general.
Nomenclatura:
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC 15
Computadores MIMD
- Constelación (constellation): un cluster, donde el número de nodos es menor que el número de procesadores de cada nodo.
Nomenclatura:
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC
1
1
N
N
SIMD MIMD
SISD
inst.
datos
proc. arrayproc vectoriales
MP
P
Cbus
memoria compartida
SMP
MPP/NUMA
Clustermemoria distribuida
P
C
M
red general
Resumen
Arquitecturas Paralelas 12- 13 16
UPV-EHU / ATC 17
Resumen
Espacio de direccionamiento común privado
centralizada(bus)
distribuida(red)
MemoriaSMP
DSM, NUMA MPP
-
Arquitecturas Paralelas 12- 13
UPV-EHU / ATC
Existen algunos problemas que hay que superar en los sistemas paralelos
- ¿Cómo gestionar el sistema completo?- ¿Cómo se divide un algoritmo en P procesos? ¿Se puede ejecutar en paralelo todo el código?
- ¿Y el reparto, es equilibrado o es de tipo 80% - 20% (load balancing)?
Problemas
Arquitecturas Paralelas 12- 13 18
UPV-EHU / ATC
Existen algunos problemas que hay que superar en los sistemas paralelos
- ¿Dónde están los datos? ¿Cómo se mantiene la coherencia de datos?
- ¿Son independientes todos los procesos? ¿Se deben de sincronizar?
- ¿Habrá que mandar los datos de un procesador a otro? ¿Cómo?
Problemas
Arquitecturas Paralelas 12- 13 19
UPV-EHU / ATC
Sobrecargas
1. Comunicación Tp = Tej + Tcom
TejTcom
Número de procesadores
Tp
Problemas
Arquitecturas Paralelas 12- 13 20
UPV-EHU / ATC
Sobrecargas
2. Desequilibrio en la distribución de tareas
Por ejemplo: 6 procesos independientes, de coste similar → Ts = 6T
▪ entre 3 procesadores (2 + 2 + 2) Tp = 2T = Ts /3▪ entre 4 procesadores (2 + 2 + 1 +1)
Tp = 2T = Ts /3 !
Problemas
Arquitecturas Paralelas 12- 13 21
UPV-EHU / ATC
Sobrecargas
3. Utilización de la cache
Hay que (re)utilizar los datos de los bloques de las caches (localidad). Por ejemplo, si A1 y A2 están en posiciones de memoria contiguas, merecerá la pena procesarlos en el mismo procesador para incrementar la tasa de aciertos de la cache.
Problemas
Arquitecturas Paralelas 12- 13 22
UPV-EHU / ATC
Tipos de aplicaciones
- Paralelismo de grano fino (high performance)
muchas tareas, pequeñascomunicación frecuente, pocos datos
- Paralelismo de grano grueso (high throughput)
pocas tareas, grandes, “independientes”comunicación de vez en cuando, muchos
datos
Problemas
Arquitecturas Paralelas 12- 13 23
UPV-EHU / ATC
Factor de aceleración / Eficienciafa = Ts / Tp (ideal: crece
linealmente con P)efic = fa / P (ideal: independiente de
P)
Mejor caso: Tp = Ts / P → fa = P efic = 1
Objetivo: 1 ejecutar el mismo programa más rápido2 ejecutar programas más grandes en el mismo tiempo
Eficiencia
Arquitecturas Paralelas 12- 13 24
UPV-EHU / ATC
Por lo tanto, el verdadero factor de aceleración será (ley de Amdahl):
fa = Ts / Tsp = Ts / (f Ts/P + (1-f) Ts)
fa = P / (f + (1-f) P) → 1 / (1-f) !
1 Generalmente, una parte en paralelo y otra en serie:
Tsp = f Tp + (1-f) Ts
Amdahl
Arquitecturas Paralelas 12- 13 25
UPV-EHU / ATC
1 Ley de Amdahlfa = P / (f + (1-f) P) → 1 / (1-f)
0
20
40
60
80
100
0 20 40 60 80 100
Fact
or d
e ac
eler
ació
n
Número de procesadores
f = 0,8 f = 0,9
f = 0,95
Factor de aceleración lineal (P)
Amdahl
Arquitecturas Paralelas 12- 13 26
UPV-EHU / ATC
2 Muchas veces, el paralelismo no se utiliza para ir más rápido sino para ejecutar tareas de mayor tamaño.
fa = Ts’ / Tp’fa = (1-f) + f P
(1-f) Ts f Ts
Gustafson
f Ts P(1-f) Ts
mayor tamaño (xP)Ts’ = ((1-f) + f P) Ts
f Ts(1-f) Ts
P procesadoresTp’ = Ts
Ts
serie
paralelo
Arquitecturas Paralelas 12- 13 27
UPV-EHU / ATC
2 Gustafson
0
10
20
30
40
0 10 20 30 40
Fact
or d
e ac
eler
ació
n
Número de procesadores
f constante
ideal
t constante
fa = (1-f) + f P
Gustafson
Arquitecturas Paralelas 12- 13 28
Top Related