You are on page 1of 11

Universidad CAECE

Ingeniería en Sistemas
Arquitectura Avanzada

Docente
Muñoz Bussi, J. J.
Alumno
Tolstanov, Ezequiel H. (Mat. 79417/5)
Tema
Interconexión de Redes
Fecha
8 de Noviembre de 2011
Cuatrimestre
2do. de 2011
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

ABSTRACT

El presente documento intentará explicar el concepto de interconexión de redes para un


sistema multiprocesador distribuido.

INTRODUCCION

La evolución de las comunicaciones a lo largo de los últimos años permitió llevar a la práctica
conceptos que hasta hace unos años eran tan sólo teóricos. Gracias a estos avances podemos
pensar en procesamiento distribuido como una realidad que hoy día se utiliza muchísimo para
entornos de gran demanda de recursos.
Pero todo esto no es posible sin el software adyacente que logra "controlar" las
comunicaciones y los procesos de manera transparente.
Al hablar de comunicación entre procesadores podemos diferenciar 2 tipos de comunicación:
• Compartir algún recurso (por lo general hablamos de memoria). A través de la
memoria , los procesadores pueden comunicarse entre sí para intercambiar
información. En este caso, estamos hablando de memoria compartida.
• A través del envío de copias de las informaciones desde cada uno de los procesadores
hacia los demás elementos de procesos con los que se desee comunicar. En este caso,
estamos hablando de comunicación a través del paso de mensajes.

CARACTERÍSTICAS DE LAS REDES DE INTERCONEXIÓN

Para comenzar a hablar de este tema, deberemos definir el concepto de nodo: "Cualquier
dispositivo que se quiera conectar a la red, como ser un elemento de proceso, módulo de
memoria, procesador de entrada/salida, etc.[1]"
A continuación, definiremos algunos conceptos que ayudarán a caracterizar y especificar una
red de interconexión:
• Grados de los nodos: se llama grado de un nodo (g) al número de enlaces que tiene
con otros nodos (en un grafo, decimos que son la cantidad de aristas que posee un
nodo). En el caso de enlaces unidireccionales se puede hablar de grado de entrada y
de grado de salida; en este caso se considera el grado del nodo a la suma de ambos (el
equivalente a valencia). Es conveniente que en una red el grado sea el mismo para
todos los nodos; en ese caso se dice que la red es regular. La regularidad de las redes
es conveniente en términos de escalabilidad, pero como contraparte, el grado incide
directamente en el coste del nodo, ya que indica el número de puertos de
entrada/salida que precisa.
• Diámetro de red: se denomina diámetro de red (D) al máximo camino más corto entre
2 nodos medido por el número de enlaces recorridos. Un diámetro menor indicar
mayor habilidad de comunicación en la red. Debemos procurar que el diámetro de la
red sea lo más pequeño posible.
• Ancho de bisección: llamaremos ancho de bisección (b) al mínimo número de enlaces
cortados por una división hecha en 2 partes iguales. Si cada enlace tiene w bits
entonces el ancho de bisección en bits (B) será B = b*w. En general, B será una cota
superior de los anchos en otros cortes dentro de la red. Una medida de capacidad de
comunicación de la red es el producto del ancho de bisección por el ancho de banda
de cada enlace. A este producto se lo denomina ancho de banda de bisección.

TOLSTANOV Página 1
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

• Latencia de una red: Éste parámetro se refiere al retraso máximo producido por la
comunicación de un mensaje elemental a través de la red. Esto está relacionado con
los tiempos de espera producidos por vías de comunicación ocupadas. En algunas
ocasiones, a este parámetro también se le denomina genéricamente contención.
• Productividad: Se llama productividad de una red al número total de paquetes de
información (o mensajes) que la red puede transportar por unidad de tiempo.
• Punto caliente (hot spot): Refiere a un enlace de la red que concentra una parte
desproporcionadamente grande del tráfico del total de la red.
• Escalabilidad: Esta propiedad se refiere a la facilidad con que la red puede expandirse
manteniendo sus prestaciones sin aumentar desproporcionadamente el coste.
• Simetría: Diremos que una red de interconexión es simétrica si su topología tiene el
mismo aspecto vista desde cualquier nodo. Otra forma de verlo podría ser: "una red es
simétrica si todos sus nodos son intercambiables[2]". Esto implica que una red simétrica
debe ser regular.
• Conectividad: Se dice que una red tiene acceso total (o que está totalmente
conectada) si permite la conexión directa entre dos nodos cualesquiera de la red. Esto
implica que existan enlaces que unan todas las parejas posibles de nodos sin pasar por
otros nodos. Por otra parte, se dice que una red es bloqueante si no es posible
conectar, en algún caso, todas las posibles parejas de nodos que se puedan formar;
caso contrario se dice que la red es no bloqueante.

