TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de...

42
TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) José M. Cámara ([email protected]) v. 2.0

Transcript of TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de...

Page 1: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores)

José M. Cámara ([email protected]) v. 2.0

Page 2: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Introducción

• Máquinas de hardware débilmente acoplado. • Existen diferentes niveles de acoplamiento en esta categoría en función del hardware compartido: almacenamiento, entrada/salida…

• Al no disponer de espacio común en memoria, la comunicación se va a llevar a cabo mediante paso de mensajes. • Mensaje: unidad de intercambio de información. • Paquete: unidad de conmutación.

Page 3: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Conmutación

Conmutación de circuitos: se establece una conexión permanente para la transmisión del mensaje completo. Conmutación de paquetes (control de flujo):

Sin división: T=(N-1)(L/W) store & forward Con división en flits: T=(L/W) + (F/W)(N-2) wormhole Con división en phits: T = L/W + (P/W)(N-2) virtual cut through

Paquetes: disponen de información de destino y nº de orden dentro del mensaje. Flits (flow control unit): no disponen de ninguna información salvo el de cabecera, por lo que todos deben seguirle. Phits: unidad mínima de información posible; equivale al nº de líneas de datos del enlace.

El pipeline en VCT es análogo a Wormhole pero requiere espacio de almacenamiento intermedio para paquetes completos, como S&F.

Page 4: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Estrategias de conmutación

Store & forward

Wormhole

Virtual cut through

Page 5: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Conmutación de paquetes

Aspectos relevantes: Control de flujo: cómo y cuando se mueven los paquetes por la red. Incluye:

Resolución de colisiones: entre paquetes entrantes cuando los recursos de almacenamiento son escasos. Encaminamiento: cómo hacer que los paquetes lleguen a su destino.

Bloqueo (deadlock): los paquetes se bloquean formando un bucle -> la red se colapsa. Livelock: un paquete se mueve por la red sin llegar nunca a destino. Inanición (starvation): un paquete no recibe nunca servicio y queda anclado en un elemento de almacenamiento.

Page 6: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Abrazo mortal e inanición

Abrazo mortal de tráfico

Situación potencial de inanición Los coches procedentes de las calles en la

mitad inferior podrían no conseguir acceder a la rotonda.

http://fedoraproject.org/wiki/FAD_SP_2013

Page 7: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Conmutación de paquetes

Soluciones: Bloqueo Canales virtuales para demorar la aparición del bloqueo Ciertas combinaciones de interconexión – algoritmo de encaminamiento están libres de bloqueo. Recuperación: si el bloqueo aparece, el sistema puede descartar un paquete para deshacerlo.

Debe notificarlo al emisor para que pueda reintentar.

Resolución de colisiones Descartar Almacenar Reenviar -> livelock Bloquear

Encaminamiento Algoritmos de encaminamiento

Buff. CV 1

Buff. CV 2

Buff. CV n

Buff. CV 1

Buff. CV 2

Buff. CV n

Mul

tiple

xor

Dem

ultip

lexo

r

CV2 CVn CV1 CV1

Canales virtuales multiplexados en el tiempo Contenido multimedia disponible

Page 8: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Algoritmos de encaminamiento

Criterios de clasificación: Número de destino: unicast, multicast Lugar donde se toman las decisiones: centralizados, fuente, distribuidos Forma de implementación: tabla, máquina de estados Adaptatividad: deterministas, adaptativos Nº de caminos alternativos: parcialmente adaptativos, totalmente adaptativos Progresividad: progresivos, regresivos Minimalidad: mínimos, no mínimos -> livelock

Page 9: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

CONMUTACIÓN DE PAQUETES ENCAMINAMIENTO

Page 10: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ROUTER GENÉRICO (Intel Paragon)

Crossbar

Nodo local

Norte

Sur

Este Oeste

Controlador de entrada

Buffer de flit

Page 11: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

SITUACIÓN DE ABRAZO MORTAL I

A D

B C

C↓

D→

A↑

B←

Page 12: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

SITUACIÓN DE ABRAZO MORTAL II

A D

B C

C↓

D→

A↑

B←

Page 13: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

SITUACIÓN DE ABRAZO MORTAL III

A D

B C

C↓

D→

A↑

B←

Page 14: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

SITUACIÓN DE ABRAZO MORTAL IV

A/ C↓ D/ B←

B/D→

C/A↑

Page 15: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ENCAMINAMIENTO DOR I

A D

B C

C→

D→

A ←

B←

Page 16: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ENCAMINAMIENTO DOR II

A D

B C

C↓

D→

A↑

B←

Page 17: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ENCAMINAMIENTO DOR III

A D

B C

C↓

D→

A↑

B←

Page 18: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ENCAMINAMIENTO DOR IV

A D/ B←

C

C↓

A↑

B/D→

Page 19: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ENCAMINAMIENTO DOR IV

A/ B↓ D/C↓

C/D↑

B/A↑

Page 20: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ENCAMINAMIENTO DOR V

A/ B↓

B/A↑

D/C↓

C/D↑

Page 21: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

ENCAMINAMIENTO DOR VI

A

B/A↑

D

C/D↑

Page 22: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES I (noroeste)

A D

B C

A↑

Page 23: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES I (noreste)

A D

B C D→

Page 24: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES I (suroeste)

A D

B C

B←

Page 25: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES I (sureste)

A D

B C

C↓

Page 26: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES II (noroeste)

A D

B C

A↑

Page 27: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES II (noreste)

A D

B C D→

Page 28: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES II (suroeste)

A D

B C

B←

Page 29: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES II (sureste)

A D

B C

C↓

Page 30: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES III (noroeste)

A D

B C

A↑

Page 31: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES III (noreste)

A D

B C D→

Page 32: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES III (suroeste)

A D

B C

B←

Page 33: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES III (sureste)

A D

B C

C↓

Page 34: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES IV (noroeste)

A D

B C/A↑

Page 35: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES IV (noreste)

A D

C B/D→

Page 36: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES IV (suroeste)

A

B C

D/ B←

Page 37: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES IV (sureste)

D

B C

A/ C↓

Page 38: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES V (noroeste)

A

B

D/ A←

C

Page 39: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES V (noreste)

A D

C/D↑

B

Page 40: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES V (suroeste)

B C

A/ B↓ D

Page 41: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

REDES VIRTUALES V (sureste)

D

C B/C→

A

Page 42: TEMA 2 - COnnecting REpositories · 2017. 4. 21. · TEMA 2 Arquitecturas multiprocesador: MIMD de memoria distribuida (multicomputadores) ... REDES VIRTUALES III ... Para ir del

Ejemplo de algoritmo de encamianmiento

• Topología: malla. • Tipo de algoritmo: unicast, progresivo, centralizado, mínimo. • Según su implementación puede ser:

• Determinista o adaptativo. • Tabla o máquina de estados.

• Compatible con DOR. • Consiste en restar las coordenadas del nodo fuente de las del

nodo destino. • Para ir del nodo (2,8) al nodo (12, 6), la ruta se compone de 12

– 2 = 10 saltos en sentido x+ y 6 – 8 = 2 saltos en sentido y-.