Está en la página 1de 79

ndice

Conceptos Bsicos de Redes de interconexin


Accesibilidad y Bloqueo Equivalencia entre redes Redes crossbar basadas en splitters y combiners

Redes multietapa de conexin total (FC) Redes multietapa de conexin parcial (PC)

Redes Banyan Redes de Fusin Redes de ordenacin (Batcher)

Conmutacin de Paquetes

Parte 1

REDES DE INTERCONEXIN

Conmutacin de Paquetes

Conceptos Bsicos: Accesibilidad

Accesibilidad Total vs Limitada

Una red tiene accesibilidad total cuando cada entrada puede ser conectada a cada salida cuando ninguna otra conexin ha sido establecida.

Red de interconexin NxM

N entradas

M Salidas

Conmutacin de Paquetes

Conceptos Bsicos: Bloqueo

Redes con bloqueo:

Si existe al menos una conexin entrada-salida libres que no puede ser establecida

sin cambiar el estado de la red, i.e. Sin liberar otras ya establecidas. i.e. Red con bloqueo: conexiones establecidas impiden otras

Redes sin bloqueo:

Siempre existe la posibilidad de establecer un camino a travs de la red de interconexin independientemente del estado de la red

Existen tres tipos diferentes de redes de interconexin sin bloqueo.

Conmutacin de Paquetes

Redes de interconexin sin bloqueo

Red sin bloqueo en sentido estricto (SNB)


Conexin siempre posible. Independencia del estado de la red. Independiente de las polticas de establecimiento definidas. Podra existir bloqueo, pero se evita Dependiente de la poltica de establecimiento. Existe un camino disponible, pero: Podra ser necesario aplicar polticas de reconfiguracin sobre las conexiones ya establecidas Existe bloqueo pero se resuelve Se denominan redes reconfigurables
Conmutacin de Paquetes 6

Red sin bloqueo en sentido amplio (WNB)


Red sin bloqueo mediante reconfiguracin (RNB)


Red de Referencia: crossbar network


M

COSTE DE LA RED
N

Conmutacin de Paquetes

Coste de una red de interconexin

Mtrica tpica: Nmero de Puntos de Cruce

Existen ms mtricas, pero sta es la que ms comnmente se utiliza Cost C = N*M N = M C = N2

Red de Referencia: Crossbar NxM


N inlets

Red sin bloqueo


Cada

M outlets

punto de cruce est dedicado a un par especfico

de entrada/salida
Conmutacin de Paquetes 8

Permutaciones

Crossbar con NxN (p.e N = M) se puede ver como el desarrollo de una permutacin arbitraria

P: conjunto de todas las permutaciones posibles en la red Entonces: |P| N !


|P| = N! para una red crossbar (sin considerar conexiones multipunto)

Ejemplo: Crossbar con N = 3

Posibles 3! = 6 permutaciones: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2

0 1 2

0 2 1

1 0 2

1 2 0

2 0 1

2 1 0
Conmutacin de Paquetes 9

Entradas

1 2

Salidas

Propiedades de una Red Crossbar


Sin bloqueo en sentido estricto P = N! para N=M

=NxM

Conmutacin de Paquetes

10

Parte 2

REDES MULTI-ETAPA

Conmutacin de Paquetes

11

Redes Multietapa

Objetivo:

Sin bloqueo Menor coste

Solucin: Redes multietapa (multistage)

Reutilizacin de pequeas matrices varias veces e interconectadas entre s

Conmutacin de Paquetes

12

Modelo General para redes multietapa


1 1 2
ns x ms

N
n1

r1

r2

rs

s
Conmutacin de Paquetes 13

Redes Multietapa

Comentarios:

s etapas con ri matrices de ni x mi en la etapa i (i=1,...,s) Se cumple que N = n1r1 and M = msrs
Cada

matriz ni x mi Se asume que es sin bloqueo (SNB)

Red de interconexin

Red Multietapa de conexin total


Full-connection Cada

(FC)

Matriz en la etapa i (i=1,...,s) se conecta a todas las

matrices en la etapa i-1 e i+1;