ELEMENTOS DE CONMUTACIÓN (SWITCHES)

Muchas redes de interconexión necesitan de elementos específicos para comunicar sus nodos
de forma selectiva. El más habitual de estos elementos es el conmutador o switch.

Un switch p x q es un circuito con p entradas y q salidas. El circuito puede conectar cualquiera


de las entradas con una o varias de sus salidas.

0 0

1 1

p-1 q-1

Módulo Conmutador p x q

0 0 Cruzada o
0 0
Directa Intercambiada
1 1 1 1

0 0 Difusión 0 0 Difusión
Superior Inferior
1 1 1 1

Lo más habitual en la práctica es que p = q = 2r (r > 0) y no está permitida la conexión de una de


sus salidas con varias entradas, ya que esto produciría conflictos en la salida; por ello un
conmutador de 2 x 2 podrá adquirir las 4 posiciones mostradas en la figura 4.4 denominadas
directa (straight), cruzada o intercambiada (crossover o swap), difusión superior
(upperbroadcast) y difusión inferior (lowerbroadcast).

TOLSTANOV Página 2
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

Sí sólo se permite la conexión de cada entrada con una sola de las salidas el circuito se llama
conmutador de líneas cruzadas (crossbarswitch). El más habitual de estos conmutadores es el
binario donde p = q = 2 que sólo puede tener 2 de las posiciones de la figura 4.4: directa y
cruzada.

PERMUTACIONES Y FUNCIONES DE INTERCAMBIO

Se denominan permutaciones de un conjunto A = {a0, a1, …, an-1} a las diferentes aplicaciones


biyectivas que pueden establecerse entre el conjunto {0, 1, 2, …, n-1} y el conjunto A.

Se desprende de la rama de la matemática discreta que el número de permutaciones posibles


para un conjunto de cardinal n es n!.

La permutación denominada perfectshuffle se utiliza con mucha frecuencia en las redes de


intercomunicación de elementos de proceso. Esta permutación deriva su nombre del proceso
de repartir las cartas. Para conseguirlo sobre un mazo de cartas convencional, se corta el mazo
en 2 partes iguales y luego se va tomando una de cada parte para conseguir el mazo mezclado.
De esta forma, se consigue que todas las cartas que eran adyacentes antes de la operación,
estén separadas, al menos, por otra carta. En la figura puede verse la permutación sufrida por
8 elementos:

0 0
1 1
2 2 Situación de 8
3 3 elementos antes y
4 4 después de un perfect
5 5 shuffle
6 6
7 7

Para formar un perfectshuffle, si el número de elementos es potencia de 2, es decir, n = 2r,


basta rotar un lugar hacia la izquierda el número de cada elemento en binario (que tendrá r
bits), y con ello obtendremos el lugar correspondiente a ese elemento después del
perfectshuffle.

De esta propiedad aparece como corolario el hecho de que cuando se efectúa dicha
permutación r veces sobre 2r elementos, se regenera el orden inicial.

También existe otro tipo de permutación llamada perfectshuffle inverso, que efectúa la
operación del perfectshuffle pero de manera inversa. Este tipo de permutación puede ser útil
en algunas ocasiones.

La permutación perfectshuffle es un caso particular de una clase de permutaciones


denominada genéricamente k-shuffle. La idea de estas permutaciones también se basa en la
acción de mezclar las cartas, pero en lugar de dividir el mazo en 2 montones como en el
perfectshuffle, se divide en k montones, de m cartas cada uno, y luego, se toma la carta
superior de cada montón sucesiva y rotativamente para formar el mazo mezclado. Este nuevo
orden de las k*m cartas vendrá dada por una permutación a la que denotaremos como Sk*m:

TOLSTANOV Página 3
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.


  
 1,  ∈ 0,
 1
k*m 

 1,  
 1

Automáticamente se desprende que un perfectshuffle es lo mismo que un 2-shuffle. Otra


permutación bastante utilizada es la permutación mariposa (butterfly) de kn elementos de
orden i (0 <= i<n) que consiste en intercambiar los dígitos de orden 0 e i del número del
elemento en base k. Esta permutación tiene la interesante característica de ser simétrica, es
decir, que coincide con su inversa. En la figuras pueden verse las permutaciones mariposa de
23 elementos de órdenes 1 y 2:

000 000 000 000


001 001 001 001
010 010 010 010
011 011 011 011
100 100 100 100
101 101 101 101
110 110 110 110
111 111 111 111

