Computação Paralela
Equipe: Arthur Masahiro
Brunelli Miranda
Eric Felipe
Paulo Roberto
Arquiteturas Paralelas
 Utiliza múltiplos processadores para
resolver, simultaneamente, o mesmo
problema
 Aumento de desempenho
Motivação
 Possibilidade de resolver problemas cada vez mais
complexos;
 Desenvolvimento de novas arquiteturas de sistemas
computacionais;
 Clock dos processadores se aproximando dos limites
ditados pela física
Clock dos processadores
Aplicações
 Simulações
 Computação gráfica
 Matemática computacional
 Bioinformática
Evolução das Arquiteturas
Arquitetura Tradicional
E
CPU
Memória
S
Evolução das Arquiteturas
Unidade de E/S autônomas
E
CPU
Memória
S
Evolução das Arquiteturas
Hierarquia de memória
E
CPU
L1
L2
Memória
S
Evolução das Arquiteturas
Pipeline de Instrução
F
E
CPU
D
E
W
F
D
E
W
F
D
E
L1
L2
Memória
S
W
Evolução das Arquiteturas
 Acelerar o processamento de dados pela CPU
 Liberando CPU
 Acelerando a alimentação da CPU
 Sobrepondo ciclos de CPU
 Acelerar o processamento de
arquiteturas com múltiplas CPU’s
 Arquiteturas Paralelas
dados
construindo
Taxonomia de Flynn
 É uma classificação genérica proposta em 1972.
Embora seja antiga ainda é válida e muito difundida.
 Baseia-se na ideia de fluxo de instruções (Instruction
Stream) e fluxos de dados (Data Stream).
Taxonomia de Flynn
 Propõe 4 classes:




SISD (Single Instruction Single Data)
SIMD (Single Instruction Multiple Data)
MISD (Multiple Instruction Single Data)
MIMD (Multiple Instruction Multiple Data)
SISD
 Um único fluxo de instruções atua sobre um único
fluxo de dados
 Exemplos: Computadores com um único processador
MISD
 Múltiplos fluxos de instrução atuam sobre um único fluxo de
dados.
 Exemplo: Ainda não foi implementada
SIMD
 Uma única instrução é executada ao mesmo tempo sobre
múltiplos dados
 Exemplo: Máquinas Array (Eliminam as tarefas de controle
do laço de instruções)
MIMD
 Múltiplas instruções são executadas em múltiplos dados
 Exemplo: Computadores com múltiplos processadores.
Top 500.org
MIMD
 A maioria dos computadores que constam no Top 500
possui a arquitetura MIMD e utiliza o Linux como
sistema operacional.
 Na lista de Novembro de 2011 o Top 10 inteiro utiliza o
Linux.
 O Windows HPC 2008 tem uma única menção como
sistema operacional do 59º.
Multiprocessadores
 Subclasse das máquinas MIMD
 Existe um único espaço de endereçamento, o qual é
compartilhado por todos os processadores
 Memória Entrelaçada
 Memória com Múltiplas Portas (Processador ligado
diretamente na Memória Principal)
E
CPU
CPU
CPU
CPU
Memória
S
Multicomputadores
 Outra subclasse de máquinas MIMD
 Cada processador possui uma memória local de acesso
único. As outras são consideradas memórias remotas e
possuem espaços de endereçamento distintos
 Troca de Mensagens
 Exemplo: Rede de computadores interconectados
através de um barramento Ethernet
Multicomputadores
EE
EE
CPU
CPU
CPU
CPU
Memória
Memória
Memória
Memória
SS
SS
Arquiteturas com múltiplos processadores
 UMA (Uniform Memory Acess)
Consiste de dois ou mais processadores similares
conectados.
Existe um único sistema operacional que controla o
multiprocessamento (Windows ou Linux).
Mesmo tempo de acesso.
Aplicação: servidores de fabricantes como Compaq, IBM,
Dell e HP.
Coerência de cache.
Arquiteturas com múltiplos processadores
 Arquitetura de um multiprocessador do tipo UMA ou SMP
Arquiteturas com múltiplos processadores
 NUMA (Non – Uniform Acess Memory)
 A memória é distribuída e implementada em módulos.
 Cada processador está associado a um módulo,
formando um nó.
 Tempo de acesso variável.
 Espaço de endereçamento comum.
 Windows: API Win 32.
 Coerência de cache
Arquiteturas com múltiplos processadores
 Arquitetura geral de um multiprocessador do tipo NUMA
Arquiteturas com múltiplos processadores
 Arquitetura geral de um multiprocessador do tipo NUMA
com o conceito de nó
Arquiteturas com múltiplos processadores
 NUMA – Implementações quanto a coerência de cache

NCC – NUMA (Non – Cache Coherent NUMA)
 Sem garantia de coerência de cache ou sem cache.

CC – NUMA (Cache Coherent NUMA)
 Coerência garantida pelo hardware (protocolo).
Arquiteturas com múltiplos processadores
 NCC – NUMA: Carnegie-Mellon Cm
LSI-11
Arquiteturas com múltiplos processadores
 SC-NUMA
Software-Coherent NUMA
Implementada em software
DSM (Distributed Shared Memory)
Arquiteturas com múltiplos processadores
 COMA
Cache-only Memory Architecture
 Memórias locais são caches (COMA caches)
 Bastante complexo e custo elevado
Clusters
 Um cluster é um tipo de sistema de processamento
paralelo que consiste de uma coleção de
computadores
independentes
interconectados
através de uma rede, trabalhando cooperativamente,
criando a ilusão de uma máquina única.
Clusters
 A ideia do uso de clusters é espalhar as cargas entre
todos os computadores disponíveis, usando ao
máximo os recursos que estão livres nas outras
máquinas.
 O cluster como um todo será mais poderoso quanto
mais rápidos forem os seu computadores
individualmente e quanto mais rápida for a rede de
interconexão que os conecta.
Clusters
 Além disso, o sistema operacional de um cluster deve
fazer o melhor uso do hardware disponível em
resposta às mudanças de condições da computação.
 É uma ótima opção para instituições que precisam de
desempenho, mas não têm recursos suficientes para
comprar uma única máquina com vasto poder de
processamento nem um cluster pronto de algum
fabricante.
Exemplos de Clusters
 Unicamp usa PlayStation 3 para realizar pesquisas
 São 12 PlayStation 3 ligados em rede em uma sala da
Unicamp usando o sistema operacional Linux,
formando um ‘cluster’ de processamento e ajudando
nos cálculos de bioinformática desde junho de 2007.
Exemplo de Clusters
Exemplo de Clusters
 O projeto do primeiro CLUSTER em nossa região,
denominado LANE-I, o qual foi concebido (03/2001)
através de três computadores pessoais.
 O segundo cluster denominado de Amazônia-I, foi
patrocinado pela ERICSSON, o qual é constituído de 12
nós.
Exemplo de Clusters
Cluster Amazônia-I
Exemplo de Clusters
 O terceiro cluster denominado Amazônia-II. Este
cluster é constituído de quatro máquinas do
tipo: Quad Opteron.
Exemplo de Clusters
Cluster Amazônia-II
Referências Bibliográficas
 De Rose, C.; Navaux, P. Arquiteturas Paralelas.
Editora Sagra-Luzzatto, 2003. (Série Livros Didáticos Número 15)
 http://www.inf.ufsc.br/~mario/oac.pdf
 http://www.upf.br/erad/download/brusso.pdf
 http://i.top500.org/
 Silva, Gabriel P.; Arquiteturas de Computadores II.
Download

Computação Paralela