Transcript tema 6

Arquitecturas Paralelas
6.
La red de comunicación de los
computadores paralelos.
Comunicación mediante paso de
mensajes.
- Introducción
- Redes basadas en conmutadores
- Redes basadas en encaminadores
- Estrategias de comunicación
- Conflictos en la comunicación
Arquitecturas Paralelas
IF - EHU
RC-PM
Introducción
 Los sistemas paralelos necesitan un soporte
robusto para la comunicación de procesos,
sea para acceder a memoria compartida
(centralizada, SMP, o distribuida, DSM), o sea
para transportar mensajes entre procesos (MPP).
Aunque la red de comunicación es, en teoría,
independiente del modelo, se utilizan redes
adaptadas a cada modelo.
Arquitecturas Paralelas
IF - EHU
2
RC-PM
Introducción
 Los multiprocesadores SMP
suelen utilizar un bus para
acceder a memoria.
La latencia de los accesos es independiente de la posición de memoria
a la que se accede: todos los datos
están a la misma “distancia” (UMA).
3
P
C
bus
M
 Aunque el bus es una red sencilla y fácil de gestionar,
tiene problemas de escalabilidad:
- no admite más que una comunicación simultánea.
- se satura cuando crece el número de procesadores.
Arquitecturas Paralelas
IF - EHU
RC-PM

Introducción
Para poder conectar muchos
procesadores hay que distribuir la
memoria (aunque tal vez sea
compartida: DSM).
Hace falta otro tipo de red de
comunicación.
4
P
C
M
R
red general
 La latencia de los accesos a memoria o de los
mensajes no es constante: la comunicación con los
procesadores más cercanos será más rápida.
El comportamiento de la red de comunicación es muy
importante para minimizar las latencias.
Arquitecturas Paralelas
IF - EHU
RC-PM
Introducción
 Algunas características deseables en las redes
de comunicación:
 que la latencia de las comunicaciones sea baja.
 que se permitan muchas comunicaciones
simultáneas (es decir, tener un alto throughput).
 que pueda seguir en funcionamiento aunque
existan fallos (averías) en la red.
 que sea fácil de construir y ampliar, y que existan
algoritmos simples para encontrar los caminos.
Arquitecturas Paralelas
IF - EHU
5
RC-PM
Introducción
 La infraestructura de comunicación tiene dos
partes:
- el hardware
conexiones, conmutadores, encaminadores de
mensajes, interfaces con los procesadores.
- el software
protocolos de comunicación.
Arquitecturas Paralelas
IF - EHU
6
RC-PM
Introducción: topología
 La topología representa la forma de la red; es
decir, especifica las conexiones entre procesadores por medio de un grafo.
 Componentes del grafo:
-
-
nodos: procesadores, o dispositivos
especiales para la gestión de mensajes.
arcos: conexiones entre nodos.
Arquitecturas Paralelas
IF - EHU
7
RC-PM
Introducción: topología
 Características topológicas principales:
 Complejidad
- Grado: número de conexiones de los nodos. Si es
idéntico en todos, la red es regular.
- Simetría: misma visión de la red desde todos los
nodos.
- Escalabilidad: facilidad de ampliación.
 Fiabilidad
- Tolerancia a fallos.
- Conectividad de arcos y nodos: componentes que
hay que eliminar para obtener un grafo no conexo.
Arquitecturas Paralelas
IF - EHU
8
RC-PM
Introducción: topología
 Características topológicas principales:
 Tráfico
- Bisección: conexiones que hay que eliminar para
dividir el grafo en dos partes iguales.
 Distancias (latencia)
- Distancia media:
d = Σ dij / P(P-1)
- Diámetro: distancia máxima entre dos nodos.
Arquitecturas Paralelas
IF - EHU
9
RC-PM
Introducción: clasificación
 Dos tipos de redes:
1. Dinámicas
- redes de conmutadores
- para sistemas SMP (no sólo)
- provienen de la red telefónica
2. Estáticas
- encaminadores de mensajes (routers)
- para sistemas MPP
Arquitecturas Paralelas
IF - EHU
10
RC-PM
Redes con conmutadores
11
 Conmutador: dispositivo que conecta varias
entradas y salidas.
grado k=2
E0
0
0
S0
E1
1
1
S1
señales de
control
Arquitecturas Paralelas
IF - EHU
E0 → S0, S1
E0 → S0
E1 → S1
E1 → S0, S1
E0 → S1
E1 → S0
RC-PM
Redes con conmutadores
1. Red Crossbar: todos conectados con todos.
Cada conmutador conecta
una fila y una columna.
El coste puede ser muy
alto: O(P2)
Arquitecturas Paralelas
IF - EHU
12
RC-PM
Redes con conmutadores
2. Redes multietapa
Los conmutadores se organizan en varias etapas,
y las conexiones entre distintas etapas se hacen
por medio de una “permutación”.
una permutación
P0
proc.
Pp-1
Arquitecturas Paralelas
IF - EHU
P0
proc.
(o mem.)
Pp-1
13
Redes Omega
RC-PM
14
 Ejemplo: red Omega
