estrategias de conmutación conmutación de circuito w se establece un camino completo entre origen...
TRANSCRIPT
Estrategias de ConmutaciónConmutación de Circuito Se establece un camino completo entre origen y destino, transfiriéndose a continuación los datos (libre de conflicto y con baja latencia), liberán- dose el camino finalmente.
Es adecuada cuando el tiempo de establecimiento del circuito es mucho menor que el tiempo de transmisión (mensajes largos)
Como todo el camino origen-destino está reservado, el ancho de banda se ve afectado negativamente , pero la latencia se minimiza.
Conmutación de Paquetes La información se agrupa en pequeños paquetes, que compiten indivi- dualmente por el acceso al camino entre origen y destino.
Los nodos/conmutadores deben incluir buffers para almacenar los pa- quetes en tránsito.
El ancho de banda es superior que en la conmutación de circuito, pero la latencia se ve afectada negativamente.
Conmutación de PaquetesStore-and-Forward Cada paquete (o mensaje completo) contiene información completa so- bre su ruta (cabecera) y es transferido/almacenado en cada nodo inter- medio de su camino origen-destino.
Se necesitan buffers en cada nodo para almacenar paquetes (mensajes) completos.
Utilizado en las primeras generaciones de multicomputadores.
Cut-Through Cada paquete (mensaje) es descompuesto en flits (flow-control digits), con información de ruta (cabecera) sólo en el primero de ellos.
El primer flit establece el camino transitado de nodo a nodo, mientras que el resto de los flits siguen la misma ruta y en el mismo orden (seg- mentación de la transmisión).
Si una conexión bloquea el primer flit, el resto siguen el camino preesta- blecido, almacenándose todos ellos en el nodo bloqueado.
Conmutación de Paquetes
Wormhole:
Variante del cut-through que minimiza el tamaño de los buffers en los nodos (sólo deben almacenar un único flit)
Cuando el flit de cabecera se bloquea, el resto de los flits perma- necen almacenados en los buffers de los nodos previos.
Este esquema puede dar lugar a interbloqueos (deadlock)
Comparación
N1
N2
N3
N4
Time
N1
N2
N3
N4
Time
TSFL/W
Data
header packet D
TWH
L/W
D
a) Store-and-forward routing b) Wormhole routing
Latencia:
• Store-and-Forward:tcomm = ts + (mtw + th) l ≈ ts + mtwl
• Wormhole:tcomm = ts + thl + mtw ≈ ts + mtw
m: tamaño del mensaje (palabras) l: longitud del caminots: tiempo de confección del mensaje (startup) th: tiempo de tránsito entre dos nodostw: tiempo de tránsito por palabra y conexión
vecinos
Interbloqueos (Deadlock)Interbloqueo circular
D D D D D
Packet Buffer
C C C C C
Packet Buffer
A A A A A
Packet Buffer
B B B B B
Packet Buffer
Node C
Node DNode A
Node B
(a) Buffer deadlock among four nodes with store-and-forward routing.
Node A Node D
Node B Node C
Router A
Message 4
Message 3
Router D
Message 2
Router CMessage 1Flit buffer
( b) Channel deadlock among four nodes with wormhole routing; shaded boxes are flit buffers.
m4
m3
m2
m1
Resolución:
Uso de canales virtuales (multiplexación en tiempo de las conexiones físicas, situando varios buffers en cada nodo)
Uso de técnicas adecuadas para establecer el encamina- miento de los mensajes (ej.: E-cube en hipercubos y enca- minamiento XY en mallas)
Interbloqueos (Deadlock)
Redes de Conexión Dinámicas: Bloqueos
Diferenciación entre canales físicos y virtuales:
PhysicalChannel
Flit buffers in source node Flit buffers in destination node
Four virtual channels sharing a physical channel with time-multiplexing on a flit-by-flit basis
Pueden existir varios canales virtuales por cada canal físico, con multiple-xación en el tiempo flit a flit.
Redes de Conexión Dinámicas: BloqueosLos canales virtuales permiten resolver situaciones de bloqueo.
A D
B C
A D
B C
(a) Channel deadlock (b) Channel-dependence graph containing a cycle
(c) Adding two virtual channels (V3, V4) (d) A modified channel-dependence graph using the virtual channels.
Deadlock avoidance using virtual channels to convert a cycle to a spiral on a channel-dependence graph
C4
C2
C3C1
C4
C2
C3C1
V3
V4
C2
C4
C3C1
C2
V3 C3C1
V4
C4
Encaminamiento de mensajes
Estrategias de control de flujo: Resolución de una colisiónentre paquetes
Están presentes tres elementos en el envío de un mensaje (wormhole):
1) El nodo emisor contiene el flit a emitir en un buffer
2) El canal de conexión se aloca
3) El nodo receptor cuenta con un buffer donde aceptar el flit
Encaminamiento de mensajesCuando dos paquetes llegan simultáneamente a un nodo hayque arbritar:
1) A qué paquete se le aloca el canal
2) Qué hacer con el paquete al que se le niega el acceso
X
Packet buffer
Packet 1
flit
buffer channel
Outgoing
Packet 2
(a) Buffering in virtual cut-through routing (b) Blocking flow control
GatePacket 2
Control Packet 1
Packet 2
Packet 1
(c) Discard and retransmission (d) Detour after being blocked
Packet 2
Detour channel Packet 1
Outgoing
channel
Flow control methods for resolving a collision between two packets requesting the same outgoing channel (packet 1 being allocated the channel and packet 2 being denied)
Encaminamiento de mensajes
Estrategias para la selección de las conexiones (caminos) para el Tránsito de los mensajes a través de la red.
Tipos:
• Encaminamiento Determinístico: El camino depende solo del nodo origen y destino, y no de las condiciones de tráfico de la red.
• Encaminamiento Adaptivo: El camino depende de los nodos origen y destino y de las condiciones de la red.
Encaminamiento Determinístico XY en una Malla 2D
3,7 4,7 5,7 6,7 7,7
0,6 1,6 2,6 3,6 4,6 5,6 6,6 7,6
0,5 1,5 2,5 3,5 4,5 5,5 6,5 7,5
0,4 1,4 2,4 3,4 4,4 5,4 6,4 7,4
0,3 1,3 2,3 3,3 4,3 5,3 6,3 7,3
0,2 1,2 2,2 3,2 4,2 5,2 6,2 7,2
0,1 1,1 2,1 3,1 4,1 5,1 6,1 7,1
0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0
• Encaminamiento dimensional libre de interbloqueos
Four (Source; destination) pairs: (2,1,7,6) (0,7; 4,2)(5,4; 2,0) (6,3; 1,5)
x
y
i,j
0,7 1,7 2,7
N
ES
W
Patrones de Comunicación
Son posibles cuatro patrones de comunicaciones:
1.- Unicast uno a uno: Patrón de comunicaciones en que un procesador manda un mensaje a otro.
2.- Multicast: Un procesador fuente manda un mismo mensaje a múltiple destinos.
3.- Broadcast: Un procesador fuente manda el mismo mensaje a TODOS los procesadores restantes.
4.- Conference: Comunicaciones de todos con todos.
Encaminamiento Adaptativo en mallas
Objetivo:Impedir interbloqueos, así como maximizar los recursos de forma global.En general suele implicar consideraciones tanto sobre el diseño de los bufferesde los routeres, como sobre la decisión a tomar frente a paquetes en espera, losmecanismos alternativos de encaminamiento, o, finalmente, el uso de canalesvirtuales.
02
01
00
12
11
10
22
21
20
02
01
00
12
11
10
22
21
20
(a) Original mesh without virtual channel (b) Two pair of virtual channels in Y-dimension
(c) For a westbound message (d) For an eastbound message
Adaptive X-Y routing using virtual channels to avoid deadlock; only westbound and eastbound Traffic are deadlock-free. (Courtesy of Lionel Ni, 1991)
02
01
00
12
11
10
22
21
20
02
01
00
12
11
10
22
21
20
Encaminamiento Uno-a-Muchos (Multicast) en Mallas
D3D2
D1 S
D3D2
D4
D1 S D5
D3D2
D4
D1 S D5
3 2 43
2 1 32
1 S 21
(a) Five unicast with traffic = 13 (b) A multicast pattern with traffic and distance = 4 = 7 and distance = 4
(c)Another multicast patter with (d) Broadcast to all nodes via a tree traffic = 6 and distance = 5 (numbers in nodes correspond to
levels of the tree)
D4
D5
(a): Uno-a-muchos mediante transferencias punto-a-punto
(b): Uno-a-muchos mediante replicación de paquetes en nodos intermedios (adecuado para redes store-and-forward)
(c): Uno-a-muchos lineal (adecuado para redes wormhole
(d): Radiación en árbol.
Encaminamiento Uno-a-Muchos (Multicast) en Mallas
Encaminamiento Uno-a-Muchos (Multicast) en Hipercubos
0011
0001
0011
0001
0011
0001
1011
1001
01110110
0010
0100
0000
0101
1110 1111
11011100
1000
01110110
0010
0101
0000
0100
(a) Broadcast tree for a 4-cube rooted at node 0000
(b) A multicast tree from node 0101 to seven destination nodes 1100,0111,1010,1110,1011,1000 and 0010
• (a): Radiación en árbol (orden decreciente de la dimensión)
• (b): Uno-a-muchos en árbol avaro (greedy) (se manda el paquete a lo largo de la dimensión que permita alcanzar el mayor número de destinos pendientes.
Encaminamiento Uno-a-Muchos (Multicast) en Hipercubos
Conmutación de Paquetes Store-and-Forward
• Cada paquete (o mensaje completo) contiene información completa sobre su ruta (cabecera) y es transferido/almacenado en cada nodo intermedio de su camino origen-destino.• Se necesitan buffers en cada nodo para almacenar paquetes (mensajes) completos• Utilizado en las primeras generaciones de multicomputadores
Cut-Through
• Cada paquete (mensaje) es descompuesto en flits (flow-control digits), con información de ruta (cabecera) sólo en el primero de ellos.• El primer flit establece el camino transitado de nodo a nodo, mientras que el resto de los flits siguen la misma ruta y en el mismo orden (segmentación de la transmisión)• Si una conexión bloquea el primer flit, el resto siguen el camino preestablecido almacenándose todos ellos en el nodo bloqueado.
Conmutación de Paquetes
Wormhole:
• Variante del cut-through que minimiza el tamaño de los buffers en los nodos (sólo deben almacenar un único flit)
• Cuando el flit de cabecera se bloquea, el resto de los flits perma- necen almacenados en los buffers de los nodos previos.
• Este esquema puede dar lugar a interbloqueos (deadlock)
Encaminamiento Determinístico en la Red Omega
Se define un “barajamiento perfecto” como la función que mapeaEnteros entre o y N-1 en sí mismos definida como (xd-1 xd-2 … x0) = xd-2 … x0 x d-1
donde xd-1 x d-2 ... x0 es la representación binaria de x
Definimos también un mapa de cambios como (xd-1 x d-2 … x0) = xd-1 x d-2 … x0
*
donde el asterisco denota complemento binario
Finalmente, definimos una red de cambios por barajamiento comoaquella que contiene N nodos xd-1 x d-2 … x0, donde el nodo x está conectado al nodo y si
y = (x), x = (y), o y = (x)
Redes de Conexión Dinámicas
Bus Compartido
P2 Pn
C1 C2 Cn
M1 M2 Mm
I/OSubsystem
P1
Secondary Storage(Disks, Tape Units)
….
….
….
Proccesors
Caches
Bus
MainMemory
• Colección de cables para la transferencia de datos multiplexados en el tiempo (tiempo compartido)• Su coste es muy reducido pero su ancho de banda es bajo (escalabilidad limitada)• Ampliamente utilizado cuando el número de nodos es reducido
• Ejemplos: - VME, IEEE Multibus II, IEEE Futurebus+, Encore Ultramax (1987; bus jerárquico), Sequent Symmetry, SGI Challenge (1993)
Redes de Conexión Dinámicas Barras Cruzadas (Crossbar)
PE222
PE221
PE220
PE219
PE001
CP002
CP001
CP001 CP001 CP001 CP001 CP001 CP001 CP001OnOff
... . .
.
. . .
Transmit
Receive
(b) The interprocessor crossbar network built in the Fujitsu VPP500 vector parallel processor (1992)
P1
P2
P16
M1 M2 M16. . .
. . .....
.
(a) Interprocessor-memory cross- bar network built in the C.mmp multiprocessor at Carnegie- Mellon University (1972)
• Red con máximo ancho de banda y capacidad de interconexión, pero poco escalable y muy costosa.
• Puede considerarse como una red dinámica de una sola etapa, donde cada punto de cruce es un conmutador que puede estar abierto o cerrado.
• Ejemplos:- C.mmp (1972; barras cruzadas entre procesadores y memorias),
Fujitsu VPP500 (1992; barras cruzadas entre nodos procesador- memoria)
Redes de Conexión Dinámicas Redes Dinámicas Multietapa
• Varias etapas de conmutadores (proyecciones uno-a-uno y uno-a-muchos) y conexiones fijas.• Redes con características intermedias entre buses y barras cruzadas
Number of processors
Cos
t
BusMultistageCrossbar
Number of processors
Per
form
ance
Bus
Multistage
Crossbar
Redes de Conexión Dinámicas
Red Omega
• Procesadores (izq.) Memorias (der.)• Conexiones inter-etapa: barajamiento perfecto• Ejemplos: - NYU Ultracomputer (1983), IBM RP3 (1985), Illinois Cedar (1987), IBM SP1/2 (1993/4)
(e) A 16 x 16 Omega network
Redes de Conexión Dinámicas Red Benes
• Es una red no-bloqueante reorganizable, eliminando la posibilidad de interbloqueo entre caminos diferentes (permite varios caminos diferentes entre cada par entrada- salida)
• Se comporta como una red no-bloqueante pura (como las barras cruzadas) si se espe- cifican de antemano todos los caminos entrada-salida deseados (precomputación es- tática del encaminamiento)
• El inconveniente es mayor coste y latencia que su equivalente red Omega (es adecua- da, por tanto, la conmutación de circuito)
• Ejemplo: GF11 (576 nodos)
Redes de Conexión Dinámicas
Red Banyan
• Ejemplo de red con diferente número de entradas y salidas
• Esta red permite un único camino entre cada para entrada-salida, como la red Omega
• Ejemplo: TRAC
Características de las Redes de Conexión Dinámicas