Você está na página 1de 26

Introdução ao

Processamento
Paralelo
Prof. Edson Pedro Ferlin

by Prof. Edson Pedro Ferlin

Processamento Paralelo

“É uma forma eficiente do processamento da


informação com ênfase na exploração de eventos
concorrentes no processo computacional.”
by Prof. Edson Pedro Ferlin

Razões para utilização do


Processamento Paralelo

¡ Capacidade de aumentar o
processamento com uma única
máquina;
¡ Limitação física;
¡ Processadores em paralelo.

by Prof. Edson Pedro Ferlin

Abrangência

¡ Aplicações em Alto Desempenho;


¡ Partição dos algoritmos paralelos;
¡ Linguagens paralelas;
¡ Compiladores;
¡ Sistemas Operacionais;
¡ Arquiteturas paralelas;
¡ Mapeamento de Algoritmos.
by Prof. Edson Pedro Ferlin

Processamento Paralelo existe apartir


do momento em que dois ou mais
processadores interagem entre si para
resolverem uma determinada tarefa de
forma cooperativa.

by Prof. Edson Pedro Ferlin

Aplicações do Processamento Paralelo

onde há necessidade de grande


poder de processamento.
by Prof. Edson Pedro Ferlin

Classificação das Arquiteturas (Flynn


(Flynn))
¡ SISD (Single Instruction - Single Data)
l Von Neumann

¡ SIMD (Single Instruction - Multiple Data)


l Processadores Matriciais (Vetoriais)

¡ MISD (Multiple Instruction - Single Data)


l Não existe na prática

¡ MIMD (Multiple Instruction - Multiple Data)


l Multiprocessadores e Clusters

by Prof. Edson Pedro Ferlin

Arquiteturas Paralelas (Taxonomia)


by Prof. Edson Pedro Ferlin

Arquiteturas Paralelas

Multicomputador
ou Cluster

Multiprocessador

by Prof. Edson Pedro Ferlin

Avaliar e Medir

¡ Discernir se o desempenho está


melhorando:

l Programas Benchmarks;
l Métricas.
by Prof. Edson Pedro Ferlin

Métricas

¡ FLOP (Operação em Ponto Flutuante executada


por segundo)

¡ MIPS (Milhões de Instruções executadas por


segundo)

by Prof. Edson Pedro Ferlin

Ganho em Tempo de Processamento

¡ Hardware (EPs e organização)


¡ Software (paralelismo e dependências)

Tempo de Processamento

12
Tempo Padronizado

10
8
6
4
2
0
1 2 3 4 5 6 7 8 9 10
Nº de EPs
by Prof. Edson Pedro Ferlin

Tempo de Execução

0,7

0,6

0,5
Tempo (s)

0,4 Dual
0,3 Mono

0,2

0,1

0
2 3 4 5 6 7 8 9 10 11
Nº Processadores

by Prof. Edson Pedro Ferlin

Speedup Ideal x Real

Speedup Ideal e Real

25

20
Speedup

15 Ideal

10 Real

0
1 3 5 7 9 11 13 15 17 19
Nº de Processadores
by Prof. Edson Pedro Ferlin

Speedup

12

10

8
Speedup

Mono
6 Dual
Ideal
4

0
1 2 3 4 5 6 7 8 9 10
Nº Processadores

by Prof. Edson Pedro Ferlin

Arquiteturas dos Computadores para


Processamento Paralelo

¡ Eventos Paralelos - ocorrem com múltiplos


recursos no mesmo intervalo de tempo. São os
multiprocessadores e clusters que atendem este
paralelismo.

¡ Eventos Simultâneos - ocorrem no mesmo


instante de tempo. São as arquiteturas
matriciais (SIMD) e máquinas VLIW.

¡ Eventos Pipeline - ocorrem em instantes de


tempo sobrepostos. São as arquiteturas
pipeline.
by Prof. Edson Pedro Ferlin

Máquinas Paralelas

Máquina Paralela (Multiprocessador ou Cluster) é um


computador que possui vários processadores que se
comunicam e cooperam em diferentes níveis para
resolverem uma determinada tarefa:

• Fortemente Acoplados quando a interação entre os


processadores é frequente

• Fracamente Acoplados quando a interação entre os


processadores não é frequente

by Prof. Edson Pedro Ferlin

Top of Máquinas Paralelas

R
a
n RMax
k Manufacturer Processors (TFlops) Processor Frequency System Family Architecture
1 IBM 122400 1.026 PowerXCell 8i 3200 IBM Cluster Cluster
2 IBM 212992 478,2 PowerPC 440 700 IBM BlueGene MPP
3 IBM 163840 450,3 PowerPC 450 850 IBM BlueGene MPP
AMD x86_64 Opteron
4 Sun Microsystems 62976 326 Quad Core 2000 Sun Blade System Cluster
AMD x86_64 Opteron
5 Cray Inc. 30976 205 Quad Core 2100 Cray XT MPP

Fonte: www.top500.org (2008)