Conexiones entre conmutadores: barajado perfecto
(perfect shuffle).
logk P etapas
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
Arquitecturas Paralelas
IF - EHU
0
1
2
3
4
5
6
7
P/k conmutadores por etapa
→ en total P/k × logk P conm.
Barajado perfecto:
[0, 1, 2, ..., P-1] →
[0, P/2, 1, P/2+1, ..., P/2-1, P-1]
Rotación de un bit:
4 (100) → 1 (001)
5 (101) → 3 (011)
RC-PM
Redes Omega
15
 Red Omega
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
Arquitecturas Paralelas
IF - EHU
Diámetro: logk P
Distancia med.: logk P
Simétrica (regular)
Grado: 2, 4... (k)
Tolerancia a fallos: baja
RC-PM
Redes Omega
16
 Encaminamiento en la red Omega (routing)
¿Cómo se escoge el camino para ir de i a j?
0
1
0
1
0
0
1
1
2
2
3
3
1
4
4
5
5
6
7
0
6
7
1 Bits de la dirección destino
0: salida 0 / 1: salida 1
→ 6 (110)
2 Registro de encaminamiento:
i xor j
0: seguir / 1: cruzar
RE = 100 xor 110 = 010
Arquitecturas Paralelas
IF - EHU
RC-PM
Redes Omega
17
 Conflictos de salida
La red Omega admite P comunicaciones simultáneas,
pero no cualesquiera (red bloqueante).
0 → 1 y 6 → 0?
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
Arquitecturas Paralelas
IF - EHU
- anular
- utilizar búferes
- dividir en dos
Núm. de permutaciones: P!
Se pueden hacer:
2 P/2 log P = P P/2
P=8
→
10%;
P=16
→
0,02%
RC-PM
Redes Omega
18
 Broadcast
De uno a todos los procesadores
0
BC
1
2
5
BC
Arquitecturas Paralelas
IF - EHU
3
4
BC
BC
5
6
6
7
1
2
BC
3
4
0
BC
BC
7
RC-PM
Red Butterfly
 Otro ejemplo: red Butterfly
Arquitecturas Paralelas
IF - EHU
19
RC-PM
Resumen
20
bus
Omega
Crossbar
constante
O(logkP)
constante
O(w/P)→O(w)
O(w)→O(w × P)
O(w × P)
Complejidad de
cableado
O(w)
O(w × P × logkP)
O(w × P2)
Complejidad de
conmutación
O(P)
O(P/k × logkP)
O(P2)
de uno en uno
algunas
permutaciones
Latencia
Ancho de banda por
procesador
Capacidad de
comunicación
Arquitecturas Paralelas
IF - EHU
broadcast
todas las
permutaciones
RC-PM
Redes con encaminadores
21
 La red se forma mediante encaminadores de
mensajes (routers).
procesador/memoria local
red de
comunicación
conexiones
de red
router
Gestor de
comunicaciones
Nodo de una red estática: proc./mem. + encaminador.
La distancia entre nodos no es constante.
Enlaces bidireccionales.
Arquitecturas Paralelas
IF - EHU
RC-PM
Encaminador de mensajes
 Un conjunto de puertos de E/S para recibir y enviar