Red multietapa de conexin parcial


Partial-connection

(PC): No existe Full-Connection

Conmutacin de Paquetes

14

Parmetros de una red multietapa

NxM

N: # entradas a la red, M: # salidas de la red

s :

# etapas

ri: # matrices crossbar en la etapa i,

(i=1 ... s)

- representa las dimensiones de crossbars en la etapa i


Conmutacin de Paquetes 15

ni , mi

Modelo General para redes multietapa

ni

mi

Conmutacin de Paquetes

16

Parmetros de una red multietapa (2)


ri x mi => numero total de salidas en la etapa i

ni x ri => numero total de entradas en la etapa i

N / n1 => nmero de crossbars en la 1 etapa

Conmutacin de Paquetes

17

Patrn de interconexin entre etapas

i mi*ri
=

i+1 n i+1 * r i+1


Conmutacin de Paquetes 18

Interconexiones: Extended Generalized Shuffle


1 2 ji ki ji+1 ki+1
0

mi-1
0

ni-1

( ji , ki ) ( ji+1 , ki+1 )

i+1

ki +1 = [mi (ki - 1) + ji ]

mod r + i 1
Conmutacin de Paquetes

+1
19

Red representable con un EGS: EGS network

Extended Generalized Shuffle

i mi*ri
=

i+1 n i+1 * r i+1


Conmutacin de Paquetes 20

Extended Generalized Shuffle

i mi*ri
=

i+1 n i+1 * r i+1


Conmutacin de Paquetes 21

Extended Generalized Shuffle

i mi*ri
=

i+1 n i+1 * r i+1


Conmutacin de Paquetes 22

Otro ejemplo de Red multietapa


No

todas son representables como EGS

Dos etapas con tres matrices (H, I, J) N = M = 4 Red de interconexin

a b c d

0 1 0 1

e f g h
Conmutacin de Paquetes 23

J I
0 1

Parte 2.1

EQUIVALENCIA ENTRE REDES

Conmutacin de Paquetes

24

Representando redes multietapa: Grafos

Grafo de red (o simplemente grafo):


Nodo: representa una matriz crossbar Arco: representa un enlace entre matrices Inlets/outlets no son representadas

Ejemplo: Grafo de Red para el ejemplo anterior

No aportan informacin relevante al anlisis

Grafo de canal de una red:


Representa la asociacin de cada entrada/salida Indica la secuencia de los elementos de red usados para el camino desde la entrada a la salida Nodo: representa una matriz crossbar Arco: representa un enlace (o malla) Aquella en la que los grafos de canal de todas las conexiones son iguales
Ejemplo: Grafo de canal a f

Red Regular:

Conmutacin de Paquetes

25

Equivalencia entre redes (1)

Redes Isomorfas:

Dos redes A y B son isomorfas si se puede establecer entre ellas un isomorfismo con conservacin de etiquetas
ie.

Si reetiquetando una a una las entradas, salidas y matrices de A con las de B, la red puede hacerse idntica a B moviendo sus matrices y sus enlaces Ie. Si moviendo las matrices conjuntamente con los enlaces conectados (se puede voltear), el resultado mapea matrices y etiquetas una a una

Dos redes isomorficas tienen el mismo grafo de canal.

Conmutacin de Paquetes

26

Equivalencia entre redes (2)

Topolgicamente equivalentes

Dos redes son topolgicamente equivalentes si podemos establecer un isomorfismo entre los grafos de las dos redes Si reetiquetando nodos son idnticos Dos redes son funcionalmente equivalentes si el conjunto de sus permutaciones es igual

Funcionalmente equivalentes

PA = PB

Dos redes sin bloqueo son siempre funcionalmente equivalentes.

PA = PB = conjunto de N! (todas las posibles) permutaciones

Conmutacin de Paquetes

27

Equivalencia entre redes (3)


Etiqueta

Mismo grafo de red => topologicamente equivalentes

Source: A. Pattavina, Switching Theory, architecture and performance ....


Conmutacin de Paquetes 28

Ejemplo de isomorfismo
a b c d H
0 1 0 1

