Este documento presenta 12 ejercicios sobre redes de comunicación en computadores paralelos. Los ejercicios cubren temas como el cálculo de latencia en diferentes escenarios de red, el diseño de redes Omega y Delta, el análisis de accesos concurrentes a memoria, y el estudio de algoritmos de enrutamiento para redes de malla e hipercubo.
1. Capítulo 2
Redes de Comunicación en Computadores
Paralelos
Ejercicios
1. Asume una red con un ancho de banda de 10 Mb/s tiene un overhead de emisión de
230 µs y un overhead de recepción de 270 µs. Supón que las dos máquinas están a 100
metros y una quiere enviar un mensaje de 1000 bytes a la otra (incluyendo la cabecera).
(a) Calcular la latencia total para enviar el mensaje de una máquina a la otra.
(b) Realizar los mismos cálculos que en el apartado (a) asumiendo ahora que las
máquinas están a 1000 km.
Nota: La velocidad de la luz es de 299792.5 km/s y las señales se propagan alrededor
del 50% de la velocidad de la luz en un conductor.
2. Considera el uso de un conmutador de barras cruzadas de 8x8 para construir una red
Omega multietapa de 512 entradas.
(a) ¿Cuántas etapas se requieren en la red?
(b) ¿Cuántos conmutadores de barras cruzadas se necesitan para construir la red?
(c) Si la red se expande para que tenga 4096 nodos ¿Cuántos conmutadores
adicionales de 8x8 se necesitan?
3. Dibujar una red Omega de 16 entradas usando conmutadores de 2 x 2.
(a) Mostrar cómo se fijan los conmutadores para rutear un mensaje desde el nodo
1011 al nodo 0101 y desde el nodo 0111 al nodo 1001 simultáneamente. ¿Existe
bloqueo?
(b) Determinar cuántas permutaciones se pueden implementar en un paso a través de
esta red Omega. ¿Cuál es el porcentaje de permutaciones de un paso entre todas las
permutaciones?
(c) ¿Cuál es número máximo de pasos necesarios para implementar cualquier
permutación a través de la red?
4. Considerar las conexiones del perfect-suffle (barajadura-2). Generalizar el mapeo para
una barajadura-m sobre n objetos, donde mxk=n para algún entero k≥2; para la
construcción de la clase de redes Delta (introducida por Patel, 1980).
(a) Mostrar cómo realizar una barajadura-4 sobre 12 objetos.
(b) Usar el mínimo número de conmutadores de 4 x 3 y barajadura-4 como patrón de
conexión entre las etapas para construir una red Delta de 64 entradas y 27 salidas en
tres etapas.
(c) ¿Cuál es la relación entre las redes Omega y Delta?
5. Suponga un multiprocesador de memoria compartida formado por 4 procesadores
P0,...,P3, conectados con 9 módulos de memoria M0,...,M8 a través de una red Delta. Las
2. direcciones de memoria están distribuidas entre los 9 módulos con entrelazado de orden
inferior. Se tiene un vector de 16 componentes A0,...,A15 almacenadas en direcciones
consecutivas de memoria con A0 en M0. Dibuje la red e indique el número de accesos
concurrentes a memoria que se necesitan si se quieren realizar los siguientes accesos:
P0→A0, A1
P1→A2, A3
P2→A1, A3
P3→A0, A5
Nota: los accesos que realiza cada procesador deben hacerse en el orden indicado
6. Completar la tabla rellenado los valores que faltan a partir del tamaño de la red, para
las redes que aparecen en la figura.
3. 7. Diseñar una red directa para un multicomputador con 64 nodos usando un toro de tres
dimensiones, un hipercubo binario de seis dimensiones y un cubo de ciclos conectados
(CCC) con un diámetro mínimo.
(a) Sea d el grado de un nodo, D el diámetro de la red, y L el número total de líneas
de la red. La calidad de la red se mide por (dxDxL)-1: Categoriza estas tres
arquitecturas de acuerdo con la calidad.
(b) La distancia internodo media es el número medio de hops (líneas) a lo largo del
camino más corto entre un nodo y otro. La media se calcula para todos los pares
(fuentes y destino). Ordenar las tres arquitecturas de acuerdo con su distancia media
internodo, asumiendo que la probabilidad de que un nodo envíe un mensaje a otros
D
nodos con distancia i es ( D − i + 1) / ∑ k =1 k .
8. Asume las siguientes redes de 64 nodos: Bus, totalmente conectada, anillo y toro 2D.
Suponemos que realizan comunicación todos con todos: cada nodo hace una
transferencia a cada nodo. Vamos a simplificar el costo de comunicación de forma que se
utiliza una unidad de tiempo para pasar de un conmutador a otro, y no hay costo dentro
ni fuera del procesador.
(a) Asume que cada link de cada interconexión tiene la misma velocidad y que un
nodo puede enviar tantos mensajes como quiera a la vez. ¿Cuánto tiempo necesitan
para completar la comunicación? (Ancho de banda de la bisección).
(b) Realiza los mismos cálculos que en el apartado (a) pero suponiendo que cada nodo
sólo puede repartir un mensaje en cada unidad de tiempo.
9. Modificar el modelo de router mostrado en los apuntes para usar sólo buffers en las
entradas y sin canales virtuales. Reescribir las expresiones de la latencia base para la
conmutación segmentada y la conmutación de paquetes en este nuevo modelo.
10. Determinar los caminos de ruteo óptimos para los siguientes multicomputadores en
malla e hipercubo.
(a) Considera un hipercubo de 64 nodos. Basándose en el algoritmo de ruteo E-cubo,
mostrar cómo rutear un mensaje desde el nodo (101101) al nodo (011010). Mostrar
todos los nodos intermedios.
(b) Determinar dos ruteos multicast óptimos para una malla 8x8. El nodo fuente es
(3,5) y hay 10 destinos: (1,1), (1,2), (1,6), (2,1), (4,1), (5,5), (5,7), (6,1), (7,1), (7,5).
(i) El primer ruteo multicast se debe implementar con un número mínimo de canales.
(ii) El segundo ruteo multicast se debe implementar con distancias mínimas desde el
nodo fuente a cada uno de los 10 destinos.
11. Para algunos de los algoritmos de ruteo vistos en clase se pide probar lo siguiente:
(a) Probar que el ruteo E-cubo está libre de bloqueos en un hipercubo con
conmutación segmentada y un par de canales unidireccionales opuestos entre nodos
adyacentes.
(b) Probar que el ruteo X-Y está libre de bloqueo en una malla 2D.
12. Define un algoritmo de ruteo totalmente adaptativo mínimo para n-cubos k-arios
bidireccionales.