Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación,...

23
Redes de Interconexión

Transcript of Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación,...

Page 1: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Interconexión

Page 2: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Introducción

Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver un pro-

blema común.

Diseño Complejo: La red consume gran parte del tiempo global de computación (cooperación intensa), así como los patrones de comunicación pueden ser complejos (dependen de la aplicación, modelo computacional, lenguaje, …)

Evaluación de una red de interconexión

Con qué rapidez puede transferir tanto como es necesario al lugar adecuado, de forma fiable y a un coste razonable.

Page 3: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Criterios de Rendimiento y Espacio de Opciones

Criterios de Rendimiento•Latencia: Tiempo de tránsito de un mensaje•Ancho de Banda: Tráfico de mensajes máximo que puede soportar la red•Conectividad: Multiplicidad de caminos de comunicación entre dos nodos cualesquiera•Coste Hardware: Coste de la red en relación con el coste total de la máquina.•Fiabilidad: Caminos redundantes, ….•Funcionalidad: Funciones adicionales de la red, como combinación de mensajes (reducción, …), tolerancia a fallos, ...

Espacio de Opciones•Topología: Estática o dinámica•Estrategia de Conmutación: Conmutación de circuito, conmutación de paquetes

(store-and-forward, cut-through, …)•Modo de Operación: Síncrono o asíncrono•Estrategia de Control de Tráfico: Encaminamiento, resolución de conflictos, ...

Page 4: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Topologías

P-M

C

P-M

C

P-M

C

P-M

C

P-M

C

P-M

C

P-M

C

P-M

C

S S

SS

Topología Estática

Los nodos están conectados directamente entre sí• Los patrones de comunicación son fijos (adecuado para aplicaciones con patrones de comunicación previsibles)• El encaminamiento de los mensajes está controlado por software, con o sin soporte hardware (controlador inter-nodo)

Page 5: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Topologías

Topología Dinámica

Los nodos están conectados a través de conmutadores

• Los patrones de comunicación son variables (adecuado para aplicaciones

con patrones de comunicación no previsibles)

• El encaminamiento de los mensajes está controlado mediante los conmu-

tadores (totalmente hardware)

Page 6: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Propiedades

Grado de un Nodo: Número de nodos vecinos inmediatos (canales I/Odel nodo, que incide el coste del nodo)

Diámetro de la Red: Máxima distancia entre dos nodos cualesquierade la red (la distancia es la longitud del camino más corto entre dos nodos)

Anchura de Bisección: Número mínimo de líneas de comunicación que de-ben eliminarse para particionar la red en dos mitades iguales

Ancho de Banda de Bisección: Mínimo volumen de comunicación entre dosmitades cualesquiera de la red

Funciones de Encaminamiento: Desplazamiento, rotación, permutación(barajamiento, …), radiación, reducción, gather/scatter, …

Escalabilidad: Capacidad de expandir la red manteniendo su rendimiento

Page 7: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas

Red Lineal 0 1 2 3

7 6 5 4

8 9 10 11

15 14 13 12

• Red de interconexión estática más simple

• La red no es simétrica y resulta ineficiente para un número elevado de nodos

• Propiedades:- Grado = 2 (1, los extremos)- Diámetro = N - 1- Anchura de Bisección = 1

Page 8: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas Anillos

(b) Ring (c) Chordal ring of degree 3 (d) Chordal ring of degree 4 (f) Completely connected (same as Illiac mesh)

• Redes unidireccionales o bidireccionales• Aumentando el grado de los nodos, se obtienen anillos cordados, siendo un extremo la red totalmente conectada (la escalabilidad se reduce)

• Propiedades: (anillo)- Grado = 2- Diámetro = N/2 - Anchura de Bisección = 2

• Ejemplos:- IBM token ring, CDC Cyberplus (1985), KSR-1 (1992)

Page 9: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas Anillos (II)

Barrel Shifter:Tipo de anillo que se deriva de un anillo simple añadiendo conexionesadicionales desde cada nodo hasta aquellos nodos cuya distancia conel primero sea una potencia entera de 2.

Barrel shifter

Propiedades (para un anillo de N=2n procesadores):- Grado = 2n-1- Diámetro = n/2- Anchura de bisección: 2 (n+1) + ( )

2n

2—

N2

Page 10: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas Mallas y Toros

• La malla no es simétrica• El toro es una variante simétrica de la malla• Estas redes son populares debido a su reducido diámetro y alta anchura de bi- sección para un grado bajo y constante (escalabilidad)• Propiedades: (malla y toro k-dimensional)

- Grado = 2k ; 2k- Diámetro = k (n-1) (con N = nk); k n/2- Anchura de Bisección = n; 2n

• Ejemplos:- Illiac IV (1968), Goodyear MPP (1980), AMT DAP (1988), Intel Paragon (1992), CRI T3D (1993)

Page 11: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Reset