Modelo Ano Arquitetura Processadores TFlops
DOE/NNSA/LANL 2008 Cluster (PowerXCell 8i ) - 3.2GHz 122.400 1.026,00
Earth Simulator 2002 Cluster (NEC SX - 640x8) - 500MHz 5.120 35,86
by Prof. Edson Pedro Ferlin

Exemplos de Máquinas Paralelas

by Prof. Edson Pedro Ferlin

Earth Simulator

NEC
5120 Processadores
(640x8) NEC SX-6
500MHz
35,86 Tera Flops
10 Tera Bytes
Área (4 quadras de tênis,
3 andares)
by Prof. Edson Pedro Ferlin

ASCI Q

Hewlett-Packard
4096 Processadores
(1024x4) Alpha 21264
EV-68 1.25-GHz
13,88 Tera Flops
33 Tera Bytes

by Prof. Edson Pedro Ferlin

MCR Linux Cluster

Linux Networx
2304 Processadores
(576x4) Intel Xeon
2.4 GHz
7,634 Tera Flops

4,6 Tera Bytes


by Prof. Edson Pedro Ferlin

ASCI White

IBM
8192 Processadores
(512x16) Power3
375MHz
7,304 Tera Flops
6 Tera Bytes
Área (2 quadras de
basquete, 106 ton)

by Prof. Edson Pedro Ferlin

Seaborg

IBM
2944 Processadores
(416x16) Power3+
375MHz
7,304 Tera Flops
2,304 Tera Bytes
by Prof. Edson Pedro Ferlin

Hyper Threading

by Prof. Edson Pedro Ferlin

Dual e Quad Core

Pentium D
Quad-Core

Dual-Core
by Prof. Edson Pedro Ferlin

Níveis de Paralelismo - Granularidade

¡ Nível 5 - Processos independentes (jobs) e


Programas
¡ Nível 4 - Sub-processos e pontes de programas
¡ Nível 3 - Rotinas, Sub-rotinas e Co-rotinas
¡ Nível 2 - Iterações (Laços)
¡ Nível 1 - Instruções

by Prof. Edson Pedro Ferlin

Macrotasking
Tempo de Execução

Processador 0 S1 S2 S3 S4

Macrotasking

Processador 0 S1

Processador 1 S2
Programa:
CALL S1( ... )
CALL fork (S2, ... )
Processador 2 S3
CALL fork (S3, ... )
CALL fork (S4, ... )

Processador 3 S4
by Prof. Edson Pedro Ferlin

Microtasking
Tempo de Execução

Processador 0
I=1 I=2 I=3 I=4 I=5 ... I=N

Microtasking

Processador 0 I=1 I=5

Processador 1 I=2 ...

Programa:
Processador 2 I=3 ... DO I = 1, N
{ Corpo do Laço }
END_DO
Processador 3 I=4 ...

by Prof. Edson Pedro Ferlin

Tarefa 1 Tarefa 2 Tarefa 3

Autotasking
Macrotasking

Tarefa 1

I=1 I=2 I=3 I=4 ... I=N

Tarefa 2

Tarefa 3 Programa:
...
CALL fork ( . . .,Tarefa 1)
CALL fork ( . . .,Tarefa 2)
CALL Tarefa 3
Microtasking ...

Tarefa 1
Processador 0
I=1 I=3 . . . ...
Tarefa 1 Tarefa 1 :
Processador 1 ...
I=2 I=4 . . . I=N DO I = 1, N
DO J = 1, N

Processador 2 Tarefa 2 { Corpo do Laço }


END_DO
END_DO
Processador 3 Tarefa 3

Tempo de Processamento Tempo de Processamento Reduzido pela Paralelização


by Prof. Edson Pedro Ferlin

Programação

¡ Paralelização Explicita
l OCCAM e HPF

¡ Paralelização Implícita
l SISAL

¡ Paralelização Automática
l Métodos específicos

by Prof. Edson Pedro Ferlin

Linguagens de Programação

¡ Linguagens projetadas especificamente


para o Processamento Paralelo

¡ Linguagens convencionais ampliadas por


primitivas para expressar o paralelismo

¡ Linguagens sem extensões


by Prof. Edson Pedro Ferlin

Ambientes de Programação

¡ MPI - Message Passing Interface

¡ PVM - Parallel Virtual Machine

by Prof. Edson Pedro Ferlin

Paralelizador Automático

¡ Todas as fases usuais de um Compilador


¡ Análise Léxica
¡ Análise Sintática

¡ Análise Semântica

¡ Geração do Código

¡ Otimização do Código

¡ Detecção de Paralelismo
¡ Alocação de Recursos
by Prof. Edson Pedro Ferlin

Paralelização Automática
¡ Vantagens
l Grande quantidade de software já desenvolvido;

l Independência do programador (paralelização);

l Adequação à arquitetura paralela.

¡ Desvantagens
l Desenvolvimento de compiladores
paralelizadores;
l Baixa eficiência dos compiladores;

l Custo.

by Prof. Edson Pedro Ferlin

Condição de Bernstein

¡ Dois comandos S e T podem ser


executados em paralelo se e somente se