e f g h J

a b c d

1 0 0 1

e f g h J

0 1

0 1

A Isomorfismo: au bv cs dt
s X
0 1 0 1

A
Z
0 1

w x y z

ez fw gx hy

H Y I X JZ

t u v

B
Conmutacin de Paquetes 29

Parte 2.2

CROSSBAR con COMBINADORES y DIVISORES


Conmutacin de Paquetes 30

Crossbar Networks Basadas en combinadores y Divisores

Objetivo: Construir una crossbar con un numero menor de bloques

Divisores: 1xK
Coste

c=K c=K

Combinadores: Kx1
Coste

Ambos elementos asimtricos pueden manejar solo una conexin

Construiremos un rbol de red de crossbar (Crossbar tree


network)

Funcionalmente es equivalente a un crossbar Construida con N divisores (splitters) 1xN & N combinadores (combiners) Nx1
Conmutacin de Paquetes 31

rbol Crossbar

0 1

0 1

1xN Coste: C = 2 N2

N-1

N-1

Es dos veces el coste de un Crossbar. ?


Conmutacin de Paquetes 32

Nx1

Crossbar Binary Tree

Sustituimos cada elemento 1xK o Kx1 por un rbol con muchos elementos 1x2 o 2x1

Coste c = 4N2 - 4N

Conmutacin de Paquetes

33

Ejemplo: Crossbar tree con etapa central

Ejemplo: K = 2, N = 8

K2 = 4 matrices N/K = 4 lneas de salida por matriz


0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Conmutacin de Paquetes 34

Crossbar tree con etapa central

Implementar una crossbar tree con una etapa central de conmutacin para reducir costes

Divisores 1xK en cada entrada.


Se

debe cumplir que K = 2k (k = 1... log2N-1) entrada tiene acceso a K matrices de la etapa central

Cada

Matriz central:
N/K

salidas a los combinadores necesarios para alcanzar la

accesibilidad total
Numero

de Matrices: K*N / (N/K) = K2

Coste: c = K2 (N/K)2 + 2NK = N2 + 2NK

Conmutacin de Paquetes

35

Parte 3

REDES MULTIETAPA DE CONEXIN TOTAL


Conmutacin de Paquetes 36

Diagrama de bloques para FC

Crossbar de dos etapas:

Mostrar que en todo momento puede estar con cualquiera de estos dos estados

Conmutacin de Paquetes

37

Redes multi etapa Full-Connection

En general se asume:

Las Matrices en etapas adyacentes estn siempre conectadas por un solo enlace
ni

= ri-1 y mi-1 = ri

Modelo General:
#1
n1 x m1

#1
n2 x m2

#1
ni x mi

#1
ns-1 x ms-1

#1
ns x ms

N
#r1
n1 x m1

M
#r2
n2 x m2

#ri
ni x mi

#rs-1
ns-1 x ms-1

#rs
ns x ms

Conmutacin de Paquetes

38

Redes de Conectividad total con dos y tres etapas


Redes de dos etapas:

Hay accesibilidad total pero tienen bloqueo Accesibilidad total Caminos diferentes entre una pareja de Entrada/salida Parmetros de diseo: Nmero de matrices en la etapa intermedia n1 y m3
Determinar SNB:

Redes de tres etapas:


si el switch es con o sin bloqueo

Redes de Clos

Conmutacin de Paquetes

39

Parte 4 a)

REDES MULTIETAPA DE CONEXIN PARCIAL


Conmutacin de Paquetes 40

Redes multietapa de conexin parcial (PC)

Conmutadores de alta velocidad

Prestaciones Alto grado de paralelismo


Paralelismo: acceso a memorias, route lookups, switching fabric

Redes multietapa de conectividad parcial


Cada matriz se conecta solamente a un subconjunto de las matrices de la siguiente etapa Elementos de Conmutacin (SE):

Matrices pequeas con un tamao constante

2kx2k con k[1,...,5] Ejemplo tpico: k = 1 2x2 Switching Elements

Propiedad de Packet self routing (auto encaminables):