paquetes; un conjunto de búferes para almacenar
temporalmente los paquetes; y un autómata para
procesar paquetes y asignarles una salida.
procesador local
Arquitecturas Paralelas
IF - EHU
puertos de salida
búferes
crossbar
func. encam.+
enlaces de
comunicación
búferes
puertos de entrada
enlaces de
comunicación
procesador local
22
RC-PM
Topologías más utilizadas
1 Red crossbar : todos con todos.
Compleja de construir y de coste elevado cuando
P es grande.
Además, el grado de los encaminadores (número
de conexiones) no es constante: P-1.
Arquitecturas Paralelas
IF - EHU
23
RC-PM
Topologías más utilizadas
2 Redes de una dimensión: cadena y anillo.
Grado: 2
Simetría: no
Toler. Fallos: un enlace
Diámetro: P-1
Distancia media: P/3
(P grande)
[ (P+1) / 3 ]
Arquitecturas Paralelas
IF - EHU
2, regular
sí
dos enlaces
P/2
P/4
(P grande)
[ P2 / 4(P-1) ]
24
RC-PM
Topologías más utilizadas
3 Mallas y toros (n dimensiones, k>2 nodos por dim.)
k→ P = kn
Enlaces:
Grado:
Simetría:
Toler. Fallos:
Escalabilidad:
Arquitecturas Paralelas
IF - EHU
n kn-1 (k-1)
2n
no
alta (n)
fácil
n kn
2n, regular
sí
más alta (2n)
fácil
25
RC-PM
Topologías más utilizadas
26
3 Mallas y toros (n dimensiones, k>2 nodos por dim.)
Bisección: kn-1
Diámetro: n (k-1)
Distancia media: ~ n k/3
Arquitecturas Paralelas
IF - EHU
2 kn-1
(k grande)
n k/2
~ n k/4
(k grande)
RC-PM
Topologías más utilizadas
4 Hipercubo: caso paticular de una malla de n
dimensiones, con sólo dos nodos por dimensión.
0000
0001
0010
0100
0101
Enlaces con los nodos cuya
dirección se diferencia en un bit.
0110
(xn-1, xn-2, ..., x1, x0) →
1000
1100
1111
(xn-1, xn-2, ..., x1, x0)
(xn-1, xn-2, ..., x1, x0)
...
(xn-1, xn-2, ..., x1, x0)
(xn-1, xn-2, ..., x1, x0)
Arquitecturas Paralelas
IF - EHU
27
RC-PM
Topologías más utilizadas
28
4 Hipercubo: parámetros topológicos
0000
0001
0100
0010
0110
1000
1100
0101
Nodos:
Enlaces:
P = 2n → n = log2 P
P/2 log2 P
Grado:
Simetría:
T. Fallos:
Escal.:
Bisección:
n (log2P, no es constante!)
sí
muy grande
difícil
P/2 (muy grande)
1111
Diámetro: n
Dist. med.: ~ n/2
Arquitecturas Paralelas
IF - EHU
(n grande)
RC-PM
Topologías más utilizadas
5 Árboles y árboles densos (fat tree)
encaminadores
procesadores
árbol binario (k = 2)
Arquitecturas Paralelas
IF - EHU
fat tree árbol denso
29
RC-PM
Topologías más utilizadas
5 Árboles y árboles densos (fat tree)
Grado:
Profund.:
Simetría:
T. Fallos:
Escal.:
Bisección:
fat tree o árbol denso
k (normalmente, 4)
logk P
sí
grande
fácil
P/2
Diámetro: 2 logk P
Dist. med.: ~ 2 logk P – 2/(k-1)
(P grande)
Arquitecturas Paralelas
IF - EHU
30
RC-PM
Resumen de topologías
31
parámetros topológicos (P par, grande)
Proc.
Grado
Simetr.
Crossbar
P
P-1
si
P (P-1)
1
1
P2/4
P-1
Omega
[conm.]
P
k
si
P(logkP+1)
[P/k logkP]
logkP
logkP
-
-
P = kn
2n
no
n kn-1 (k-1)
~
n k/3 n (k-1)
kn-1
n
Toro
P = kn
2n
si
nP
~
n k/4
n k/2
2 kn-1
2n
Hipercubo
P = 2n
n
(log P)
si
P/2 logP
n/2
n
P/2
n
P
k
si
k
P (logkP) 2/(k-1)
2 logkP
P/2
1
Malla
(n / k>2)
Árbol
(fat tree)
Arquitecturas Paralelas
IF - EHU
Enlaces d (med)
~
~ 2 log
P-
Dmax
Bisec. Arco-con.
RC-PM
Resumen de topologías
 Por ejemplo, P = 4.096 nodos:
D
Arquitecturas Paralelas
IF - EHU
d(med)
2D malla
2D toro
126
64
42,7
32
3D malla
3D toro
45
24
15,9
12
Hipercubo
12
6
Árbol
12
11,3
(k = 4)
32
RC-PM
Resumen de topologías

El hipercubo tiene parámetros topológicos muy buenos, pero
es complejo si el número de procesadores es grande; además,
el grado no es constante. Fue la topología de los primeros
sistemas MPP (pocos procesadores y la latencia de los
mensajes dependiente de la distancia).

Las mallas y toros 2D y 3D se utilizan mucho en sistemas
MPP: son topologías simples con grado bajo. Los parámetros
de distancia son mayores, pero cambió la técnica de
transmisión de mensajes y la latencia no depende tanto de la
distancia.

Se utilizan también árboles (o similares tipo butterfly, para
formar cluster-s, Myrinet), aunque son complejos cuando el
número de procesadores es muy grande.
Arquitecturas Paralelas
IF - EHU
33
RC-PM
Comunicación
34
 La red se utiliza para la comunicación entre
procesos, permitiendo el envío de mensajes de
proceso a proceso.
¿Cómo se envían esos mensajes? ¿Por dónde?
¿Cómo se escoge el camino?...
 Estructura de los mensajes (paquetes)
Inf. control
cola
datos
cabecera
Unidad de información (de flujo): un flit (en general,
un byte). Tiempo para transmitir un flit, un “ciclo”.
Arquitecturas Paralelas
IF - EHU
RC-PM
Patrones de comunicación
 Tamaño de los mensajes
En general, hay que transportar mensajes de
diversos tamaños.
Los mensajes de control suelen ser pequeños
(unos bytes); los de datos, mayores (normalmente
divididos en paquetes de tamaño fijo).
 Patrones de comunicación
