Escolar Documentos
Profissional Documentos
Cultura Documentos
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 in 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
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