Cada SE puede enrutar paquetes dentro de la R.I. autnomamente Procesamiento en paralelo de paquetes es posible

Es necesaria una lgica de control apropiada


Conmutacin de Paquetes 41

Redes de Banyan
Son un tipo de red multietapa NxN de conexin parcial Se construye mediante elementos de conmutacin (SE)

Tamao: bxb Numeracin etiquetado entrada/salida: 0...b-1 Numero de etapas: s = logbN Numero de matrices por etapa: N/b

Auto encaminamiento Slo existe un camino por pareja I/O En general son redes con bloqueo

Pero es posible introducir modificaciones para crear redes de Banyan strictly non-blocking o rearrangeable non-blocking

Conmutacin de Paquetes

42

Redes de Banyan Delta

Red Banyan Delta:

Todos los N caminos a una salida tienen el mismo descriptor de camino (path descriptor) self routing property!
Path

descriptor = secuencia de outlets de salida de cada matriz

No consideramos aqu otro tipo de red Banyan.

Regla de construccin especial que asegura self-routing property

Construccin del rbol hacia atrs desde las salidas a las entradas

Las entradas de una matriz en la etapa i se conectan a b salidas con la misma etiqueta en la matriz de la etapa i-1 (varios patrones posibles)

Hasta

llegar a la primera etapa


Llegamos a todas las matrices de la 1 etapa, ya que s = logb(N) hay un camino desde cada matriz de la ltima etapa a todas las matrices de la primera etapa
Conmutacin de Paquetes 43

Ejemplo: construccin de Red Delta (I)


Se comienza con una red de interconexin vaca Paso 1: conectar matriz 9 (1 en la ltima etapa)

Conecta las entradas de la matriz 9 al mismo ndice de salida de la etapa anterior (p.e. ndice 0) Repetir el mismo proceso en las siguientes matrices hasta llegar a la primera etapa
0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1

En este ejemplo conectamos siempre al ndice cero en el primer paso, pero se puede hacer de otro modo

000 001

0 1 0 1 0 1

Conmutacin de Paquetes

44

Ejemplo: construccin de Red Delta (II)

Paso 2:

Repetir el mismo proceso comenzando por la matriz 10:

Conectar la matriz 10 a todas las matrices de primera etapa

Aqu: Conecto a la salida con ndice 1 de la etapa anterior


0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1
Conmutacin de Paquetes 45

010 011

Ejemplo: construccin de Red Delta (III)

Paso 3: conectar la matriz 11


Utilizar la salida con ndice 0 entre las etapas 2 y 3 Utilizar la salida con ndice 1 entre las etapas 1 y 2
0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1
Conmutacin de Paquetes 46

100 101

Ejemplo: construccin de Red Delta (IV)


Paso 4: Conectar la matriz 12

Utilizar la salida con ndice 1 en las dos mallas

Resultado: Red Delta de tipo Baseline


0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1

110 111
Conmutacin de Paquetes 47

Ejemplo: Propiedades de Red Delta

Propiedad de las redes Delta Banyan:

Todos los N paths a una salida tienen el mismo path descriptor

Packet Self routing de acuerdo a la salida Direccionada

Ejemplo: Salida 5 (path descriptor 101)

Matriz 1: Camino 101 Matriz 2: Camino 101 Matriz 3: Camino 101 Matriz 4: Camino 101

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1

Salida 0 = 000 Salida 1 = 001 Salida 2 = 010 Salida 3 = 011 Salida 4 = 100 Salida 5 = 101 Salida 6 = 110 Salida 7 = 111
Conmutacin de Paquetes 48

Topologas de redes Delta


Existe diferentes topologas posibles dependiendo en las reglas especficas de construccin Cuatro redes tpicas Delta Banyan:

Baseline: Omega: SW-banyan: n-cube:

Realmente no son ms que diferentes mtodos de interconexin entre las etapas de acuerdo con la regla de Red Delta Se cumple que todas ellas son

Isomorfas Topolgicamente equivalentes Omega y n-cube son adems funcionalmente equivalentes

