Você está na página 1de 24

Prof.

Luiz Fernando Bi1encourt IC - UNICAMP

MC714
Sistemas Distribuídos
1° semestre, 2017
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Sistemas paralelos
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Sistemas multiprocessados
•  Duas redes de interconexão populares são a omega e a
bu1erfly.
•  São redes mulN-estágio formadas por comutadores 2x2.
•  Permitem dados de qualquer das duas entradas serem
direcionados para qualquer das duas saídas.
•  Colisões ocorrem quando mais de um dado é direcionado ao
mesmo tempo para a mesma saída.
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Sistemas multiprocessados
•  Omega
•  Omega: n processadores, n unidades de memória
•  (n/2) log2n switches 2x2, log2n níveis
(
•  Função de interconexão

2i, 0  i  n2 1
j= n

2i + 1 n, 2 in 1
•  Desenhem exemplo para n=8
•  Função de roteamento
•  Para nível s da rede, se o s+1-ésimo bit mais significaNvo de j é 0, vai
pro fio de cima, se for 1 vai pro fio de baixo.
•  Fig 5
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Sistemas multiprocessados
•  Bu1erfly
•  Função de interconexão
•  Depende de n e de s
•  Seja M=n/2 switches em cada nível, e <x,s> um switch x no nível s
•  Existe uma aresta de <x,s> para <y, s+1> se:
•  x=y
•  x XOR y tem exatamente um bit 1, que está no s+1-ésimo bit mais
significaNvo
•  Desenhem exemplo para n=8
•  Função de roteamento
•  Num nível s, se s+1-ésimo bit mais significaNvo de j é 0, vai para o
fio de cima, senão vai para o fio de baixo.
•  Fig 6
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Sistemas paralelos -
classi6icação
•  Sistemas mulNprocessados.
•  Mul2computadores.
•  Processadores vetoriais
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Multicomputadores
•  Sistema paralelo onde múlNplos processadores não têm
acesso direto a memória comparNlhada.
•  Memória pode ou não formar um espaço de endereçamento
comum.
•  Geralmente não têm relógio comum.
•  Próximos fisicamente.
•  Fortemente acoplados (hardware e sokware homogêneos).
•  Fig 7
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Multicomputadores
•  Espaço de endereçamento comum ou troca de mensagens.
•  Espaço de endereçamento comum: geralmente corresponde a
arquitetura NUMA (non-uniform memory access).
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Multicomputadores -
topologias
•  Topologias regulares e simétricas
•  Mesh, anel, torus, cubo, hipercubo
•  Propriedades matemáNcas interessantes para roteamento
•  Fig 8
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Torus
•  Wrap-around 2D-mesh (Torus)
•  Mesh contém
k⇥k k 2 processadores.
•  Comprimento máximo do caminho entre quaisquer 2
processadores: k
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Hipercubo
2k
•  Hipercubo com k dimensões tem unidades de processamento/
memória.
•  Cada unidade é um nó no hipercubo e tem um rótulo único de k
bits.
•  Grau de cada nó: log2(n).
•  Cada uma das k dimensões é associada com uma posição nos
rótulos.
•  Rótulos de quaisquer 2 nós adjacentes são iguais exceto pelo bit da
posição correspondente à dimensão na qual os nós diferem.
•  Processadores rotulados de forma que o caminho mínimo entre
quaisquer 2 nós é a distância de Hamming de seus rótulos (limitante
superior = k).
•  Desenhem um hipercubo de 4 dimensões.
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Hipercubo
•  Um hipercubo de d dimensões pode ser parNcionado em 2
hipercubos de d-1 dimensões.
•  Fixe uma posição qualquer do rótulo. Processadores com 0 nessa
posição são um hipercubo de dimensão d-1, e processadores com 1 são
outro hipercubo.
•  Roteamento salto-a-salto.
•  A cada passo, a mensagem pode ser enviada para qualquer dimensão
correspondente à posição na qual o endereço do nó corrente difere do
endereço do desNno.
•  MúlNplas rotas entre qualquer par de nós: tolerância a falhas e
controle de congesNonamento.
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Outras
•  Bus
•  Anel
•  Crossbar switch
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Sistemas paralelos -
classi6icação
•  Sistemas mulNprocessados.
•  MulNcomputadores.
•  Processadores vetoriais
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Array processors (vector


processors)
•  Processadores fisicamente próximos, fortemente acoplados.
•  Relógio comum.
•  Podem não comparNlhar memória e podem comunicar-se por
troca de mensagens.
•  Processamento e troca de dados sincronizados.
•  Ex.: DSP e processamento de imagens.
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Caracterização de sistemas paralelos


Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Caracterização de sistemas
paralelos
•  DisNnção/caracterização é importante para projeto de
algoritmos.
•  Considerar latências
•  Muito acesso aos mesmos dados, muito acesso a dados locais e
pouco acesso a dados distribuídos, etc.
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Caracterização de sistemas
paralelos
•  Uso primário de sistemas paralelos: maior vazão através da
divisão da carga entre os processadores.
•  Tarefas que podem ser melhor aceleradas são as que podem
ser parNcionadas em subtarefas com pouca comunicação.
•  Ex.:Muitas operações sobre vetores e matrizes, comuns em
aplicações ciensficas.
•  Máquinas paralelas foram objeto de pesquisa teórica e de
sistemas em 1980, entretanto não se provaram
economicamente viáveis na época.
•  Poucas aplicações populares Nravam vantagem de paralelismo.
•  Aumento da capacidade de processamento de PCs.
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Taxonomia
•  Processamento (Flynn):
•  SISD, MISD, SIMD, MIMD
•  Programação
•  Memória comparNlhada
•  Troca de mensagens
•  PRAM – Parallel Random Access Machine
•  LogP vs. PRAM
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

Taxonomia – Flynn
•  Quatro “modos” de processamento classificando:
•  Como é o processamento de instruções
•  Quais são os dados de entrada de cada processador
•  Single InstrucNon, Single Data – SISD
•  Single InstrucNon, MulNple Data – SIMD
•  MulNple InstrucNon, Single Data – MISD
•  MulNple InstrucNon, MulNple Data – MIMD
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

SISD
•  Single instrucNon stream, single data stream
•  Modo “convencional” no paradigma de Von Neumann
•  Uma CPU
•  Uma unidade de memória
•  Conectados por bus
•  Fig 9
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

SIMD
•  Single instrucNon stream, mulNple data stream.
•  Processamento: múlNplos processadores homogêneos.
•  Mesma instrução.
•  Itens de dados disNntos.
•  Processamento de arrays e matrizes.
•  Co-processamento (MMX, SSE).
•  Fig 10
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

MISD
•  MulNple instrucNon stream, single data stream.
•  Operações diferentes
•  Mesmo dado
•  Fig 11
Prof. Luiz Fernando Bi1encourt IC - UNICAMP

MIMD
•  MulNple instrucNon stream, mulNple data stream.
•  Instruções diferentes.
•  Dados diferentes.
•  Modo de operação de sistemas distribuídos e paralelos em
geral.
•  Sem relógio comum.
•  Fig 12

Você também pode gostar