30
Arquitetura de Computadores Paralelos Tipos e Paralelismo Dispositivos HPC Métodos e SpeedUp

Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

  • Upload
    ngobao

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Arquitetura de Computadores Paralelos

Tipos e Paralelismo

Dispositivos HPC

Métodos e SpeedUp

Page 2: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Justificativa

• Computadores paralelos fazem parte de quase todos os ambientes científicos

• Muitas empresas os empregam para acelerar seus processos

• A tecnologia HPC permeia cada vez mais a arquitetura de computadores pessoas

Page 3: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Tipos de paralelismo

• Paralelismo intrínseco (componentes)

• Paralelismo de hardware por função

• Multicore (== Multitask)

• Sistemas Multiprocessados(memória compartilhada)

• Sistemas computacionais, clusters (múltiplos computadores)

Page 4: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Aplicações

Aplicações que exigem alto desempenho computacional:

alta capacidade e desempenho sustentado (velocidade)

Exemplos de aplicações típicas:

• modelagem física: estrutura, fluidos, deformações.

Indústria automobilística, aeroespacial, petróleo;

• modelagem bioquímica: estrutura molecular. Indústria

química e farmacêutica;

• análise de sinais: astronomia, neurociências;

• previsão de tempo;

• pesquisa científica em geral;

• órgãos governamentais: indústria armamentista,

modelagem nuclear.

Page 5: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Processamento X Programação

Características do problema definem a arquitetura

• processamento vetorial: arquitetura principal dos

supercomputadores

• multiprocessamento (MPP): computadores com

processadores massivamente paralelos

• clusters: arquiteturas compostas por computadores

comerciais (servers e workstations)

Page 6: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Principais Fabricantes

• SGI (CRAY)

• SUN

• NEC

• IBM

• INTEL

• NVIDIA

• AMD

• MICROSOFT

Page 7: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

TOP500 (June 2015)www.top500.org

Rank Site System CoresRmax (TFlop/s)

Rpeak (TFlop/s)

Power (kW)

1National Super Computer Center in Guangzhou China

Tianhe-2 (MilkyWay-2) - TH-IVB-FEP Cluster, Intel Xeon E5-2692 12C 2.200GHz, TH Express-2, Intel Xeon Phi31S1P NUDT

3,120,000 33,862.7 54,902.4 17,808

2DOE/SC/Oak Ridge National Laboratory United States

Titan - Cray XK7 , Opteron 6274 16C 2.200GHz, Cray Gemini interconnect, NVIDIA K20x Cray Inc.

560,640 17,590.0 27,112.5 8,209

3 DOE/NNSA/LLNL United StatesSequoia - BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM

1,572,864 17,173.2 20,132.7 7,890

4RIKEN Advanced Institute for Computational Science (AICS)Japan

K computer, SPARC64 VIIIfx 2.0GHz, Tofu interconnect Fujitsu

705,024 10,510.0 11,280.4 12,660

5DOE/SC/Argonne National Laboratory United States

Mira - BlueGene/Q, Power BQC 16C 1.60GHz, Custom IBM

786,432 8,586.6 10,066.3 3,945

Page 9: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções
Page 10: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Tianhe-2 (MilkyWay-2)

Site: National Super Computer Center in Guangzhou

Manufacturer: NUDT

Cores: 3,120,000

Linpack Performance (Rmax) 33,862.7 TFlop/s

Theoretical Peak (Rpeak) 54,902.4 TFlop/s

Nmax 9,960,000

Power: 17,808.00 kW

Memory: 1,024,000 GB

Processor: Intel Xeon E5-2692v2 12C 2.2GHz

Interconnect: TH Express-2

Operating System: Kylin Linux

Compiler: icc

Math Library: Intel MKL-11.0.0

MPI: MPICH2 with a customized GLEX channel

TH-IVB-FEP Cluster, Intel Xeon, TH Express-2, Intel Xeon Phi 31S1P

Page 11: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

HISTÓRICO - CRAY

CDC CRAY Research

1972 (Cray 1)

CRAY CORP.

1989 (Cray 3)

SEYMOUR CRAY

(1925 - 1996)

CRAY Research + SGI (Silicon Graphics Inc)

(Seymour Cray)

1996 (Merger)

CRAY Inc.

2000 (vendida para TERA Computer)

VECTOR PROCESSORS

CRAY 1

1972

CRAY 2

1985

MULTIPROCESSORS

CRAY XMP

1982

CRAY C90