Por lo tanto slo existen tres tipos distintos...

Conmutacin de Paquetes

49

Redes Banyan Recursivas



0 1 0 1 0 1 0 1

Las redes SW-banyan y baseline se pueden construir recursivamente El ejemplo anterior es un Baseline recursivo: N
0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1

4
0 1 0 1

7 8

0 1 0 1

0 1 0 1

11 12

0 1 0 1
50

Conmutacin de Paquetes

Propiedades de redes Banyan

Las cuatro topologas de red de Banyan mencionadas poseen dos propiedades:

Buddy property:
Si

la matriz ji de la etapa i se conecta a las matrices li+1 y mi+1,

entonces estas dos matrices estn conectadas tambin a la misma matriz ki en la etapa i

Constrained reachability property:


Las

2k matrices alcanzadas en la etapa i+k por la matriz en la

etapa i son tambin alcanzadas exactamente por 2k-1 matrices de la etapa i

Por aplicacin de la propiedad anterior etapa a etapa

No todas las redes de Banyan cumplen con estas dos propiedades


Conmutacin de Paquetes 51

Ejemplo: Buddy Property

Si la matriz ji de la etapa i se conecta a las matrices li+1 y mi+1, entonces estas dos matrices estn conectadas tambin a la misma matriz ki en la etapa i

i = 1; j1 := 1 l2 = 5 ; m2 = 7 l2 & m2 conectada a k1 = 2 i = 1; j1 := 3 l2 = 6 ; m2 = 8 l2 & m2 conectada a k1 = 4


0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1
Conmutacin de Paquetes 52

En la etapa 1: Matrices 1+2 son buddies Matrices 3+4 son buddies

Ejemplo: Constrained Reachability Property (I)

Las 2k matrices alcanzadas en la etapa i+k por la matriz en la etapa i son tambin alcanzadas exactamente por 2k-1 matrices de la etapa i

i=1; k=2; Matriz 1: puede alcanzar las matrices 9, 10, 11, 12 2k-1= 3 matrices pueden alcanzarles (2, 3, y 4)
0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0

1 2 3 4

1 0 1 0 1 0 1

5 6 7 8

1 0 1 0 1 0 1

9 10 11 12

1 0 1 0 1 0 1
Conmutacin de Paquetes 53

Ejemplo: Constrained Reachability Property (II)


Ejemplo: 16 i=1; k=2

0 1 0 1 0 1 0 1

X Y A Z

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

Matriz A: puede alcanzar las matrices B, C, D, E 2k-1= 3 matrices pueden alcanzar B, C, D, E


X,

Y, y Z

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

Conmutacin de Paquetes

54

Bloqueo en Redes Banyan


En general, se puede producir bloqueo Definimos combinatorial power CP de una red como:

CP = |PBanyan| / |Pcrossbar|

|PBanyan | = n de estados

=2

N log 2 N 2

= NN

Crossbar: sin bloqueo (puede realizar todas las permutaciones) N!

Empleamos la aproximacin de Stirling para el factorial: Si N es grande:

Por tanto:

La probabilidad de bloqueo en una red de Banyan se incrementa con N


Conmutacin de Paquetes 55

Importancia de la redes Banyan

Factores clave:

Capacidad de autoenrutamiento
El

mismo path descriptor para todas las entradas

permite ir a la misma salida


Cada

etapa considera solo un bit para el enrutamiento

del paquete

Procesamiento distribuido de paquetes


Independientemente

de cada etapa

compensa la alta probabilidad de bloqueo

Conmutacin de Paquetes

56

Ejemplo de autoenrutamiento en redes Banyan


0000 0001 0010 1001 0011 0100 0101 0110 0111
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1001 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Conmutacin de Paquetes 57

1001 : Paquete destinado a la salida 1001

1000 1001 1010 1011 1100 1101 1110 1111

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1001 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1

0 1 0 1 0 1 0 1

1001
0 1 0 1 0 1

Topologas de Red Delta Banyan

Conmutacin de Paquetes

58

Inciso: Permutaciones tpicas (1)