Especifican cuándo y con quién se efectúa la
comunicación. Evidentemente, depende de la
aplicación.
Arquitecturas Paralelas
IF - EHU
35
RC-PM
Patrones de comunicación
36
 Algunos patrones de comunicación habituales:
- Aleatorio: la probabilidad de comunicación entre
dos nodos es la misma para cualquier par de nodos
y uniformemente distribuida en el tiempo.
- Esferas de localidad: hay
P. Com.
mayor probabilidad de
comunicación con unos nodos
que con otros, dependiendo de la
distancia (cercanos).
dist.
- Broadcast, multicast, reporting...
- Matriz transpuesta, FFT, perfect shuffle...
Arquitecturas Paralelas
IF - EHU
RC-PM
Construcción del camino
 Construcción del camino
- Conmutación de circuitos (circuit switching)
Antes de enviar el mensaje hay que reservar un
camino “privado”, para lo que se envía un mensaje
“sonda” hasta el destino.
Tras construir el camino, se transmite todo el
mensaje (no se divide en paquetes).
Por ejemplo: red telefónica.
Problemas: hace falta tiempo para generar el
camino; y se reservan enlaces de la red, aunque
no estén siendo utilizados constantemente.
Arquitecturas Paralelas
IF - EHU
37
RC-PM
Construcción del camino
 Construcción del camino
- Conmutación de paquetes (packet switching)
El mensaje se divide en varios paquetes de tamaño
fijo. Cada paquete tiene información sobre el destino
y va hasta el mismo, encaminador tras encaminador,
compitiendo con el resto de los paquetes para la
utilización de recursos.
Por ejemplo: servicio de correos.
Problemas: se genera una sobrecarga, porque cada
paquete tiene que llevar información de control.
Addemás, hay que reconstruir el mensaje en el
destino.
Arquitecturas Paralelas
IF - EHU
38
RC-PM
Encaminam. de paquetes
 Encaminamiento de paquetes (routing)
¿Por dónde van los paquetes desde el origen al
destino? ¿Cuál es el camino?
- ¿Cómo indicar el camino a tomar?
registro de encaminamiento, RE (routing
record)
- ¿Hay un sólo camino?
caminos de longitud mínima, pero, ¿cuál?
Arquitecturas Paralelas
IF - EHU
39
RC-PM
Encaminam. de paquetes
 Encaminamiento de paquetes (routing).
Dos opciones para llegar al destino:
- Indicar en el paquete la dirección absoluta.
La información se procesa en los encaminadores
intermedios para escoger la salida (tabla, función...).
- El paquete lleva el registro de encaminamiento que especifica el camino; normalmente,
cuántos pasos dar en cada dimensión.
El RE se actualiza en cada encaminador. Se ha llegado al
destino cuando todos los componentes del RE son 0.
Arquitecturas Paralelas
IF - EHU
40
RC-PM
Registro de encaminamiento
41
 Registro de encaminamiento en una malla
X: (xn-1, xn-2, ..., x1, x0) → Y (yn-1, yn-2, ..., y1, y0)
[2,3]
[2,2]
[2,1]
[2,0]
4 (1,0)
[1,0]
[0,0]
Basta con hacer la resta de
coordenadas para indicar el número
de pasos a dar en cada dimensión.
RE = [yn-1 - xn-1, yn-2 - xn-2, ..., y0 - x0]
15 (3,3)
4 (1,0) → 15 (3,3)  RE = [2, 3]
Arquitecturas Paralelas
IF - EHU
RC-PM
Registro de encaminamiento
 Registro de encaminamiento en un toro
[2,-1]
[2,0]
4 (1,0)
[1,0]
[0,0]
En cada dimensión hay dos opciones
para ir al destino: hacia “adelante” o
hacia “atrás”.
Nunca se recorre más de medio anillo
en cada dimensión.
Tras restar las coordenadas, hay que
analizar el resultado para escoger el
camino más corto en cada anillo:
15 (3,3)
4 (1,0) → 15 (3,3)
Arquitecturas Paralelas
IF - EHU
REi > k/2 → REi = REi – k
REi < -k/2 → REi = REi + k
RE = [2, 3] → [2, -1]
42
Registro de encaminamiento
RC-PM
 Registro de encaminamiento en un hipercubo
[1000]
[1100]
[1110]
0000
0001
0100
0101
0010
0011
0110
0111
1000
1001
1100
1101
[0000]
1010
1011
1110
1111
No hay más que dos nodos en cada
dimensión; por lo tanto, sólo se puede
dar un paso por dimensión, si las
coordenadas de esa dimensión son
distintas:
RE = [i xor j]
2 (0010) → 12 (1100)
Arquitecturas Paralelas
IF - EHU
RE = [1110]
43
RC-PM
Elección del camino
44
 Estrategias para escoger un camino concreto