3 3
Permutación mariposa de 2 elementos de orden 1 Permutación mariposa de 2 elementos de orden 2

CLASIFICACIÓN DE LAS REDES DE INTERCONEXIÓN

Uno de los criterios más importantes para la clasificación de las redes de interconexión se basa
en la rigidez de los enlaces entre los nodos: las redes pueden clasificarse en estáticas y
dinámicas. Una red estática se caracteriza porque su topología queda establecida de forma
definitiva y estable cuando se instala el sistema; su única posibilidad de modificación es crecer.
Por el contrario, una red dinámica puede variar de topología bien durante el curso de la
ejecución de los procesos o bien entre la ejecución de los mismos. Por otra parte, las redes
pueden ser jerárquicas o no, lo son si están formadas por una serie de niveles, con diferente
número de nodos, dentro de cada uno de los cuales existe simetría. La mayoría de las redes
jerárquicas suelen ser estáticas, sin embargo, hay algún tipo de topología dinámica que
también puede serlo.

REDES DE INTERCONEXIÓN ESTÁTICAS

Las redes estáticas emplean enlaces directos fijos entre los nodos. Estos enlaces, una vez
fabricado el sistema, son difíciles de modificar, por lo que la escalabilidad de estas topologías
es baja. Las redes estáticas pueden utilizarse con eficiencia en los sistemas en que puede
predecirse el tipo de tráfico de comunicaciones entre sus procesadores. Veamos algunas clases
de redes de interconexión estáticas:

• Formación lineal: Se trata de una red unidimensional en que los N nodos se conectan
cada uno con el siguiente mediante N-1 enlaces formando una línea. Los nodos
interiores tienen grado 2 y los extremos grado 1. El diámetro de esta red es N-1 y su
ancho de bisección es 1. Resulta ser la estructura más sencilla, pero no es regular y
puede hacerse muy ineficiente para valores altos de N debido a que el diámetro crece
linealmente con el número de nodos introducidos. Las redes lineales resultan eficiente
únicamente cuando tienen muy pocos nodos.

TOLSTANOV Página 4
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

• Anillo/Anillo Cordal: Una red en anillo se consigue conectando entre sí los nodos
extremos de una formación lineal. La estructura resulta simétrica y todos sus nodos
poseen grado 2. El diámetro de la red es N/2. Si los enlaces del anillo fueran
unidireccionales, su diámetro sería N - 1. Si se incrementa el grado de cada nodo de la
red a 3 o 4, llegaremos a la estructura de anillo cordal. Según se aumenta el grado de
los nodos del anillo cordal, se disminuye su diámetro. El caso más extremo de anillo
cordal es la red totalmente conectada en que el grado de cada nodo es N - 1, cada
nodo está conectado con todos los demás, es decir, diámetro 1. El inconveniente de
esta topología es la gran complejidad en sus nodos debido a su alto grado (de hecho, el
máximo alcanzable). Un caso especial del anillo cordal, que constituye un buen
equilibrio entre complejidad y eficiencia, es el denominado barrelshifter, en que el
nodo i se conecta con todos los nodos j que cumplen con la condición |i - j| = 2rpara
todo r entre 0 y k - 1 donde k = log2 N. El grado de esta topología es 2k - 1 y su
diámetro es k/2.
• Mallas y toros: Una malla k-dimensional tiene lk nodos, donde l es el número de nodos
por lado. El grado de los nodos varía entre k para los vértices hasta 2k en los nodos
más interiores por lo que esta red no resulta regular y su diámetro viene dado por k(l -
1). Esta red de interconexión es muy utilizada en la práctica. Las redes en toro son
mallas en que sus filas y columnas tienen conexiones en anillo, esto contribuye a
disminuir su diámetro. Esta pequeña modificación permite convertir a las mallas en
estructuras simétricas y además, reduce su diámetro a la mitad.
• Hipercubo: Un hipercubo (o más concretamente un n-cubo) es una malla n-
dimensional en que se han suprimido los nodos interiores. Según esta definición, un
hipercubo de dimensión 1 tendría solo 2 nodos y en general, unn-cubo puede formarse
interconectando los nodos equivalentes de dos (n - 1)-cubos. Por ello, el grado de los
nodos de unn-cubo es n, lo que hace a esta topología difícilmente escalable. Por todo
esto, cuando la dimensión aumenta, se va duplicando el número de nodos, con lo que
un n-cubo tendrá 2n nodos. Los hipercubos han sido bastante utilizados en
arquitecturas paralelas, sin embargo, en la actualidad, las máquinas que tenían esta
arquitectura han ido evolucionando hacia otras topologías más escalables, como se
verá a continuación.
• n-cubos k-arios: Esta topología es una generalización de algunas de las anteriores.
Unn-cubo k-ario consiste en un cubo n dimensional con k nodos a lo largo de cada
dimensión; por otra parte, todas las aristas, tanto exteriores como interiores, tienen
estructura de anillo. Los anillos, los toros y los hipercubos son casos particulares de n-
cubos k-arios.
• Topologías jerárquicas: El ejemplo más extremo de una topología jerárquica es el
árbol. Un árbol binario y equilibrado de k niveles tendrá 2k - 1 nodos. El grado de los
nodos es 3 (excepto para la raíz y las hojas [o nodos terminales]) y el diámetro de esta
red es 2(k - 1). Las topologías en árbol poseen un inconveniente: la raíz puede
concentrar el tráfico procedente de muchos nodos, por lo que en ella puede
producirse un cuello de botella y además introduce un único punto de falla. Esto
puede evitarse procurando dejar en los subárboles información que tenga consistencia
propia, si ello fuera posible, se reduciría el tráfico entre dichos subárboles y por lo
tanto, también en la raíz.