in(S) ∩ out(T) = ∅
in(T) ∩ out(S) = ∅
out(S) ∩ out(T) = ∅
by Prof. Edson Pedro Ferlin

Dependência dos Dados

¡ Flow Dependence - Dependência de Fluxo;


¡ Anti Dependence - Anti-Dependência;
¡ Output Dependence - Dependência de Saída;
¡ Input Dependence - Dependência de Entrada;
¡ Dependência Condicional;
¡ Dependência de Repetição.

by Prof. Edson Pedro Ferlin

Eliminação de Dependências

¡ Renomeação;
¡ Substituição a frente;
¡ Expansão Escalar;
¡ Distribuição do Laço.
by Prof. Edson Pedro Ferlin

Métodos de Paralelização Automática

¡ Método Hiperplano;
¡ Método Utilizando Transformações
Unimodulares;
¡ Método Alocação de Dados Sem
Comunicação;
¡ Método Particionamento e Rotulação.

by Prof. Edson Pedro Ferlin

Escalonamento e Balanceamento da
carga

¡ Estático em tempo de compilação

¡ Dinâmico em tempo de execução


by Prof. Edson Pedro Ferlin

HPRC (High-
(High-Performance
Reconfigurable Computing)

by Prof. Edson Pedro Ferlin

Computação Tradicional

¡ Circuito Integrado específico para a


aplicação ou ASIC (Application-
Specific Integrated Circuit)

¡ Microprocessadores
by Prof. Edson Pedro Ferlin

Posicionamento

by Prof. Edson Pedro Ferlin

Níveis de Acoplamento
by Prof. Edson Pedro Ferlin

Projetos

¡ Arquitetura Paralela Reconfigurável para


Algoritmos Genéticos aplicada à Síntese
de Circuitos Combinacionais.

¡ Arquitetura Paralela Reconfigurável


baseada em Fluxo de Dados
implementada em FPGA.

by Prof. Edson Pedro Ferlin

Arquitetura Paralela
aplicada a Algoritmos Genéticos

Tempo de uma geração

1%
4%
2%
Avaliação
Seleção
Crossover
Mutação

93%
by Prof. Edson Pedro Ferlin

Arquitetura Paralela
baseada em Fluxo de Dados

¡ Conceito
década de 70

¡ Não segue o
modelo Von
Neumann

by Prof. Edson Pedro Ferlin

Arquitetura Paralela E

E
' HVW
LQR E

8
/
E

7HPSO
DWH
E

' HVW
LQR $

Fluxo de Dados E E

(3

(3
(3
(3
(3 (3
(3
HVWLQRHQGHUHoREL
G
WW (3 7HPODWH
(3 (3
(3
(3
(3 (3
(3
(3
ELW
V (3 ELW
V

5 HVXOW
DGRV 7 HPSODWHV
GRV SDUD
(3V (3V

88QQ LGDG
LGDHH
G
88QQLL
GGDDGGHH ELW
V 8Q
88 QH
Q
LGLGDDGG
HH
8G HQ
G
LG
LG
HG
DG
DGHH
GGH 0 HP y ULD GHH
GG HHHQW ELW
V ' ' HVSDFKR
$UP
U$PD]
$$U D]HQDP
HQDP RR
HQW GH ' HVSDFKR
' HVSDFKR
HVSDFKR
PU
PD]D]HQDP
HQDP HQW
HQW
RR
7HPSO DW HV
ELW
V

ELW
V ELW
V
6QRRS
66QRRS
QRRS
6QRRS
ELW
V %XIIHU
&RQVXO
WDW %XIIHU
&RQVXOD %XIIHU
7HPSO DWH
&RQVXOW
D 7HPSO DWHH
%XIIHU
&RQVXOWD 7HPSO DW
7HPSODWH

W
V
$W
XDOL]D W
V 0 HP y ULD
GH ELW
V
' DGRV

W
V W
V

,QW
HUIDFH

+ RVW
&RQW
URO
DGRU
by Prof. Edson Pedro Ferlin

Características

¡ FPGA Stratix II EP2S60F672C3


¡ 60% EL
¡ 5% Memória

Característica Valor Unidade


Número máximo de EPs 16 -
Freqüência de Operação 50 MHz
Complexidade do EP ULA ponto fixo de 8/16 bits -
Despacho Paralelo/Bufferizado -
Armazenamento Paralelo/Bufferizado -
Quantidade de Instruções 16 -
Tempo de Clock 20 ns
Memória de Templates 1K Templates
Memória de Dados 1Kx16 bits

by Prof. Edson Pedro Ferlin

Testes

120

100
Independente
Tempo Normalizado

80 FIR
Ideal
60

40

20

0
1 4 8 16
Nº de EPs
by Prof. Edson Pedro Ferlin

Futuro

¡ Utilização em maior escala;


¡ Desenvolvimento de software apropriado;
¡ Aumento do número de desenvolvedores,
tanto de hardware quanto de software;
¡ Implementação em FPGA;
¡ High-Performance Reconfigurable
Computing;
¡ “Cultura” em Processamento Paralelo;

by Prof. Edson Pedro Ferlin

Obrigado
pela
Atenção

Você também pode gostar