El registro de encaminamiento no indica un único
camino (en general). ¿Cuál hay que utilizar?
1. Encaminamiento estático
Se utiliza un único camino para
ir de X a Y, y siempre el mismo:
DOR.
+ Es simple
+ Los paquetes llegan ordenados
- No se aprovechan todas las
opciones para seguir adelante
Arquitecturas Paralelas
IF - EHU
4 (1,0)
15 (3,3)
RC-PM
Elección del camino
45
 Estrategias para escoger un camino concreto
2. Encaminamiento dinámico
En cada encaminador se escoge el
camino en función del estado del
sistema (ojo! hay que utilizar
información local).
4 (1,0)
+ Se pueden evitar zonas de mucho
tráfico (aprovechando la topología de la red)
- Es más complejo (hay que decidir)
- Los paquetes pueden llegar
desordenados
- Pueden ocurrir bloqueos
Arquitecturas Paralelas
IF - EHU
15 (3,3)
RC-PM
Elección del camino
 Estrategias para escoger un camino concreto
3. Encaminamiento no mínimo
Hay que utilizar en general caminos
de longitud mínima.
En algunos casos puede ser adecuado
utilizar caminos más largos para evitar
tráfico o superar averías.
Arquitecturas Paralelas
IF - EHU
46
RC-PM
Control del flujo
 Un paquete contiene L flits (algunos para control y
otros para datos).
¿Cómo se transmiten los flits de los paquetes entre
encaminadores? ¿Qué hay que hacer con los flits
de un paquete que se está transmitiendo?
Dos opciones:
- Store-and-forward
habitual en redes de ordenadores
- Cut-through / Wormhole
la que se utiliza en multicomputadores
Arquitecturas Paralelas
IF - EHU
47
RC-PM
Control del flujo: SF
48
 Store-and-forward
Encaminadores intermed.
Se transmite el paquete
completo (todos los flits)
entre encaminadores
contiguos.
Durante la transmisión se
almacena en un búfer interno.
4 3 2 1
4 3 2
4 3
4
1
t
2 1
3 2 1
4 3 2 1
4 3 2
4 3
4
Tsf ~ L × d
1
2 1
3 2 1
4 3 2 1
4 3 2
4 3
4
1
2 1
3 2 1
4 3 2 1
Arquitecturas Paralelas
IF - EHU
RC-PM
Control del flujo: CT / WH
49
 Cut-through / Wormhole
Tras procesar el primer flit de
la cabecera de un paquete, se
transmite al siguiente
encaminador, sin esperar a la
llegada del resto.
La transmision del paquete se
“segmenta”.
Tct/wh ~ L + d
Arquitecturas Paralelas
IF - EHU
Encaminadores intermed.
4 3 2 1
4 3 2
1
4 3
2
1
4
3
2
1
4
3
2 1
4
3 2 1
4 3 2 1
RC-PM
Control del flujo: CT / WH
50
 Cut-through / Wormhole
Diferencia: ¿qué hacer si el flit de cabecera de un
paquete no puede continuar?
Wormhole
Todos los flits del
paquete se paran
donde están.
No hay que utilizar
búferes.
Arquitecturas Paralelas
IF - EHU
4 3 2 1
4 3 2
1
4 3
2
1
4 3
2
1
4 3
2
1
4
3
2
1
4
3
2 1
4
3 2 1
4 3 2 1
RC-PM
Control del flujo: CT / WH
51
 Cut-through / Wormhole
Diferencia: ¿qué hacer si el flit de cabecera de un
paquete no puede continuar?
Cut-through
El primer flit se para,
pero el resto continúa
y los flits se
almacenan en los
encaminadores, en
búferes.
4 3 2 1
4 3 2
1
4 3
2
1
4
3
2 1
4
3 2 1
4 3 2
4 3
4
1
2 1
3 2 1
4 3 2 1
Arquitecturas Paralelas
IF - EHU
RC-PM
Conflictos: búferes
 Búferes para paquetes
Los encaminadores de mensajes suelen tener
espacio para almacenar paquetes (algunos flits).
SF →
WH →
CT
→
búfer para por lo menos un paquete.
espacio de memoria para un flit (puerto de
entrada).
solución intermedia; hace falta capacidad
para almacenar un paquete o algunos flits.
¿Espacio para muchos paquetes? No
- no tiene que haber muchos paquetes bloqueados.
- el encaminador tiene que ser rápido, es decir, simple.
Arquitecturas Paralelas
IF - EHU
52
RC-PM
Conflictos: búferes
 ¿Cómo se estructuran los búferes?
¿Compartidos, o distribuidos?
Compartidos
+ se gestiona mejor el espacio de memoria
- son más complejos, tienen que aceptar varias
entradas y salidas
Arquitecturas Paralelas
IF - EHU
53
RC-PM
Conflictos: búferes
 ¿Cómo se estructuran los búferes?
¿En las entradas o en las salidas?
Salidas
+ los paquetes no se tratan en orden (mejor
rendimiento)
- más difíciles de gestionar (entradas múltiples)
Arquitecturas Paralelas
IF - EHU
54
RC-PM
Conflictos: búferes
55
 ¿Cómo se estructuran los búferes?
