? Tanto para el caso de memoria compartida como el memoria distribuida, necesitamos un soporte de comunicación que nos permita acceder a la memoria común, centralizada o no, transmitir datos de procesador a procesador.
? La red de comunicación es por tanto “independiente” del modelo, aunque haya redes adaptadas a cada uno de ellos. Repasemos las principales.
Infraestructura de comunic.
? Los multiprocesadores SMP utilizan básicamente un bus como red de comunicación.
(Gp:) M
(Gp:) P
(Gp:) C
(Gp:) bus
? Aunque el bus es una red cuya gestión es “sencilla” y muy conocida, tiene problemas de escalabilidad:
– sólo admite “una” comunicación simultánea.
– se satura al crecer el número de procesadores.
La latencia de la memoria es independiente de la posición accedida: todas se encuentran a la misma “distancia” (UMA).
Infraestructura de comunic.
? Para poder utilizar muchos procesadores y mantener un espacio común de memoria, se necesita distribuir físicamente la memoria entre los procesadores y usar otro tipo de red de comunicación.
(Gp:) espacio de memoria común
(Gp:) P
(Gp:) C
(Gp:) M
(Gp:) red general
(Gp:) R
Ahora la latencia de los accesos no es constante: el acceso a los módulos locales de memoria es mucho más rápido que al resto (NUMA).
El papel de la red de comunicación puede ser crucial.
Infraestructura de comunic.
? Algunas características básicas que debe cumplir una buena red de comunicación:
? permitir múltiples “comunicaciones” simultáneas entre procesadores; es decir permitir comunicación con un alto throughput.
? ofrecer comunicaciones de baja latencia.
? en la medida de lo posible, ser tolerante a fallos.
? ser de fácil construcción y ampliación y tener un routing simple.
Infraestructura de comunic.
? Store-and-Forward Tsf = d (tr + L/B)
(Gp:) 1
(Gp:) 2
(Gp:) 3
(Gp:) 4
(Gp:) 1
(Gp:) 2
(Gp:) 3
(Gp:) 4
(Gp:) 2
(Gp:) 3
(Gp:) 4
(Gp:) 1
(Gp:) 4
(Gp:) 3
(Gp:) 1
(Gp:) 2
(Gp:) 4
(Gp:) 1
(Gp:) 2
(Gp:) 3
(Gp:) 1
(Gp:) 1
(Gp:) 2
(Gp:) 3
(Gp:) 4
(Gp:) 3
(Gp:) 4
(Gp:) 2
(Gp:) 1
(Gp:) t
(d = distancia, tr = tiempo de routing en cada nodo, B = ancho banda de los canales, L = longitud de los paquetes)
Tct = d (tr + 1/B) + (L-1)/B
? Cut-Through/Wormhole
Paso de mensajes
? Teniendo en cuenta el tráfico de la red
(Gp:) Throughput (b/s)
(Gp:) Tráfico (b/s)
(Gp:) Tráfico (b/s)
(Gp:) Latencia (s)
(Gp:) Latencia
a tráfico 0
(Gp:) Tráfico máximo
Latencia y Throughput
? Básicamente, un conjunto de búferes asociados a puertos de entrada/salida, más la lógica que permite procesar las cabeceras de los paquetes y asociarles un puerto de salida.
El encaminador (router)
(Gp:) puertos de entrada
(Gp:) puertos de salida
(Gp:) procesador local
(Gp:) procesador local
(Gp:) enlaces de
comunicación
(Gp:) enlaces de
comunicación
(Gp:) búferes
(Gp:) búferes
(Gp:) func. encam.+ crossbar
? Estático en orden de dimensiones (DOR)
? sencillo y prefijado.
? permite evitar problemas (tales como bloqueos).
? Dinámico
? permite adaptarse a condiciones de tráfico local y aprovechar la riqueza topológica de la red.
? añade tolerancia a fallos.
? pero puede implicar problemas de bloqueos en ciertas topologías.
Encaminamiento
? Atención: el rendimiento del sistema de comuni-cación no depende únicamente del dispositivo físico de comunicación, la red.
La comunicación procesador/procesador implica muchos más elementos.
(Gp:) red + encaminadores
(Gp:) interfaz + procesador (+SO?)
(Gp:) P1
(Gp:) P2
Otros elementos
(Gp:) memoria usuario
(Gp:) memoria usuario
(Gp:) Implementación habitual:
1. TCP / IP
reliable / connection oriented
protocolo de los primeros clusters (y los de menor rendimiento)
copia m. sistema
copia m. sistema
(Gp:) int SO
(Gp:) int SO
Protocolos de comunic.
Página siguiente |