TOLSTANOV Página 5
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

o Una modificación a la estructura de árbol es el árbol grueso (fattree) en que


los nodos interiores son conmutadores, y no elementos de proceso, que se
comportan como pequeñas centrales telefónicas. La ventaja de esta topología
sobre el árbol convencional radica en que los conmutadores están diseñados
para admitir varios mensajes simultáneamente, por lo que el ancho de
bisección resulta mayor. Esto elimina el inconveniente de los árboles
mencionado con anterioridad, ya que el número de enlaces va
incrementándose según nos acercamos a la raíz. Este tipo de red, aunque
mantiene forma de árbol, en realidad es una red de interconexión dinámica
porque los conmutadores cambian las conexiones entre los nodos.
o La estructura de estrella es un caso específico de árbol con sólo 2 niveles en
que el nodo raíz tiene grado N - 1 y el resto, grado 1. El diámetro de esta red es
2. Esta topología corresponde a sistemas donde existe un nodo central que
hace funciones de supervisor o maestro (por ejemplo, en algunos sistemas
paralelos sólo uno de los procesadores dispone de dispositivos de
entrada/salida)

7 1

6 2

Formación Lineal
5 3 Anillo
4
0 0

7 1 7 1

6 2 6 2

Anillo cordal de Anillo cordal de


5 3 3
grado 3 5
grado 4
4 4
0 0

7 1 7 1

6 2 6 2

Red
completamente Barrel Shifter
5 3 3
conectada 5
4 4

Malla
Toro

TOLSTANOV Página 6
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

REDES DE INTERCONEXIÓN DINÁMICAS

Este tipo de redes resulta conveniente en casos de propósitos generales, debido a que son
fácilmente configurables y por ende, escalables. Las principales topologías de redes dinámicas
son las siguientes:

• Buses: Un bus se define como un conjunto de líneas que permite comunicar


selectivamente un cierto número de componentes o dispositivos de acuerdo a ciertas
normas de conexión. La principal desventaja que tiene el bus es que sólo puede
manejar una única transferencia al mismo tiempo; es por ello que se necesita alguna
especie de dispatcher para ordenar y dar paso a las diferentes peticiones. Este
dispatcher puede ser un circuito digital que lleva control de los momentos en los
cuales el bus se encuentra ocupado (debido a una transferencia en proceso). Este tipo
de mecanismos de control da lugar al nombre de bus de tiempo compartido. Los
buses son formas baratas de comunicación cuya principal ventaja es la de ser
fácilmente configurable. Otra desventaja importante es su bajo ancho de banda y su
alta latencia debido a las esperas que se generan.
• Redes de líneas cruzadas (crossbar): Aquí, cada nodo se encuentra conectado con
todos los demás a través de un conmutador de líneas cruzadas (crossbar switch). Esta
red de líneas cruzadas podría interpretarse como una central telefónica que conecta
los nodos a demanda. Cada conmutador puede producir una comunicación dedicada
entre cada par de elementos que se desee conectar. Este tipo de redes se ha utilizado
para conectar procesadores con módulos de memoria[3]. Puede verse entonces que,
por ejemplo, cada módulo de memoria sólo puede responder a una petición al mismo
tiempo, aunque varios procesadores pueden acceder a diferentes módulos de
memoria simultáneamente. Las principales ventajas de estas redes es que son no
bloqueantes y fácilmente escalables. La desventaja yace en el hecho de que precisa un
gran número de conmutadores (N2 conmutadores para una red cuadrada de lado N).
• Redes multietapa (MIN = Multistage interconnection network): Este tipo de red está
formada por una serie de capas de módulos conmutadores p x q. Estos conmutadores
pueden cambiar dinámicamente de posición para establecer las conexiones deseadas
en cada momento. Existen diferentes redes multietapa, básicamente difieren en el
tipo de módulo conmutador empleado y en la forma de interconectarlos (ISC Inter-
Stage Connection). Algunas de ellas son:
o Redes Omega
o Redes de línea base[4]
o Redes Mariposa (Butterfly networks)
o Redes Delta
o Redes de Closs[5]
o Redes de Benes