1990

CRAY YMP

1988

CRAY T90

1994

ATUAL

CRAY SV1

MPP

CRAY T3D

1993

CRAY T3E

1995

CRAY T3E

MINISUPERCRAY XMS

1990

CRAY J90

1994

CRAY SX-6

CRAY X1

(NEC)

Page 12: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

CRAY SV1

CRAY MTA

CRAY HPC-Cluster

CRAY T3E

- 40 a 2176 Elementos RISC

256 ou 512 MB RAM cada

- conexão Toroidal duplo

42 a 166 GB/s

- projeto original da TERA

- paralelismo compilador

- multi-thread

- 16 a 256 processadores

- memoria compartilhada

até 1 TB

- facilidade programação

- arquitetura clássica

vetorial, até 24 elementos

- CPU de 8 GFlop

Memória 128 GB

- conjunto de Elementos

comerciais de baixo

custo: Dell PowerEdge

- interconexão rede de

alta velocidade

- software da Cray (Linux)

- balanceamento

Page 13: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

CLASSIFICAÇÃO DOS COMPUTADORES PARALELOS

Uma classificação genérica de um sistema de computador que perdura até hoje devida à

sua simplicidade, é aquela clássica, apresentada por Flynn [FLYNN, 1972], na qual uma

máquina é caracterizada através da maneira como trata as suas instruções e os seus

dados. As categorias são:

SISD - “Single Instruction, Single Data”;

SIMD - “Single Instruction, Multiple Data”;

MISD - “Multiple Instruction, Single Data”;

MIMD - “Multiple Instruction, Multiple Data”.

MI MD

P

I D

Legenda:

P: Processador

MI: Memória de Instruções

MD: Memória de Dados

I: Fluxo de Instruções

D: Fluxo de Dados

SISD Computador von Newmann

Page 14: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

SIMD

MI MD

I D

MD

D

PP

MD

D

P. . .

. . .

Array Processors

Unidade de Controle:

Processador de Instruções

P

M

P

M

P

M

P

M

P

M

P

M

P

M

P

M

P

M

Distribuição de Instruções

Page 15: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Processador

de Instruções

Processador

de Dados 1

Processador

de Dados 2

Processador

de Dados n. . .

i1

. . .

i2

i3

i0 i0 i0

d11

d12

. . .

d13

d21

d22

. . .

d23

dn1

dn2

. . .

dn3

Vetor

Fluxo

de Dados

de entrada

Fluxo de

Instruções

Obs.: por simplificação, não foram representados os demais operandos e os dados de saída

Processadores Vetoriais

Instrução típica:

for (i=0; i<n; i++)

a[i] = b[i] + c [i];

MÁQUINAS VECTORIAIS

Page 16: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Exemplo de Computador Vetorial SIMD

Supercomputador Cray-1

- computador mais poderoso da época (meio a fins de 1970)

- clock 80 MHz e 8 MB de memória principal

Page 17: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

MISD

MI

I

PP

MD

D

P. . .

. . .MI

I

MI

I

d1

. . .

d2

d3

ProcessadordeInstruções

A

iA1

. . .

iA2

iA3

ProcessadordeInstruções

B

iB1

. . .

iB2

iB3

ProcessadordeInstruções

C

iC1

. . .

iC2

iC3

d1 d1 d1

Distribuição de Dados

VOTADOR

rA1rB1

rC1

r1

Resultados

Sequência deInstruções

Sequência deDados

Resultado votado

TMR:

Redundância

Modular

Tripla

Arquitetura de processadores

Tolerantes a Falha

Page 18: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

MI MD

P

I D

MI MD

P

I D

MI MD

P

I D

. . .

. . .

Memória Global

MIMD

Sistema de Comunicação

MI MD

P

I D

MI MD

P

I D

MI MD

P

I D

. . .

. . .

MIMD com memória compartilhada MIMD com troca de mensagens

Multiprocessamento: Sistemas Massivamente Paralelos (MMP)

Multicomputadores: Sistemas Distribuídos

Page 19: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

MIMD MEMÓRIA CACHE

Memória

Local

“Cache”

Sistema de

Consistência

Memória

Global

Cópia de parte da

Memória Global

Na prática:

- barramento é o gargalo do sistema

- dificuldade em manter a consistência do Cache

- limite no número de UCPs (dezenas)

Page 20: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

MIMD MEMÓRIA COMPARTILHADA

. . .

Mem.

Global

P

ML

P

ML

P

ML