¿Y si se llenan los búferes?
líneas de control
¿sitio
?
sí / no
datos
líneas de datos
No debe ser una situación habitual, ya que significa que se
ha superado la capacidad de comunicación de la red. Sólo
para gestionar momentos de mucho tráfico.
Arquitecturas Paralelas
IF - EHU
RC-PM
Latencia y Throughput
 La red de comunicación no es más que un recurso
para ejecutar programas en paralelo (otra “unidad
funcional”), que tiene que ser lo más eficiente
posible.
Principales parámetros de calidad:
- Latencia de los paquetes: tiempo necesario
para realizar la comunicación.
- Throughput: el nivel de tráfico que puede
aceptar / gestionar la red.
Arquitecturas Paralelas
IF - EHU
56
RC-PM
Latencia y Throughput
 Algunas definiciones
- Anchura de los enlaces (phit): número de bits que
se puede transmitir en paralelo (por ejemplo, 8 bits).
- Ciclo de transmisión: tiempo necesario para
transmitir un phit (un ciclo).
- Ancho de banda (bandwidth) de los enlaces, B:
cantidad de información transmitible en un segundo.
- Tiempo de encaminamiento (routing time), tr:
tiempo para procesar la cabecera de un paquete.
Arquitecturas Paralelas
IF - EHU
57
Latencia y Throughput
RC-PM
58
 Tiempo de comunicación o latencia (sin tráfico)
L: longitud del paquete (en bytes = flits)
d: distancia
-
Store-and-forward
Tsf = d × (L/B + tr)
-
Cut-through / Wormhole
Tct = d × (1/B + tr) + (L-1)/B
Arquitecturas Paralelas
IF - EHU
d×L
d+L
RC-PM
Latencia y Throughput
59
 Ejemplo: P = 1.024, L = 256 bytes, tr = 1 ciclo
D
d
toro 2D
malla 2D
10
5
32
16
62
22
SF
máx.
med.
2.570
1.285
8.224
4.112
15.934
5.654
CT
máx.
med.
275
265
319
287
379
299
Arquitecturas Paralelas
IF - EHU
hipercubo
RC-PM
Latencia y Throughput
60
 Teniendo en cuenta el tráfico de la red
Latencia (s)
Tráfico
máximo
Throughput (b/s)
Latencia
a tráfico 0
Tráfico (b/s)
Arquitecturas Paralelas
IF - EHU
Tráfico (b/s)
RC-PM
Latencia y Throughput
61
 Cut-through versus wormhole
Throughput (b/s)
Latencia (s)
CT
WH
CT
WH
Tráfico (b/s)
Arquitecturas Paralelas
IF - EHU
Tráfico (b/s)
RC-PM
Latencia y Throughput
62
 Throughput máximo (tráfico aleatorio)
P/2
P/2
NPaq/2
NPaq/2
NPaq: número de paquetes de L flits
(bytes) que puede inyectar por
segundo cada procesador
ABB: ancho de banda de la bisección
(= Bisec × B)
P/2 × (NPaq × L) × 1/2 = ABB
NPaq = 4 × ABB / (P × L)
Enlaces de la bisección
P = 256
bisección
n. max. flit / c.
Arquitecturas Paralelas
IF - EHU
malla 2D toro 2D
16
0,25
32
0,5
hiperc. 8D
128
2
RC-PM
Latencia y Throughput
 Modelo general
Tcom = tini + tflit × L
R
= L / Tcom
Rmax = lim R (L→∞)
L1/2 = tini / tflit
velocidad de transmisión
velocidad máxima
para obtener la mitad de la veloc. máxima
 Resumen: componentes del tiempo de comunicación
Emisor
Arquitecturas Paralelas
IF - EHU
Comunicación entre
encaminadores
Proc. paq.
T. espera en Receptor
búferes
63
RC-PM
Problemas de la comunic.
 El proceso de comunicación es distribuido, y se
ejecuta en paralelo en varios encaminadores de
mensajes. Por lo tanto, puede aparecer un problema
que ya hemos analizado: el bloqueo (deadlock)
(livelock, starvation...).
 Bloqueos: un conjunto de paquetes agota los
recursos para seguir adelante (en modo CT, los
búferes; en modo WH, los enlaces...), y se queda
parado para siempre.
Arquitecturas Paralelas
IF - EHU
64
RC-PM
Problemas de la comunic.
 Por ejemplo, en modo WH:
(0,0)
m1: 0,1→2,3
(0,3)
m2: 1,3→3,1
m4: 2,1→0,2
(3,0)
Arquitecturas Paralelas
IF - EHU
m3: 3,2→1,1
(3,3)
65
RC-PM
Bloqueos: estrategias
 ¿Qué hacer con los bloqueos?
