Arquitecturas Paralelas: Redes de interconexión y...
-
Upload
truonghanh -
Category
Documents
-
view
224 -
download
0
Transcript of Arquitecturas Paralelas: Redes de interconexión y...
Arquitecturas Paralelas:Redes de interconexión yMedición de performance
Versión 2014
Hesham El-Rewini & Mostafa Abd-El-Barr, Advanced Computer Architecture and Parallel Processing. Willey.
Redes de interconexión para arquitecturas paralelas
Pueden clasificarse según diferentes criterios:
Modo de operación: sincrónico vs. asincrónico.
Estrategia de control: centralizado vs. descentralizado.
Técnica de conmutación: circuitos vs. conmutación de paquetes.
Topología: cómo se conectan procesadores y memorias entre sí.
Cada enlace presenta un balance entre performance (ancho de banda) y costo.
Diferencia evidente entre redes para memoria compartida y memoria distribuida. En este último caso no necesita estar completamente conectada (ruteo de mensajes).
Redes de interconexión
Topologías para memoria compartida
a) Memoria multiport (no escala)
b) Bus (económica, bloqueante)
c) Red conmutada (balance)
El routing dinámico se consigue utilizando redes de conmutación compuestas por ´crossbar switches´ o ´2x2 switches´. Las redes crossbar son no bloqueantes (permiten varias conexiones simultáneas) pero necesitan gran cantidad de switches (N2 para N nodos).
Redes de interconexión
Topologías para memoria compartidaCROSSBAR
Las redes de interconexión multietapa son las más avanzadas entre las redes actuales de conmutación. En el caso de la red omega, para conectar N nodos se necesitan log2N etapas con N/2 switches 2x2 cada una.
Redes de interconexión
Topologías para memoria compartidaOMEGA
Ventajas y desventajas de las diferentes topologías:
Las redes tipo bus son económicas pero pueden transformarse en el cuello de botella del sistema.
Los buses paralelos mejoran la performance, pero son costosos.
Las redes crossbar son no bloqueantes, pero requieren un gran número de switches.
Las redes omega son bloqueantes en menor grado. Presentan mejor performance que los buses y son más económicas que las crossbar.
Redes de interconexión
Topologías para memoria compartida
I) Estáticas (pizarrón) II) Dinámicas
4
Redes de interconexión
Topologías para pasaje de mensajes
Redes de interconexión
Topologías estáticas para pasaje de mensajes4-cube 7-cube
Redes de interconexión
Topologías estáticas para pasaje de mensajes
Three-dimensional (3D)
torus network in which the
nodes are connected to
their six nearest-neighbor
nodes in a 3D mesh.
Redes de interconexión
Topologías estáticas para pasaje de mensajes
Para n nodos, C es el número de conexiones y D el camino más largo
(diámetro de la red)
Completamente conectado: caro, crece rápido. Permite varias conexiones
simultáneas. D=1, C=n(n-1)/2
Anillo: muy económico: C=n. Pero D=n.
Toroide/grilla: más económico, buen equilibrio. D=2(sqrt(n)-1), C=2n
[toroide] y C=2n-sqrt(n) [grid]. C=2n (1D), C=4n (2D) y C=6n (3D)
Hipercubo de m dimensiones: cada nodo conectado a m vecinos. n=2m,
C=n.m/2, D=m.
Redes de interconexión
Ejemplo 8 nodos
Análisis de performance enArquitecturas Paralelas
Hesham El-Rewini & Mostafa Abd-El-Barr, Advanced Computer Architecture and Parallel Processing. Willey.Capítulo 3 completo.
Peak rate (no muy útil, marketing)
Mejora y Eficiencia [S=Ts/Tp, ξ=S/n]
Equal duration model: caso ideal [S=n, ξ=1]
Serial section model: ley de Amdahl [S<n, <ξ 1]
Amdahl vs. Gustafson-Barsis
Efecto del tiempo de comunicación
Escalabilidad
ξ=1
ξ=Sn
S=t s
tm
Equal duration model
Fractional communication overhead
Definición de mejora y eficiencia
Serial section model
Serial section model
with communication overhead
Amdhal vs. Gustafson-Barsis
Algunos problemas no se comportan en forma
tan pesimista como predice Amdhal.
A veces el tamaño del problema aumenta con el
número de procesadores. SS(f) es una recta y no
presenta el límite en 1/f.
En este caso f va disminuyendo, en proporción,
al aumentar el orden del problema (en la práctica
sucede en algunos problemas)
SS
1
n
1f
SS (n )=f+ (1− f )×n
f+(1− f )
n×n
lim SS( n)n →∞=∞
S
SS
S (n )=n
1 +f (n−1 )SS (n ) =n− f (n−1 )
S vs. f
gnuplot> plot [x=0:1] [0:10] 5/(x*4+1) title "Amdahl n=5", 10/(x*9+1) title "Amdahl n=10", 100/(x*99+1) title "Amdahl n=100",1/x title "Amdahl n=oo", 5-(x*4) title "Gustafson n=5", 10-(x*9) title "Gustafson n=10", 100-(x*99) title "Gustafson n=100"
S=t1
tn
=t s +t p
t s+t p
n+tc
DISCUSIÓN: Expresión general de la mejora
Donde tanto ts como tc dependen de n
Métrica de Karp-Flatt
Despejando de Amdhal la sección serie (f) y
midiendo experimentalmente la mejora (S) que
se obtiene para un dado problema (utilizando n
procesadores), resulta que f es una medida de
cuán paralelizable es el problema. Puede
utilizarse para predecir cómo se comportará el
sistema al variar el número de procesadores.
f=
1S−
1n
1−1n
Esta lógica aplica también si el modelo no es el de Amdhal
Escalabilidad
Ejemplo: Hipercubo de D dimensiones (n=2D, dist max D=log2(n)), utilizado para realizar la suma de m números.
S=m
mn
+2 log2 n
Mejora (hacia 4): escalable
Es escalable si habiendo agregado nodos la eficiencia se mantiene constante al aumentar m
for m=1:8,
for n=1:8,
N=2^n;
M=2^(m+5);
S(m,n)=M/(M/N+log2(N));
E(m,n)=S(m,n)/N;
end
end
surf(S); % ver que en la diagonal se vaya duplicando
ylabel('m: orden 2^(m+5)');
xlabel('n: nodos 2^n');
zlabel('Mejora');
S=m
mn
+2 log2 n
for m=1:8,
for n=1:8,
N=2^n;
M=2^(m+5);
S(m,n)=M/(M/N+log2(N));
E(m,n)=S(m,n)/N;
end
end
surf(E); % ver que la diagonal se mantenga constante
ylabel('m: orden 2^(m+5)');
xlabel('n: nodos 2^n');
zlabel('Eficiencia');
E=m /n
mn
+2 log 2 n
Grado de escalabilidad / Isoeficiencia
El grado de escalabilidad de un sistema paralelo se determina por la relación en que el problema debe incrementarse respecto del número de procesadores (n), para mantener una eficiencia constante cuando el número de procesadores aumenta.
Por ejemplo, en un sistema paralelo altamente escalable el tamaño del problema deberá crecer linealmente con respecto de n a fin de mantener la eficiencia constante.
En un sistema poco escalable el tamaño del problema necesitará crecer exponencialmente con respecto de n para mantener la eficiencia constante.
NUEVO: La isoeficiencia es la capacidad del sistema de mantener la eficiencia constante cuando aumenta el número de procesadores.
e=incremento del tamaño del problema
incremento de n para rendimiento constante