Analyse

NotError

Link0

Link1

Link2

Link3Terminated links

Subsystem PAL

T800

2 Mbytes DRAM

128 Kbytes SRAM

SSResetSSAnalysenotSSError

Page 12: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

SOFTWIREPIPE 0

SLOT 1, LINK 3 TO SLOT 8, LINK 0SLOT 1, LINK 0 TO EDGE 0SLOT 2, LINK 0 TO EDGE 1SLOT 3, LINK 0 TO EDGE 2

PIPE 1SLOT 0, LINK 3 TO SLOT 3, LINK 0SLOT 1, LINK 3 TO EDGE 2SLOT 2, LINK 3 TO EDGE 1SLOT 3, LINK 3 TO EDGE 0

END

0

7 6

1

5

23

4

O

Page 13: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

TRAM0

SLOT0TRAM1

PEO

TRAM2

PE1

TRAM4 PE2

TRAM3 PE3

Page 14: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.
Page 15: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas Hipercubo

(a) 3-cube (b) A 4-cube formed by interconnecting two 3-cubes

• Los hipercubos binarios (N=2n nodos) fueron muy populares en los años 80, de- bido a su reducido diámetro, alta anchura de bisección, facilidad de simular otras redes (árboles binarios, mallas,…), facilidad de proyección de algoritmos con comunicaciones locales, etc.• Su reducida escalabilidad (el grado depende de N) y dificultad de empaqueta- miento han ocasionado su sustitución por mallas y árboles en los años 90

• Propiedades:- Grado = n- Diámetro = n- Anchura de Bisección = N/2

• Ejemplos: - Cosmic Cube (1981), Intel iPSC (1983), FPS (1984), nCube (1985,1990) TMC CM-2 (1987)

Page 16: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas Anillos Conectados en Cubo

(c) 3-cube-connected cycles (d) Replacing each node of a k-cube by a ring (cycle) of k nodes to form the k-cube-connected cycles

• Se obtiene sustituyendo cada nodo de un hipercubo de k-dimensiones por un anillo de k nodos• La red conseguida tiene grado constante (escalabilidad), aunque el diámetro aumenta y la anchura de bisección se reduce

• Propiedades: (k-dimensional)

- Grado = 3

- Diámetro = 2k - 1 + k/2 (con N=k2k)

- Anchura de Bisección = N/(2k)

Page 17: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas Arboles y Estrella

(a) Binary tree (b) Star (c) Binary fat tree

• El árbol binario es escalable pero el diámetro es alto y la raíz es un cuello de botella• El árbol grueso reduce el cuello de botella de los niveles altos (todos los nodos intermedios son realmente conmutadores)• La estrella no es escalable• Propiedades:

- Grado = 3; 1(N - 1, centro)- Diámetro = 2 (k - 1) (k: núm. niveles); 2- Anchura de Bisección = 1; N/2

• Ejemplos: Columbia DADO (1987; 2-árbol, k = 10), CM-5 (1991; 4-árbol grueso de 16384 nodos)

Page 18: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas

Generalización: k-ary n-Cube Networks

Generalización de múltiples topologías: n es la dimensión del cubo y k es elnúmero de nodos en cada dimensión.

The k-ary n-cube network shown with k=4 and n=3;Hidden nodes or connection are not shown

n y k están ligados entre sí y con el número total de nodos N por las siguientesexpresiones:

N = Kn; (k = (N) 1/n, n = logk N)

Page 19: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas

Generalización: k-ary n-Cube Networks

Ejemplo: Mapeo de un toro en esta geometría

(a) Traditional torus (a 4-ary 2-cube) (b) A torus with folded connections

Folded connections to equalize the wire length in a torus network.

Page 20: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Características de las Redes de Conexión Estáticas

Page 21: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas

Consideraciones Finales :

Consideraciones sobre costes

Es conveniente implementar la red con procesadores uniformes (también en supatrón de I/O) (Ejemplo de los Transputers).

El grado y el número total de conexiones afectan principalmente al coste y a laEscalabilidad.

La simetría afecta a la escalabilidad y a la eficiencia del encaminamiento.

En el supuesto de que exista un hardware específico para encaminamiento, ladistancia media entre nodos es un factor más interesante que el diámetro de lared.

Page 22: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Redes de Conexión Estáticas

Consideraciones Finales :

Consideraciones sobre “capacidad de la red”

La capacidad total de la red se define como el número de mensajes que lared puede gestionar por unidad de tiempo.

Un “punto caliente” es un par de nodos que acumulan una fracción despro-porcionada del tráfico total de la red.

Las redes de baja dimensionalidad se comportan mejor frente a cargas no uniformes al compartir más los recursos.

Page 23: Redes de Interconexión. Introducción Función: Soporte que permite la cooperación (comunicación, sin- cronización) entre los procesadores para resolver.

Bus-based Shared-Memory Multiprocessors