-
Utilizar únicamente topologías o estrategias de
encaminamiento que no generen bloqueos.
-
Aceptar que pueden generarse bloqueos, y,
cuando se generan, detectarlos y
solucionarlos.
Las opciones más utilizadas son:
Arquitecturas Paralelas
IF - EHU
66
RC-PM
Bloqueos: estrategias
67
1. El encaminamiento estático ayuda
Por ejemplo, si utilizamos el encaminamiento
estático DOR, no se generan bloqueos en las mallas.
(0,0)
m1: 0,1→2,3
(0,3)
m2: 1,3→3,1
m4: 2,1→0,2
(3,0)
Arquitecturas Paralelas
IF - EHU
m3: 3,2→1,1
(3,3)
RC-PM
Bloqueos: estrategias
68
2. Pero no es suficiente si la propia topología
tiene ciclos.
3→1
0
Arquitecturas Paralelas
IF - EHU
2→0
3
0→2
1
2
1→3
RC-PM
Bloqueos: estrategias
69
3. Canales virtuales
Para no mantener bloqueados los enlaces de los
encaminadores, los búferes se dividen en dos (o
más) clases.
CV0
B0
B0
B1
B1
CV1
Arquitecturas Paralelas
IF - EHU
RC-PM
Bloqueos: estrategias
3. Canales virtuales
Doble objetivo:
1 Mejorar la eficiencia: si un paquete no
puede seguir, no parar un paquete que viene
por detrás y que tiene el camino libre.
2
Evitar las situaciones de deadlock.
Arquitecturas Paralelas
IF - EHU
70
RC-PM
Bloqueos: estrategias
71
3. Canales virtuales
2
Evitar situaciones de deadlock
0
0→2
Arquitecturas Paralelas
IF - EHU
3→1
2→0
3
2
CV0
1
CV1
1→3
RC-PM
Problemas de la comunic.
 En resumen
Mallas, DOR
→ no hay bloqueo
Toros, DOR, 2 canales virtuales → no hay bloqueo
4. Pero, ¿se puede utilizar el encaminamiento
dinámico sin bloqueos?
- mallas virtuales
- giros controlados (turn model)
- caminos seguros
- controlar la inyección de paquetes
Arquitecturas Paralelas
IF - EHU
72
RC-PM
Problemas de la comunic.
73
4a. Mallas virtuales (2D)
- Añadir dos canales virtuales por cada canal físico.
- Clasificar los paquetes en cuatro categorías, en función
de las posiciones de los destinos: NE, ES, SW, WN.
N0
- Generar cuatro mallas virtuales:
NE: N1-E0 ES: E1-S0
SW: S1-W0 WN: W1-N0
N1
W1
E0
W0
E1
S1
S0
- En cada malla virtual los paquetes pueden tomar
cualquier camino, ya que no se pueden formar ciclos.
Arquitecturas Paralelas
IF - EHU
RC-PM
Problemas de la comunic.
74
4b. Turn model (mallas)
- Hay que hacer cuatro giros para
formar un ciclo. Cuando se utiliza
encaminamiento estático (DOR)
dos de ellos están prohibidos.
- Basta con prohibir uno para que
no se generen ciclos; p.e, prohibido
girar al oeste:
- si no van hacia el oeste, como quieran;
- si no, recorrer inicialmente el camino
hacia el oeste.
Arquitecturas Paralelas
IF - EHU



west-first
RC-PM
Problemas de la comunic.
4c. Caminos seguros (red segura + no segura)
En este caso se acepta que los paquetes se puedan
bloquear. Cuando ocurre, se detecta y se soluciona el
problema. Por ejemplo, en mallas y los toros:
- 2 canales virtuales (2D), para generar dos redes
virtuales.
- Los paquetes se inyectan en una red y se mueven
libremente. La otra red se utiliza para moverse en
modo seguro (por ejemplo DOR, en una malla 2D).
- Si un paquete se bloquea, se le hace pasar a la red
segura, en la que avanzará hasta llegar al destino.
Arquitecturas Paralelas
IF - EHU
75
RC-PM
Problemas de la comunic.
4c. Caminos seguros
Ojo: ¿cómo detectar el bloqueo?
Por ejemplo, tras pasar cierto tiempo sin movimiento.
4d. Controlar la inyección de paquetes
Ocurren bloqueos porque se acaban los recursos.
Por lo tanto, los encaminadores rechazarán un
paquete si en caso de que lo acepten se llenan los
búferes. De esta manera, los recursos no se
terminarán nunca (Mare Nostrum).
Arquitecturas Paralelas
IF - EHU
76
RC-PM
Problemas de la comunic.
 En resumen
- Mallas, DOR
- Toros, DOR, 2 canales virtuales
→ no hay bloqueo
→ no hay bloqueo
Encaminamiento dinámico:
- En general, 1 canal virtual por dimensión en una
malla, y 2 en un toro.
- Otras estrategias.
- Tal vez, topologías que no generan ciclos: árboles!
 Ojo:
