? 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 |