Barramento

P: processador

ML: memória local

Através de Barramento

. . .P

ML

P

ML

P

ML

Crossbar

Mem.

Global

Mem.

Global

Mem.

Global

. . .. . .

Chave

aberta

Chave

fechada

Através de Crossbar

. . .

Servidor

Memória

P

ML

P

ML

P

ML

Ponto

a ponto

Enlace de

alto desempenho

Através de Servidor de Memória

. . .

Sistema de Comunicação

MemóriaLocal

MemóriaDistribuída

MemóriaLocal

MemóriaDistribuída

MemóriaLocal

MemóriaDistribuída

Memória Distribuída com controle de integridade

Page 21: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

MIMD TROCA DE MENSAGENS

EP EP EP. . .

Barramento

Interconexão por barramento serial ou paralelo

EP

EP

EP

EP

EP

Conexão total ponto a ponto

EP EP EP

Chaveador

. . .

EP EP EP . . .

Conexão por chaveador

EP EP EP

EP EP EP

Conexão em anelEPEP

EPEP

. . .

. . .

EP

EP

. . .

. . .

. . .

EPEP . . . EP

Conexão em Malha (Mesh)

Problema básico: como interligar

milhares de Elementos Processadores

- Questão de topologia de rede

Page 22: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

MIMD TROCA DE MENSAGENS: HIPERCUBOS

. . .

. . .

Hipercubo Clássico

i

jk

000 300

Coordenadas: ijk

310

003

013 313

002 003001000

012 013011010

102 103101100

112 113111110

202 203201200

212 213211210

Hipercubo Genérico

0000 0001

0100

0011

01110110

1000

1100

1110

1111

1011

1001

0010

BooleanoHipercubo com Múltiplo Acesso

Page 23: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

TOPOLOGIAS DE

INTERCONEXÃO

Conexão de:

Memórias

Processadores

Computadores

Page 24: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

QUESTÕES BÁSICAS

NÍVEIS DE PARALELISMO:

divisão a partir de uma atividade única

- execução de trabalho ("job"),

- execução de tarefa ("task"),

- execução de função ("thread"),

- execução de instrução,

- transferência de registros e

dispositivos lógicos (hardware).

ORGANIZAÇÃO para execução paralela

- particionamento / granularidade;

- escalação e distribuição (fork);

- sincronização;

- comunicação (join).

Grau de ACOPLAMENTO:

- fraco: sistemas distribuídos

- forte: nível de registros

1

4

5

2

3

6

7

X W

Y

Z

X W

Y

Z

Granularidade

Fina

Granularidade

Grossa

Page 25: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

PARADIGMAS DE PROCESSAMENTO

Page 26: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

SPEED-UP

Quantas vezes mais rápido o programa é executado?

Page 27: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

GRANULARIDADE

G = Quantidade de computação

Quantidade de comunicação

Paralelismo granular

Fine grained = Blocos pequenos concentrados em múltiplas tarefas

Coarse grained = Blocos grandes concentrados em poucas tarefas

Quanto mais fina a granularidade, maior o potencial de paralelismo e

consequentemente, speed-ups, porém, maior o overhead (comunicaçao)

A estratégia de particionamento depende do problema, da abordagem e

da arquitetura computacional empregada

Page 28: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

PARTICIONAMENTO

Fine GrainCoarse Grain Adaptive scaling

Page 29: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

^ 2

B

2

A

4

C

_

X1 X2

-B B2 2A 4A

4AC

B2 - 4AC =

-B + -B -

X1 = (-B - ) / 2A X2 = (-B + ) / 2A

PARADIGMA DATA-FLOW (FLOWCHART)

Page 30: Arquitetura de Computadores Paralelos - …bcc.ufabc.edu.br/~rogerio.neves/info/arq/8.pdfCaracterísticas do problema definem a arquitetura ... r1 Resultados Sequência de Instruções

Número de processadores

Desempenho

em unidades de

processamento

1 2 3 4 5 6 7 8

8

7

6

5

4

3

2

1

Escalabilidade ideal: 1:1

Escalabilidade linear:

0,875

Lei de Amdahl

“Lei de Amdahl” (1967): interligar computadores em paralelo para realizar uma tarefa

implica em coordenar esta solução cooperativa, gerando um "overhead" de natureza

seqüencial. Assim, este "overhead" suplantaria a capacidade agregada, estabelecendo

um limite superior ao incremento da capacidade de processamento.

“LEI” DE AMDAHL