el encaminador tiene que ser simple, para
procesar paquetes lo más rápido posible. Por lo tanto,
puede que el encaminamiento estático sea suficiente!
Arquitecturas Paralelas
IF - EHU
77
RC-PM
Problemas de la comunic.
 Otros problemas
Livelock
Los paquetes van adelante y atrás, pero no consiguen llegar
al destino.
Pueden aparecer problemas si se desvían paquetes de los
caminos mínimos “para no perder tiempo”.
La causa puede estar relacionada con las prioridades.
Starvation
Algunos procesadores no consiguen inyectar sus paquetes en
la red porque hay mucho tráfico alrededor.
Arquitecturas Paralelas
IF - EHU
78
RC-PM
Protocolos de comunicación
79
 Recuerda que en el proceso de comunicación
toman parte muchos elementos.
interfaz + procesador (+SO?)
P1
P2
red + encaminadores
El proceso más lento de la comunicación acotará la
velocidad de comunicación del sistema.
Arquitecturas Paralelas
IF - EHU
RC-PM
Protocolos de comunicación
 Hemos tenido en cuenta únicamente la transmisión
de paquetes. Pero el interfaz “procesador/red” es
también muy importante: ¿cómo se inyectan los
paquetes en la red? ¿cómo salen?
Hay varios protocolos de comunicación para regular
esos procesos:
- El más simple, TCP/IP
- Más eficientes: protocolos de 0 copias
estandares: VIA, Infiniband...
propietario: gm (myrinet)...
Arquitecturas Paralelas
IF - EHU
80
RC-PM
Protocolos de comunicación
81
1. TCP / IP
reliable / connection oriented
Protocolo de los primeros clusters (y los de bajo
rendimiento).
Implementación habitual:
memoria
usuario
c. mem.
sistema
Int. SO
Arquitecturas Paralelas
IF - EHU
c. mem.
sistema
memoria
usuario
Int SO
RC-PM
Protocolos de comunicación
82
Ojo: la sobrecarga debida al sistema operativo y a
las copias puede ser muy grande.
sobrecarga del
protocolo
tiempo de
transmisión
10 Mb/s
Arquitecturas Paralelas
IF - EHU
100 Mb/s
1 Gb/s
RC-PM
Protocolos de comunicación
2. VIA (virtual interface architecture)
Estándar de comunicación de los principales fabricantes.
No se hacen copias en la memoria del sistema operativo;
se trabaja directamente con los encaminadores:
-- antes de enviar un mensaje se reserva sitio en la memoria
física, en el emisor y en el receptor.
-- las operaciones send/receive envían un descriptor a una
cola para procesar paquetes.
-- podemos esperar a la confirmación, o seguir trabajando.
Son protocolos de bajo nivel, con implementaciones
nativas o emuladas.
Arquitecturas Paralelas
IF - EHU
83
RC-PM
Infiniband
3. InfiniBand (IBA)
Objetivo: infraestructura de comunicaciones de altas
prestaciones, basada en conmutadores (intra) y
encaminadores (inter), para componer redes SAN
(reemplazar el bus compartido).
- Se utilizan adaptadores especiales para conectar nodos:
HCA (nodos de computación) o TCA (nodos auxiliares).
- Para conectar nodos de redes locales se utilizan
conmutadores y para conectar redes locales entre ellas se
utilizan encaminadores.
- Los enlaces son de 2,5 Gb/s de un solo sentido, punto a
punto.
Arquitecturas Paralelas
IF - EHU
84
RC-PM
Arquitecturas Paralelas
IF - EHU
85
RC-PM
Myrinet
4. Myrinet
Infraestructura de comunicación de alto rendimiento (caro).
Enlaces de 10 Gbit/s (full duplex), fibra óptica.
Conmutadores en un crossbar (red Clos). Cut-through.
Software propio para gestión de mensajes (GM).
Implementaciones de Gbit ethernet / Via / Infiniband.
Latencias de paquetes pequeños: 1,2 µs (Gigabit, 50 µs)
Throughput máximo 9,6 Gbit/s
Arquitecturas Paralelas
IF - EHU
86
RC-PM
Myrinet
Arquitecturas Paralelas
IF - EHU
87
RC-PM
Myrinet
Arquitecturas Paralelas
IF - EHU
88
RC-PM
Myrinet
Arquitecturas Paralelas
IF - EHU
89
RC-PM | Protocolos de comunicación

OJO: si se utilizan PCs para crear un cluster, la
conexión entre la red y los nodos se hará mediante el
bus PCI.
¡Puede que sea ese bus el que limite la velocidad de
la comunicación, y no los componentes de la red!
any questions?
PCI
→ 32 bits / 33 MHz -- 64 bits / 66 MHz
please,
d’ont
forget
exercices!
110 - 480 MB/s
PCI-X
→ 1 GB/s (2.0 → 4 GB/s)
PCI Express → 200 MB/s por canal
(× 32 → 6,4 GB/s)
Arkitektura Paraleloak
IF - EHU