TOLSTANOV Página 7
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

BUS

Procesad. Memoria Procesad. Memoria Periférico Periférico

Estructura de bus único

Módulo Módulo Módulo


Conmutador Conmutador Conmutador

pxq pxq pxq

Módulo
I Módulo
I Módulo
Conmutador Conmutador Conmutador

pxq
S pxq
S pxq

C C
Módulo Módulo Módulo
Conmutador Conmutador Conmutador

pxq pxq pxq

Red de líneas cruzadas (crossbar) Red Genérica Multietapa

METODOS DE ENCAMINAMIENTO

Los métodos de encaminamiento son mecanismos (de Software o Hardware) que permiten
establecer la ruta entre el nodo origen y el nodo destino. El algoritmo de encaminamiento
también es responsable de efectuar la elección de la ruta cuando existan varias posibles y
gestionar los conflictos entre los “paquetes” que quieran tomar el mismo camino. La facilidad
en el encaminamiento puede ser una de las razones para elegir un tipo de red u otro. Veamos
algunos ejemplos de encaminamiento para 2 redes: Hipercubo y n-CCC.

ENCAMINAMIENTO EN REDES HIPERCUBO

Para comprender el encaminamiento en las redes del tipo k-cubo, es necesario saber cómo se
numeran los nodos en este tipo de redes. Se hace de forma recursiva, partiendo de un 1-cubo.
Un 1-cubo tendrá 2 nodos, a los que numeraremos 0 y 1. Cada vez que se añada una nueva
dimensión, se duplicará el número de nodos existentes: entonces, numeraremos los nuevos
nodos con el mismo número que los anteriores, añadiendo por la izquierda un nuevo bit con
valor 1. Se procede análogamente con las sucesivas dimensiones y nodos que se quieran

TOLSTANOV Página 8
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

agregar. Sabiendo esto, el algoritmo de encaminamiento resultaría ser bastante sencillo: Se


comparan los números de los nodos de origen y destino. A partir de ahí, se envía el mensaje
por los enlaces de las direcciones que correspondan a los bits diferentes en ambos números.

ENCAMINAMIENTO EN REDES n-CCC

El algoritmo de encaminamiento de las redes n-CCC es muy similar al de las de hipercubo; la


diferencia radica en que en cada vértice hay que recorrer un enlace por el anillo, para cambiar
de dimensión, y en el anillo final hay que llegar hasta el nodo deseado por el camino más
corto.

TOLSTANOV Página 9
Arquitectura Avanzada: Interconexión de Redes Muñoz Bussi J. J.

REFERENCIAS

[1] Referencia a “nodo” como elemento principal de un grafo, donde cada nodo posee
propiedades tales como “valencia” o “grado”.

[2] Intercambiables o “Permutables” como se conoce en la jerga de la Matemática Discreta,


donde se utiliza la matemática combinatoria para resolver problemas de este tipo.

[3] Wulf & Bell (1972, Carnegie-Mellon University C.mpp Multiprocessor)

[4] Wu & Feng (1980, MIT: Theoretical Investigations & Practices)

[5] Closs, M. (1984, Real-Life Applications: Networking & Football [G.D. Bc])

BIBLIOGRAFIA

TABAK, D. (1990. Multiprocessors [Prentice Hall])

ORTEGA, J. (2005. Arquitectura de Computadores [Thomson])

HWANG, K. (1993. Advanced Computer Architecture: Parallelism, Scalability & Programmability


[McGraw-Hill])

TANENBAUM, A. / VAN STEEN, M. (Sistemas Distribuidos – Principios y Paradigmas. Cap. XIII –


Sistemas Distribuidos Basados en Coordinación [Prentice Hall])

COMER, D (Redes Globales de Información con Internet y TCP/IP – Principios básicos,


protocolos y arquitectura. Cap VII, VIII y XI [Prentice Hall])

Universidad de Valladolid – Dpto de Informática

TOLSTANOV Página 10

You might also like