0000 0000 El patrn de interconexin mediante enlaces entre etapas (y a la entrada y a la salida) define una permutacin fija. an-1 an-2.... a1 a0 0101

?
1111
Conmutacin de Paquetes 59

1111

Permutaciones tpicas (2)


j: permutacin identidad: h-shuffle:

j(an-1 .... a0 ) = an-1 .... a0

h (an-1 .... a0) = an-1 ... a h+1 ah-1 .... a0ah ( 0 < = h <= n-1 )

h-unshuffle: h-1 (an-1 .... a0) = an-1 ... a h+1 a0ah-1 .... a1ah ( 0 < = h <= n-1 )
Conmutacin de Paquetes 60

Permutaciones tpicas (3)

o-1 = o = 0 = j

(h-shuffle)

(butterfly)

Source: A. Pattavina, Switching Theory, architecture and performance ....


Conmutacin de Paquetes 61

Permutaciones tpicas (4)

Bit-switch: (an-1 .... a0) = a1 a2 ....... an-1a0

bit reversal: (an-1 .... a0) = a0 a1 ... an-2 an-1

Conmutacin de Paquetes

62

Permutaciones tpicas (5)

(bit-switch)

(bit-reversal)
Conmutacin de Paquetes 63

Source: A. Pattavina, Switching Theory, architecture and performance ....

Source: A. Pattavina, Switching Theory, architecture and performance ....

Conmutacin de Paquetes

64

Parte 4 b)

REDES DE ORDENAMIENTO

Conmutacin de Paquetes

65

Redes de ordenamiento

Redes Hardware capaces de ordenar un conjunto de elementos

Ordenamiento = comparar e intercambiar (cambio condicional de elementos) Crear redes sin bloqueo con autoenrutamiento

cmo? poner una red de ordenamiento antes de la red de Banyan para evitar posibilidades de bloqueo Empleo de bloques pequeos que permitan crear grandes redes de ordenamiento recursivamente: Merging networks

Batcher, 1969:

Conmutacin de Paquetes

66

Redes de Fusin (Merging Networks)


Red de tamao N Capaz de fusionar/ordenar dos secuencias ya ordenadas de tamao N/2 en una secuencia ordenada de tamao N Existen dos algoritmos bsicos de funcionamiento:

Odd-even merging Bitonic merging

Nos centraremos en bitonic merging sorting

Numero constante de comparaciones por elemento

El mismo numero de matrices en cada etapa

Longitud constante de un camino a travs de la red Importante en redes de alta velocidad

Posibilidad de introducir un alto grado de paralelizacin


Conmutacin de Paquetes 67

Definicin de redes de fusin Bitnica

Secuencia Bitnica:

Una secuencia a0, a1,..., aN-1 es bitnica si existe un ndice j (0 j N-1) de modo que las subsecuencias a0,..., aj y aj+1,..., aN-1 son una monotnicamente creciente y la otra monotnicamente decreciente Ejemplos:
0, 8,

3, 4, 5, 8, 7, 2, 1 j = 4 6, 5, 4, 3, 1, 0, 2 j = 6

Conmutacin de Paquetes

68

Tipos de secuencias Bitnicas


Secuencia Bitnica

Circular:

Obtenida mediante el desplazamiento circular de k posiciones (k [0,N-1]) Ejemplos:


3,

5, 8, 7, 4, 0, 1, 2 k = 2 1, 2, 3, 5, 8, 7, 4, 0 bitonic (j = 4)

Secuencia Bitnica

Balanceada:

a0 a1 ... aN/2 - 1 y aN/2 aN/2 + 1 ... aN-1 o: a0 a1 ... aN/2 - 1 y aN/2 aN/2 + 1 ... aN-1

Conmutacin de Paquetes

69

Construccin red ordenacin tipo fusin Bitnica

Construccin de un fusor bitnico NxN (MN) de manera recursiva a partir de fusores bitnicos de ordenacin N/2xN/2
L H

a0 a1

d0 d1

c0 c1

EGS

L H

EGS

aN/2-2 aN/2-1 aN/2 aN/2+1

