Sistemas de Procesadores Paralelos (PARTE I)

Anuncio
Sistemas de Procesadores
Paralelos
(Multiprocesadores y Multicomputadoras)
PARTE I
Profesor: Mag. Marcelo Tosini
Cátedra: Arquitectura de Computadoras y técnicas Digitales
Carrera: Ingeniería de Sistemas
Ciclo: 4º año
1
Generalidades
Introducción
Sistemas
Sistemasde
decómputo
cómputocompuestos
compuestospor
porvarios
varios(decenas…
(decenas…miles)
miles)de
deprocesadores
procesadores
Tres
Treselementos
elementosprincipales:
principales:
••Procesadores
Procesadores
••Memoria
Memoria
••Interconexión
Interconexión
Microprocesadores
Multicomputadoras
••Fuertemente
Fuertementeacoplados
acoplados
••Débilmente
Débilmenteacoplados
acoplados
•Comunicación
•Comunicaciónaatravés
travésde
de
memoria
memoriacentral
central
•Comunicación
•Comunicaciónaatravés
travésde
de
redes
redesde
decomunicación
comunicación
••Velocidad
Velocidadacotada
acotadapor
porelel
ancho
anchode
debanda
banda(bits/seg.)
(bits/seg.)
••Existe
Existeun
unprotocolo
protocolode
de
pasaje
pasajede
demensajes
mensajes
••Conexionado
Conexionadoaatravés
travésde
de
una
unared
redoocon
conmemorias
memorias
multipuerta
multipuerta
••Cada
Cadaprocesador
procesadorposee
poseesu
su
propia
propiamemoria
memoriaRAM
RAMyysus
sus
puertos
puertosde
deI/O
I/O
3
Multiprocesadores
UMA (Uniform Memory Access)
La memoria física es uniformemente compartida por todos los procesadores. Todos los
procesadores tienen el mismo tiempo de acceso a todas las palabras de la memoria. Cada
procesador tiene su propia caché privada y también se comparten los periféricos
NUMA (Non Uniform Memory Access)
El acceso a memoria no es uniforme para diferentes procesadores. Existen memorias locales
asociadas a cada procesador y estos pueden acceder a datos de su memoria local de una
manera más rápida que a las memorias de otros procesadores
COMA (Cache Only Memory Access)
Caso especial de los sistemas NUMA. No
ha tenido mucha transcendencia, al igual
que los SIMD.
Las memorias distribuidas son memorias
caché, por este motivo es un sistema
muy restringido en cuanto a la
capacidad de memoria global. No hay
jerarquía de memoria en cada módulo
procesador. Todas las caché forman un
mismo espacio global de direcciones.
Multi
procesadores
UMA
SMP: Symetric
MultiProcessor
COMA
NUMA
DSM: Distributed
Shared Memory
Distintas maneras de organizar la memoria común
4
Multicomputadores
••Se
Sepueden
puedenver
vercomo
comoun
uncomputador
computadorparalelo
paraleloen
enelelcual
cualcada
cadaprocesador
procesadortiene
tienesu
supropia
propia
memoria
local.
memoria local.
••En
Enestos
estossistemas
sistemaslalamemoria
memoriase
seencuentra
encuentradistribuida
distribuidayyno
nocompartida
compartidacomo
comoen
enlos
los
sistemas
multiprocesador.
sistemas multiprocesador.
••Los
Loscomputadores
computadoresse
secomunican
comunicanaatravés
travésde
depaso
pasode
demensajes
mensajes
••Sólo
tienen
acceso
directo
a
su
memoria
local
y
no
al
las
Sólo tienen acceso directo a su memoria local y no al lasmemorias
memoriasdel
delresto
restode
de
procesadores.
procesadores.
••ElEldiagrama
diagramade
debloques
bloquesde
deun
unmulticomputador
multicomputadores
essimilar
similaraalos
lossistemas
sistemasUMA
UMA
Multi
computadoras
• MPP: Masively Parallel Processors
• COW: Cluster of Workstations
• NOW: Network of Workstations
MPP
COW
NOW
5
Sistema de memoria compartida
PE
PE
PE1
PE1
PE2
PE2
PEn
PEn
caché
caché
local
local
Mapeo
Mapeo
memoria
memoria
Red de
interconexión
Memoria
Memoria
Red
Redde
deinterconexión
interconexión
Sistema de memoria compartida
UMA
Elemento de proceso con memoria local
6
Sistema de pasaje de mensajes
memoria
memoria
local
local
E/S
E/S
PE
PE
Esquema de un módulo de procesamiento
STM
STM
Conexión entre los módulos
y la red de interconexión
a través del sistema de
transferencia de
mensajes (STM)
bus
busde
detransferencia
transferenciade
demensajes
mensajes
7
Conectividad de ambas alternativas
Memoria común
(Load / Store)
[La RED comunica
procesadores y memorias]
Se realiza por hardware
Paso de mensajes
(Send / Receive)
[La RED comunica
procesadores entre si]
Se realiza por software
µP1
µP1 µP2
µP2 µP3
µP3 µPn
µPn
µP1
µP1 µP2
µP2 µP3
µP3 µPn
µPn
Red
Red
M1
M1
M2
M2
Red
Red
Mk
Mk
Multiprocesadores
Multicomputadoras
8
Redes de
Interconexión
Clasificación de las redes de
interconexión
Indirectas
mediocompartido
compartido
Indirectas(dinámicas
(dinámicasbasadas
basadasen
enswitches)
switches)
1 DeDemedio
3
••Redes
de
área
local
•
Topologías
regulares
Redes de área local
• Topologías regulares
••Ethernet
Ethernet
••Token
Tokenbus
bus
••Token
ring
Token ring
••Bus
de
Bus desistema
sistema
2 Directas
Directas(estáticas
(estáticasbasadas
basadasen
enrouters)
routers)
• Topologías estrictamente ortogonales
• Topologías estrictamente ortogonales
••Malla
Malla
••2D
2D
••3D
3D
••Toroides
Toroides
••Toro
Toro1D
1Dunidireccional
unidireccional
••Toro
2D
unidireccional
Toro 2D unidireccional
••Toro
Toro2D
2Dbidireccional
bidireccional
••Hipercubo
Hipercubo
••Otras
Otrastopologías
topologíasespecíficas:
específicas:
••Árboles,
grafos
Árboles, grafosen
enestrella,
estrella,etc
etc
••Crossbar
Crossbar
••De
Deinterconexión
interconexiónmultietapa
multietapa(MIN)
(MIN)
••Redes
con
bloqueos
Redes con bloqueos
••MIN
MINunidireccional
unidireccional
••MIN
bidireccional
MIN bidireccional
Red
RedOmega
Omega
••Redes
sin
bloqueos
Redes sin bloqueos
••Red
RedCloss
Closs
••Hipercubo
Hipercubo
••Topologías
Topologíasirregulares
irregulares
Híbridas
4 Híbridas
••Buses
Busesde
desistema
sistemamúltiples
múltiples
••Redes
Redesjerárquicas
jerárquicas
••Otras
topologías
Otras topologíasHipergrafo
Hipergrafo
••Hiperbuses
Hiperbuses
••Hipermallas
Hipermallas
10
1
Redes de medio compartido
••El
Elmedio
mediode
decomunicación
comunicaciónes
escompartido
compartidopor
portodos
todoslos
loselementos
elementosde
de
proceso
proceso
••Sólo
Sóloun
undispositivo
dispositivopuede
puedeusar
usarla
lared
reden
enun
unmomento
momentodado
dado
••La
Lared
redactúa
actúacomo
comoun
unelemento
elementopasivo
pasivoya
yaque
queno
nogenera
generamensajes
mensajes
••La
Lacomunicación
comunicaciónes
estipo
tipobroadcast
broadcastpor
porlo
loque
quedebe
debehaber
habersistemas
sistemasde
de
arbitraje
arbitrajepara
parasolucionar
solucionarcolisiones
colisiones
Redes
Redesde
deárea
árealocal
local
Permiten
Permitencomunicar
comunicarequipos
equiposdistanciados
distanciadosvarios
variosmetros
metrosentre
entresisi
Buses
Buses
Comunican
Comunicanequipos
equipos(procesadores)
(procesadores)dentro
dentrode
deun
unrack
rack
11
1
Bus de sistema
• Estructura mas simple para comunicar procesadores basados en bus
• Conecta procesadores y memorias en topología UMA
• Según la arquitectura puede ser:
• Un bus bidireccional
• Dos buses unidireccionales
Proc1
Proc1 Proc2
Proc2 Proc3
Proc3
Bus
Bus Proc1 Proc2 Proc3 Mem1 I/O
Proc1 Proc2 Proc3 Mem1 I/O
driver
driver
Bus
Bus
driver
driver
Mem1
Mem1 Mem2
Mem2
I/O
I/O
Un bus bidireccional
Dos buses unidireccionales
12
1
Redes de área local
••Bus
Busde
deContención
Contención(CSMA/CD)
(CSMA/CD)
Acceso
Accesoalalbus
buscompartido
compartidomediante
mediantecompetencia
competenciaentre
entrelos
losdispositivos
dispositivosyy
resolución
resoluciónde
decolisiones.
colisiones.Mas
Maspopular:
popular:CSMA/CD
CSMA/CD
Desventaja:
Desventaja:No
Nodeterminista.
determinista.No
Nose
sepuede
puedegarantizar
garantizareleltiempo
tiempode
deespera
espera
de
un
dispositivo
hasta
ganar
el
acceso
al
bus
de un dispositivo hasta ganar el acceso al bus
Velocidades
Velocidadesde
de10
10Mbps
Mbpsaa100
100Mbps
Mbps
••Token
TokenBus
Bus
Dispositivos
Dispositivosconectados
conectadosen
enmodo
modobroadcast
broadcastalalmedio
medio(bus)
(bus)
Uso
Usode
deun
untoken
tokencirculante
circulanteentre
entrelos
losdispositivos
dispositivosen
enorden
ordenpara
parahabilitar
habilitar
eleluso
del
bus
uso del bus
Velocidades
Velocidadesde
de2.4
2.4Mbps
Mbps
••Token
TokenRing
Ring
Dispositivos
Dispositivosconectados
conectadosen
enanillo
anillofísico
físico
Uso
Usode
deun
untoken
tokencirculante
circulanteentre
entrelos
losdispositivos
dispositivos
Velocidades
distributed
Velocidadesde
dehasta
hasta16
16Mbps
Mbpssobre
sobrecable
cableyyhasta
hasta100
100Mbps
Mbpscon
conFDDI
FDDI(Fiber
(Fiber distributed
Data Interface)
Data Interface)
13
2
Redes Directas (punto a punto)
• Conexiones punto a punto entre distintos
procesadores de la red
• Consiste en un conjunto de nodos
• Cada nodo se conecta a un subconjunto
de otros nodos de la red
• Se pueden formar varios patrones regulares
o irregulares
• Cada nodo posee un procesador, memoria local
y dispositivos de entrada/salida
• Los nodos pueden tener distintas capacidades
funcionales: vectoriales, gráficos, etc
• El nodo se conecta a la red a través de un router
• El router maneja la comunicación mediante el uso
de mensajes
• Cada router tiene conexión directa con el router
de sus vecinos
• Los nodos no están necesariamente conectados
físicamente a todos los demás nodos de la red
• La topología de conexiones debe asegurar que todos
los nodos se puedan acceder desde cualquier nodo
I/O
I/O
Procesador
Procesador
Memoria
Memoria
local
local
Router
Router
canales
de entrada
canales
de salida
Arquitectura de un nodo
14
2
Redes Directas (punto a punto)
Ejemplos
Malla
hipercubo
Toroide
Árbol
Panal
Red De Bruijn
15
2
Redes Directas (punto a punto)
Mas ejemplos
Mezcla perfecta
(perfect shuffle)
Estrella
Mesh 3D
Anillo
16
2
Redes Directas: Cubo cósmico
Ejemplo muy representativo de un sistema de pasaje de
mensajes
Características:
• Constituido por 64 computadoras (nodos)
• Interconectadas por una red punto a punto bidireccional y
asincrónica
• Cada procesador está conectado a 6 nodos distintos
• La geometría subyacente es la de un hipercubo de 6
dimensiones
17
2
Redes Directas: Cubo cósmico
18
2
Redes Directas: Cubo cósmico
Como hay 64 procesadores
cada uno tiene una dirección
de 6 bits (0 a 63)
Entonces:
log 2 (#proc) = # vecinos
Vecinos:
procesadores cuya
dirección varia en
un bit
19
2
Redes Directas: Cubo cósmico
Edición y
compilación
de programas
ete io
u
q c
Pa ini
de
cargador
20
4
Redes Híbridas
•
•
•
•
Combinan mecanismos de las otras 3 categorías (compartidas, directas e indirectas)
Incrementan el ancho de banda respecto a las de medio compartido
Reducen la distancia entre nodos respecto a las redes directas e indirectas
Modeladas como hipergrafos:
• vértices: Conjunto de nodos de procesamiento
• aristas: Conjunto de canales de comunicación o buses
Global
Globalbus
bus
Cluster bus
Cluster bus
Cluster bus
Cluster bus
Cluster bus
Cluster bus
Cluster bus
Cluster bus
Cluster bus
Cluster bus
·····
Cluster
Clusterbus
bus
Cluster
Clusterbus
bus
Jerarquía de 2 niveles de buses
Cluster bus
Cluster bus
Malla bidimensional de clusters
21
3
Redes indirectas
•
•
•
•
•
•
•
Basadas en conmutadores (switches)
No existe comunicación directa entre nodos (como en las directas)
La conexión entre nodos se realiza mediante uno o más switches
Cada switch tiene un conjunto de puertos
Cada puerto posee un enlace de entrada y otro de salida
Cada switch puede tener conectados algunos nodos (o ninguno)
Cada switch se conecta con otros switches
S1
S1
S1
S1
S1
S1
Nodo
Sn
Sn
Switch
S1
S1
S1
S1
S1
S1
Topología irregular
22
3
Redes indirectas
Red Crossbar
• Utilizada comúnmente en sistemas de memoria compartida, proveyendo accesos
simultáneos no bloqueantes entre dispositivos fuente y destino (V y H).
• Cada conmutador de cruce (switch) puede ofrecer un camino único de conexión entre un
par de elementos
• Los conmutadores se pueden encender o apagar desde el programa
• Una configuración usual de microprocesadores es la de disponer los procesadores en una
entrada (p.e. Vertical) y las memorias en la otra entrada (p.e. Horizontal)
V1
V1
S
V2
V2
S
V3
V3
S
S
S
S
H1
H1
S
S
S
S
S
S
H2
H2
S
S
S
S
S
S
H3
H3
23
3
Redes indirectas
Red Crossbar
• En condiciones particulares puede funcionar como un bus permitiendo
que varios destinos reciban información de una sola fuente
• Permite conexionado entre procesadores dispuestos como
multicomputadora, usando la red como medio de pasaje de mensajes
• Usos:
• Como mecanismo de conexionado de procesadores con memorias
• Como red de interconexión entre procesadores
• En el diseño de routers para redes directas
• Como componentes básico de diseño de redes indirectas de gran escala
• Para una crossbar de N entradas y M salidas el costo es O(NM)
• Es escalable ya que se puede implementar una crossbar de N x M usando (N/n) * (M/n)
crossbar de n x n
Crossbar
de 4 entradas
y 4 salidas
(con 4 crossbar de 2x2)
Switch básico
(2 entradas
2 salidas)
Crossbar
de 2 entradas
y 2 salidas
(con E/S auxiliares)
24
3
Redes indirectas
Memorias Multipuerto
Las memorias miltipuerto hacen posible la construcción de redes de interconexión
en las que los procesadores se comunican a través de las memorias en lugar de buses.
Desventaja: los procesadores deben esperar en caso de acceso a la misma locación
de memoria
Ventaja: los protocolos de comunicación entre unidades funcionales se reducen
P2
P2
P1
P1
M
M
P3
P3
P4
P4
25
3
Métricas de rendimiento de las redes
• Complejidad de hardware: Medida asintótica del área
• Diámetro: Máximo de los caminos más cortos entre 2 nodos cualquiera de la red
D = max
i , j∈N
(min length( p ))
p∈Pij
• Bloqueo: Si se puede o no establecer una nueva conexión en presencia de otras conexiones
• Grado de nodo: Número de nodos a los que se conecta cada nodo
N procesadores
Ci = N
D = N/2
B = Si
G=2
N procesadores
Ci = N2
D=1
B = No
G = N/2
26
3
Redes de interconexión multietapa
(MIN – Multistage Interconnection Networks)
axb
axb
switch
switch
Stage 1
·
·
·
axb
axb
switch
switch
Stage 2
axb
axb
switch
switch
·
·
·
axb
axb
switch
switch
Stage 3
···
···
···
axb
axb
switch
switch
axb
axb
switch
switch
·
·
·
M salidas
·
·
·
axb
axb
switch
switch
axb
axb
switch
switch
Inter-stageconnection
connectionn-1
n-1
Inter-stage
axb
axb
switch
switch
axb
axb
switch
switch
Inter-stageconnection
connection33
Inter-stage
N entradas
axb
axb
switch
switch
Inter-stageconnection
connection22
Inter-stage
Una red multietapa genérica se compone de G etapas generalmente iguales
Cada etapa se forma con k switches compuestos por crossbars de axb entradas/salidas
Entre etapas adyacentes se usa una red de interconexión fija
El número de etapas, la cantidad de crossbars de cada etapa y los valores a y b determinan
la capacidad de encaminamiento de las redes MIN
• Según la relación entre entradas y salidas se denominan:
• N = M : unicast
• N > M : concentradores
• N < M : expansores
Inter-stageconnection
connection11
Inter-stage
•
•
•
•
axb
axb
switch
switch
Stage G
27
Redes de interconexión multietapa
3
(MIN – Multistage Interconnection Networks)
• Para una red de G etapas adyacentes cada etapa Gi tiene wi switches de tamaño
ai,j x bi,j donde 1≤j≤ wi .
• La etapa Gi consta de pi entradas y qi salidas
wi
p = ∑a
wi switches
Ci
ai,1
axb
axb
switch
switch
ai,2
axb
axb
switch
switch
bi,1
bi,2
·
·
·
axb
a x b bi,wi
ai,wi switch
switch
etapa Gi
connectionlinks
links
i+1connection
qqi i==ppi+1
·
·
·
connectionlinks
links
ppi i==qqi-1i-1connection
i
Ci+1
i,j
j =1
wi
q = ∑b
i
·
·
·
j =1
i,j
• La conexión entre 2 etapas adyacentes
Gi-1 y Gi (Ci), define al patrón de
conexión para pi=qi-1 enlaces, con
p0 = N y qg-1 = M
• Un patrón de conexión Ci(pi) define como
deben estar conectadas las qi-1 salidas de
la etapa anterior con las pi entradas a la
etapa actual
28
3
Redes de interconexión multietapa
(MIN – Multistage Interconnection Networks)
• Las distintas redes multietapa se diferencian en los módulos conmutadores
(switches) y en los patrones de las conexiones entre etapas (CEE)
• Los módulos conmutadores mas simples y usados son crossbars de 2 x 2
• Las CEE mas populares son:
•
•
•
•
•
•
Perfect shuffle
Butterfly
Crossbar
Reversal
Baseline
Exchange
2x2
2x2
2x2
2x2
·
·
·
·
·
·
2x2
2x2
·
·
·
29
3
Patrones de Conexión entre etapas
Generalidades
• Funciones que mapean N entradas en N salidas
• Cuando se ejecuta una función de ruteo f el dato de la entrada pi
es enviado a la salida qf(i)
• En la CEE, cada puerto de entrada y salida tiene una dirección
única que se puede expresar con m bits de la forma
X = xn-1, xn-2, …, x0
• Dado que el número de entradas (p) es igual al número de salidas
(q) a las conexiones entre etapas se las denomina permutaciones
30
3
Patrones de Conexión entre etapas
Perfect shuffle (σ)
La permutación entre los patrones de entrada y salida se basa en la mezcla
perfecta de dos montones (de cartas) iguales, intercalando una a una las cartas
de un montón en el otro
La red perfect shuffle toma la primera mitad de las entradas y las entremezcla
con la segunda mitad, de manera que la primera mitad pasa a las posiciones pares
de las salidas y la segunda mitad a las impares
σ ( X ) = (kX + 
N
k
σk(xn-1 xn-2 …x1 x0) = xn-2 … x1 x0 xn-1
Perfect shuffle realiza un desplazamiento cíclico
hacia la izquierda de los dígitos de X en log2 k
posiciones
kX 
 ) mod N
con k = 1, 2… 4
yk≤N
σk-1(xn-1 xn-2 …x1 x0) = x0 … xn-1 xn-2 x1
Inverse perfect shuffle realiza un desplazamiento cíclico
hacia la derecha de los dígitos de X en log2 k
posiciones
31
3
Patrones de Conexión entre etapas
Ejemplo de Perfect shuffle (σ) para N=8
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
Perfect shuffle
k=2
Inverse perfect shuffle
k=2
Perfect shuffle
k=4
32
3
Patrones de Conexión entre etapas
Bit reversal (ρ)
La permutación entre los patrones de entrada y salida se basa en el intercambio
de los bits simétricos
ρ(xn-1 xn-2 …x1 x0) = x0 x1 … xn-2 xn-1
x7 x6 x5 x4 x3 x2 x1 x0
0 (000)
0 (000)
1 (001)
1 (001)
2 (010)
2 (010)
3 (011)
3 (011)
4 (100)
4 (100)
5 (101)
5 (101)
6 (110)
6 (110)
7 (111)
7 (111)
Bit reversal
N=8
33
3
Patrones de Conexión entre etapas
Butterfly (β)
La permutación entre los patrones de entrada y salida se basa en el intercambio
de los bits simétricos
β ( x ...x x x ...x x x ...x x ) = x ...x x x ...x x x ...x x
i
n −1
i +1
i
i −1
j +1
j
j −1
1
0
n −1
j +1
j
la i-esima permutación butterfly intercambia
los dígitos i-esimo y el j-esimo, siendo ambos
simétricos respecto de la mitad de los dígitos
j −1
i +1
i
xi
i −1
1
con i+j=N-1
0
xj
34
3
Patrones de Conexión entre etapas
Variantes de Butterfly (β)
• k-sub butterfly: basada en el intercambio de los bits 0 con el k-1
β ( x ...x x ...x x ) = x ...x x ...x x
k
n −1
k
k −1
1
0
n −1
k
0
1
xk
k −1
x0
• k-supra butterfly: basada en el intercambio de los bits n-1 con el k-1
β ( x ...x x ...x x ) = x ...x x ...x x
k
n −1
k
k −1
1
0
k −1
k
n −1
1
0
xn-1
xk
35
3
Patrones de Conexión entre etapas
Butterfly (β)
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
Butterfly
i=2
Butterfly sub k
k=2
Butterfly sub k
k=1
IDENTIDAD!!!
36
3
Patrones de Conexión entre etapas
Exchange (E)
E ( x ...x x x ...x x ) = x ...x x x ...x x
i
n −1
i +1
i
i −1
1
0
n −1
i +1
i
i −1
1
xi
0
1 <= i <= N-1
0 (000)
0 (000)
1 (001)
1 (001)
2 (010)
2 (010)
3 (011)
3 (011)
4 (100)
4 (100)
5 (101)
5 (101)
6 (110)
6 (110)
7 (111)
7 (111)
000
001
E0(x)
E1(x)
010
011
101
100
E2(x)
110
111
i=2
37
3
Patrones de Conexión entre etapas
Barrel Shifter (SH)
SH ( X ) = X ± k
±k
con k potencia de 2 y k < N
N
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
Barrel Shifter
k=1
Barrel Shifter
k=2
barrel Shifter
k = -1 (≈ +7)
38
3
Patrones de Conexión entre etapas
Barrel Shifter (SH)
Notas de mérito
• La permutación barrel shifter realmente no realiza la operación de suma
• Puesto que los CEE son módulos cableados, la permutación solo
conecta una entrada X a una salida a distancia X ± k
• La utilidad de esta CEE se evidencia en la implementación de
topologías de anillos
Anillo
k=1
Doble anillo
k=2
Barrel Shifter
k=4
39
3
Patrones de Conexión entre etapas
Barrel Shifter (SH)
Arreglo lineal
N=8
k=2
k´ = 1
Grado = 2
Otros ejemplos
Anillo acorde
N=8
k=2
k´ = 1
Grado = 2
Anillo acorde
N=8
k=4
k´= 1
Grado = 2
Barrel Shifter
N=8
k=4
k´ = 2
k” = 1
Grado = 3
Las combinaciones de varias permutaciones simultáneamente se usa
frecuentemente en multicomputadores
40
3
Patrones de Conexión entre etapas
Baseline connection (δ)
δ ( x ...x x x ...x x ) = x ...x x x x ...x
i
n −1
i +1
i
i −1
1
0
n −1
i +1
0
i
i −1
xi+1
1
1 <= i <= N-1
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
0 (000)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
1 (001)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
2 (010)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
3 (011)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
4 (100)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
5 (101)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
6 (110)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
7 (111)
Baseline
i=2
Baseline
i=1
Baseline
i=0
IDENTIDAD!!!
41
3
Tipos de redes multietapa
Tres tipos dependiendo de la disponibilidad de caminos para establecer
nuevas conexiones:
• Bloqueantes: No siempre es posible la conexión entre un
puerto de entrada y otro de salida por conflictos entre
conexiones existentes
• No bloqueantes: cualquier puerto de entrada puede conectarse
a cualquier puerto de salida libre sin afectar a las conexiones ya
existentes
• Reconfigurables: Cada puerto de entrada puede ser conectado
a cada puerto de salida. Sin embargo las conexiones existentes
pueden requerir de un reajuste en sus caminos
42
3
Redes no bloqueantes
• Son intrínsicamente caras debido a su característica de no bloqueo
• Mas baratas que una crossbar del mismo tamaño
• Costo prohibitivo para grandes tamaños de red
• Conectan cualquier entrada libre a cualquier salida libre
(sin importar otras conexiones).
• Cada nodo en cualquier etapa es una red crossbar
Red crossbar
Switch básico Crossbar
Red Crossbar
43
3
Redes no bloqueantes
Ej: Red Clos de 3 etapas para N entradas y M salidas
N/nxM/p
N/nxM/p
1
n
N/n crossbar
de n entradas
y r salidas
cada uno
nxr
nxr
rxp
rxp
N/nxM/p
N/nxM/p
1
n
1
n
1
nxr
nxr
1
rxp
rxp
·
·
·
·
·
·
nxr
nxr
p
·
·
·
rxp
rxp
p
M/p crossbar
de r entradas
y p salidas
cada uno
1
p
N/nxM/p
N/nxM/p
r = (n-1)+(p-1)+1 crossbar
de N/n entradas y M/p salidas
cada uno
En
Enelelcaso
casomas
masusual
usualnn==pp(red
(redclos
closbalanceada)
balanceada)
44
3
Red Clos: Métricas
• Complejidad:
• Área cuantificada por la cantidad de switches básicos
área =
N
NM M
nr + r
+ rp
n
n p p
• Diámetro:
• Camino más largo entre un nodo de entrada y un nodo de salida
diámetro = (n + r − 1) + (
N M
+ − 1) + (r + p − 1)
n p
• Máxima Complejidad:
• Área (en switches básicos) de la crossbar mas grande de la red
MaxComplejidad = max(nr;
NM
; rp )
n p
45
3
Red Clos: ejemplo de diseño
Problema: se desea diseñar una red estrictamente no bloqueante para
12 canales (12 entradas y 12 salidas de la red)
manteniendo baja la complejidad máxima de cualquier
nodo de la red
Posibles soluciones:
(A) 2 nodos de entrada (salida) con 6 entradas cada uno (salidas)
(B) 3 nodos de entrada (salida) con 4 entradas cada uno (salidas)
(C) 4 nodos de entrada (salida) con 3 entradas cada uno (salidas)
(D) 6 nodos de entrada (salida) con 2 entradas cada uno (salidas)
46
3
Red Clos: ejemplo de diseño
n
p
r
Máxima complejidad
A
6
6
11
6 x 11 = 66
B
4
4
7
4 x 7 = 28
C
3
3
5
4 x 4 = 16
D
2
2
3
6 x 6 = 36
o
e
P
M
r
r
o
j
e
47
3
Redes reconfigurables
Pueden realizar todas las conexiones posibles reconfigurando
conexiones existentes en caso de bloqueos.
0
1
0
1
Red Benes
No usados
2
3
En este estado si se desea usar la
conexión 1 con 1, la misma esta
bloqueada
2
3
0
1
0
1
2
3
2
3
48
3
Redes de interconexión bloqueante
• Pueden realizar algunas pero no todas las interconexiones entre
entradas y salidas
• Dependiendo del tipo de canales y switches se clasifican en:
• Unidireccionales: Los canales y switches son unidireccionales
• Bidireccionales: Los canales y switches son bidireccionales
(La información puede transmitirse simultáneamente en direcciones opuestas
entre switches vecinos)
49
3
Redes de interconexión bloqueante
Unidireccionales
• Switches unidireccionales son crossbar a x b
(a entradas y b salidas)
• Tipos de conexiones:
• Unicast: Cada entrada puede conectarse a una única salida
Existen min(a, b) conexiones simultáneas
Etc.
• Multicast: Cada entrada puede conectarse a varias salidas
• Broadcast: Cada entrada puede conectarse a todas las salidas
50
Redes de interconexión bloqueante
Unidireccionales
3
NOTAS
Para N entradas y M salidas de la red:
• Si N = M se usan conmutadores con a = b
• Si N > M se usan conmutadores con a > b (concentradores)
• Si N < M se usan conmutadores con a < b (distribuidores)
Para N puertos de entrada y salida (M = N) y conmutadores de k x k
se necesitan al menos log N 
Red de interconexión
Red de interconexión
Ejemplo:
N = 16
k=2
Etapas = 4
Red de interconexión
k
51
3
Redes Unidireccionales: Ejemplos
Red Baseline
• El patrón de conexión Ci está descrito por la (n-i)-esima permutación en línea
base δn-i (1≤i≤n)
• El patrón de conexión C0 está descrito por σk (perfect-shuffle)
• Posee algoritmo de autoencaminamiento en el que los bits sucesivos de la
dirección de destino controlan las sucesivas etapas de la red
• Cada etapa divide el camino en 2 sub caminos, uno hacia la parte alta y otro
hacia la parte baja de la subred correspondiente
0000
0001
0000
0001
0010
0011
0010
0011
0100
0101
0100
0101
0110
0111
0110
0111
1000
1001
1000
1001
1010
1011
1010
1011
1100
1101
1100
1101
1110
1111
1110
1111
C0
G1
C1
G2
C2
G3
C3
G4
C4
52
3
Redes Unidireccionales: Ejemplos
Red Omega
• El patrón de conexión Ci está descrito por la (n-i)-esima permutación
perfect-shuffle σk (1≤i≤n-1)
• El patrón de conexión Cn está descrito por β0 (butterfly sub cero = identidad)
• Posee algoritmo de autoencaminamiento en el que los bits sucesivos de la
dirección de destino controlan las sucesivas etapas de la red
• Propuesta para el procesamiento de matrices usando switches 2x2 de cuatro
estados (directo, intercambio, el de arriba a todos y el de abajo a todos)
0000
0001
0000
0001
0010
0011
0010
0011
0100
0101
0100
0101
0110
0111
0110
0111
1000
1001
1000
1001
1010
1011
1010
1011
1100
1101
1100
1101
1110
1111
1110
1111
C0
G1
C1
G2
C2
G3
C3
G4
C4
53
3
Funcionamiento de la red Omega
En la entrada a la etapa Gi el switch chequea el I-esimo bit de la
dirección de destino
si es 0, el switch selecciona la salida superior
sino, la salida inferior
Formato del paquete de mensaje:
Dir destino
mensaje
n = log2 N; N = num proc.
n bits
Cada vez que la dirección pasa cada etapa I, si el paquete llegó por
el puerto superior, entonces el I-esimo bit se reemplaza por 0. Si el
paquete llegó por el inferior, el I-esimo bit se reemplaza por 1
54
3
Redes Unidireccionales: Ejemplos
Red Perfect-shuffle/Exchange
• Derivada de la red Omega
• Utiliza una red de recirculación que
devuelve las salidas nuevamente
a las entradas
• La red posee una única etapa
recirculable que se recorre n
veces, una por cada etapa
55
Redes de interconexión bloqueante
Bidireccionales (BMIN)
3
• Cada puerto de los switches posee un par de canales de comunicación
unidireccionales de direcciones opuestas
• Un switch bidireccional soporta 3 tipos de conexiones:
• Forward: Cada entrada del lado izquierdo
conectarse a varias salidas del
lado derecho
Backward: Cada entrada del lado derecho
conectarse a varias salidas del
lado izquierdo
Turnaround (de regreso): Cada entrada de un lado
puede conectarse a varias salidas del
mismo lado
56
3
Ejemplos de BMINs
BMIN Butterfly
••Los
Loscaminos
caminosentre
entre22nodos
nodosse
seestablecen
establecencruzando
cruzandoetapas
etapashacia
haciadelante,
delante,después
después
estableciendo
una
conexión
de
vuelta
(en
la
última
etapa)
y,
por
último,
cruzando
estableciendo una conexión de vuelta (en la última etapa) y, por último, cruzandolas
las
etapas
hacia
atrás
etapas hacia atrás
••En
Enelelcruce
crucehacia
haciadelante
delantepuede
puedehaber
habervarios
varioscaminos
caminosposibles
posibles
••En
el
cruce
hacia
atrás
(retorno)
sólo
hay
una
posibilidad
En el cruce hacia atrás (retorno) sólo hay una posibilidadde
decamino
camino
••ElElpeor
caso
(diámetro)
para
una
red
de
n
etapas
es
2n-1
peor caso (diámetro) para una red de n etapas es 2n-1
nodos
C0
G0
C1
G1
C2
G2
000
Fuente
001
010
Destino 011
100
101
110
111
57
3
Ejemplos de BMINs
BMIN Fat tree
••Los
Losprocesadores
procesadoresse
seencuentran
encuentranen
enlas
lashojas
hojasde
deun
unárbol
árbolde
dennniveles
niveles
••Los
nodos
intermedios
son
switches
bidireccionales
Los nodos intermedios son switches bidireccionales
••Una
Unacomunicación
comunicaciónentre
entre22nodos
nodossube
subepor
porelelárbol
árbolhasta
hastaalcanzar
alcanzarelelmenor
menorantecesor
antecesor
común
de
ambos
nodos
y
posteriormente
baja
al
destino
común de ambos nodos y posteriormente baja al destino
58
Características generales de las redes
• Modo de operación:
• Sincronizado: con control central de los switches
• No sincronizado: los switches son autónomos
• Técnicas de switching:
• Circuit switching
• Packet switching (paquetes)
• Intermedio: (flits). Se establece un circuito y luego todos los flits lo siguen
• Técnicas de ruteo: métodos para establecer los paths de comunicación
• Centralizado: control toma las decisiones para establecer el path
• Distribuido: cada switch decide el path
• Adaptativo: distribuido con información global de estado
•Topología: distribución física de la red
59
Descargar