dN/2-2 dN/2-1 e0 e1
L H L H

Fusor Bitnico MN/2


aN-2 aN-1

cN/2-2 cN/2-1 cN/2 cN/2+1

eN/2-2 eN/2-1

Fusor Bitnico MN/2

Conmutacin de Paquetes

cN-2 cN-1
70

Fusor de ordenacin Bitonico: Ejemplo M16 (N=16)


a0 a1 a2 a3 a4 a5 a6 a7 b0 b1 b2 b3 b4 b5 b6 b7
L H L H L H L H L H L H L H L H

M2

M8

L H L H L H L H

M4

L H L H

L H L H L H L H L H L H L H L H

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15


71

M4

L H L H

M8

L H L H L H L H

M4

L H L H

M4

L H L H

Conmutacin de Paquetes

Redes de fusion Bitnica: Ejemplo numrico

0 = c0 3 = c1 BITONICO 5 = c2 8 = c3 7 = c4 6 = c5 4 = c6 1 = c7

M8

L0 7 H L3 H6 L4 5 H L1 8 H

M4

L 0 4 H L 1 H 3

L H L H L H L H

c0 = 0 c1 = 1 c2 = 3 c3 = 4 c4 = 5 c5 = 6 c6 = 7 c7 = 8

M4

L 5 7 H L 6 H 8

Conmutacin de Paquetes

72

Caractersticas Fusor de ordenacin Bitnico


Topologa: la misma que la Banyan n-cube Complejidad:

Numero de etapas:
s[MN]

= log2N

Numero de Matrices:
S[MN]

= N/2 * log2N

Como para una red Banyan

Conmutacin de Paquetes

73

Redes de ordenamiento

Emplearemos el algoritmo sort-by-merging para crear redes de ordenamiento

Procedente de las redes de fusin analizadas anteriormente Paso 1: Los elementos a ordenar se toman de dos en dos para formar N/2 secuencias de longitud 2 Paso 2: estas secuencias se toman de nuevo de dos en dos y fusionan para generar N/4 secuencias de longitud 4 ... Sucesivamente hasta llegar a dos secuencias de longitud N/2 que fusionan en una secuencia de longitud N (paso n = log2N)

Algoritmo:

Conmutacin de Paquetes

74

Redes de ordenamiento: Vista esquemtica


0 1

2x2

MN/4

2x2 2x2

MN/4

Bitonic merger MN/2


N-2 N-1

MN/4

Bitonic merger MN Bitonic merger MN/2

2x2
1

MN/4
n-2

N-1

n-1

n = log2N
Conmutacin de Paquetes 75

Batcher networks (basado en fusores bitnicos)

Ejemplo red ordenamiento Batcher


M2
L H H L L H H L L H L H H L H L

M4
L H L H H L H L L H L H L H L H

M8 M4
L H L H L H L H L H L H

M4

L H L H

Construida recursivamente

Tener cuidado con el orden de ordenamiento de cada red de fusin


Orden

creciente / Orden decreciente


Conmutacin de Paquetes 76

Redes de ordenamiento: Caractersticas (I)

Nmero de etapas sN:

log2N etapas de redes de fusin (fusores)


Cada 1 2 ... log2N

red de fusin: log2N etapas

etapa de fusin : fusores M2 1 etapa etapa de fusin : fusores M4 2 etapas etapa de fusin : fusores MN log2N etapas

sumamos:

Todos los caminos desde la entrada a la salida cruzan sN matrices


Conmutacin de Paquetes 77

Redes de ordenamiento: Caractersticas (II)

Numero de Matrices SN:


Cada etapa tiene N/2 matrices Por tanto:

Tiempo de ordenamiento:

tD: tiempo de transmisin de cada unidad de datos : latencia de una etapa de ordenamiento T: tiempo requerido para ordenar N unidades de datos de tamao fijo

Coste:

Una matriz 2x2: C = 4

Conmutacin de Paquetes

78

Referencias

A. Pattavina, Switching theory, Wiley 1998

Captulo 2

Conmutacin de Paquetes

79

También podría gustarte