prof. amit bhaya, programa de engenharia elétrica, coppe ...amit/cpaadia1.pdf · 2 conteúdo do...

Post on 29-Oct-2018

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Computação Paralela: Algoritmos e Aplicações

Prof. Amit Bhaya,Programa de Engenharia Elétrica, COPPE/UFRJ

09/05/2000 -- 12/05/2000

2

Conteúdo do minicursoConteúdo do minicurso•Computação paralela e de alto desempenho. Taxonomia básica. A experiência da COPPE.• Justificativa e ganhos com o paralelismo.•Algoritmos numéricos paralelos síncronos eassíncronos.•Modelos matemáticos. Análise de convergência.Exemplos.• Resolução de sistemas complexos de grande porte.•Algoritmos combinados. Critérios de partição.•Distribuição de carga. Exemplos.• Técnicas de otimização natural. Meta-heurística.• Adequação às máquinas paralelas e de altodesempenho.•Exemplos.• Perspectivas futuras . Novas Aplicações.•Discussão final. Avaliação.

3

HIPÓTESESHIPÓTESES

Os alunos (não) têm noções de computação paralela – o grupo é heterogêneo

Os alunos têm algum conhecimento de métodos numéricos simples

4

BibliografiaBibliografia

!T.L. Freeman & C. Phillips, “Parallel Numerical Algorithms”, Prentice Hall,1993*

•F.Thomson Leighton, “Introduction to Parallel Algorithms and Architectures:Arrays. Trees. Hypercubes, Morgan Kaufmann Publishers, 1992•Dan I. Moldovan, “Parallel Processing from Applications to Systems”, MorganKaufmann Publishers, 1993•Daniel E. Lenoski & Wolf-Dietrich Weber, “Scalable Share-MemoryMultiprocessing”, Morgan Kaufmann Publishers, 1995•Geoffrey G. Fox, Roy D. Williams and Paul C. Messina, “Parallel ComputingWorks!”, Morgan Kaufmann Publishers, 1994•Russ Miller & Quentin F. Stout, “Parallel Algorithms for Regular Architectures:Meshes and Pyramids”, MIT Press Cambridge, 1996•Kai Hwang, “Advanced Computer Architecture: Parallelism, Scalability,Programmability”, McGraw-Hill Series in Computer Engineering, 1993•A. Cichocki & R. Unbehauen, “Neural Networks for Optimization and SignalProcessing”, John Wiley & Sons, 1993•Artigos

Obs.: A cada ano os livros vão ficando rapidamente obsoletos

5

Noções e conceitosNoções e conceitos

•Noções e Conceitos de Paralelismo /Taxonomia / Arquiteturas (fundamentos)

•Algumas considerações sobre software

•Paralelismo na resolução (iterativa) deequações simultâneas

•Condições de convergência assíncrona

6

ParalelismoParalelismo

O paralelismo é natural no dia a dia !!

Exemplos:

"""" Caixas de supermercado ou banco

♦ pouca ou nenhuma comunicação entre osagentes

♦ com supervisor/ou não

♦ múltiplas tarefas/ou não

7

Paralelismo (continuação)Paralelismo (continuação)

Serviço de despertador (7h)

♦ não pode ser feito sequencialmente (porrazões óbvias)

♦ nenhuma comunicação entre os agentes

♦ embarassing parallelism

" Aula de ginástica

ginastas líder/instrutor/coordenador

mesmas “operações”/sincronizadamente

8

No contexto dos computadoresNo contexto dos computadores

Pergunta: se é tão comum e importante porque éque os computadores eram puramente sequenciais?

Resposta: o paralelismo trazia problemas extras de:

comunicaçãosincronizaçãohardware/software

que somente mais recentemente foram resolvidos.

9

No contexto dos computadores( continuação)No contexto dos computadores( continuação)

O modelo de Von Neumann de apenas uma CPU

Memória CPU

execução

(uma instrução a cada intervalo de tempo)

10

No contexto dos computadores( continuação)No contexto dos computadores( continuação)

Mais tarde surgiram os “Pipelines”

Performance :• Megaflops (Millions of floating pointoperations per second)• Mips Millions of instructions per second)

Nominais (pico)X

Linpack (benchmark)

11

Evolução de computadores.Evolução de computadores.

#1946 – ENIAC Pennsylvania

#1953 – IBM 701

#(Evolução nos semicondutores)

# 1975 – CRAY – supercomputadores ( Megaflops)

# 1985 – CRAY 2/Y-MP (Gigaflops)

♦ paralelismo limitado♦ paralelismo a nível de instruções básicas/pipelines♦ unidades de processamento poderosas ecaras/trabalhando em paralelo

Objetivo # (Teraflops)

12

Evolução de computadores.( contimuação )Evolução de computadores.( contimuação )

Caltech cube (Fox)

# 1985 – Multiprocessadores/Intel (128 nós)/N Cube etc.

♦ arranjos de múltiplos processadores/CPU’s♦ para competir com o preço dos supercomputadores (namesma faixa de Flopagem)

#Hoje a Silicon Graphics/CRAY aumenta o número deprocessadores

#Tendência é de Multiprocessadores/Multicomputadores/ escaláveis (centenas de nós)

♦ a programação dependente das arquiteturas?♦ algoritmos clássicos necessitam ser rederivados?

13

Evolução de alguns computadores de alto desempenhoEvolução de alguns computadores de alto desempenho

14

Processadores vetoriais (com Pipelines)Processadores vetoriais (com Pipelines)

Cada instrução é dividida em quatro fases

−busca de instrução−cálculo do endereço do operando−busca do operando−operação aritmética

♦ Algumas dessas fases podem ser feitas concorrentemente

(pipelining in vector operations)

CRAY $$$$ (system and pipeline/paralelismo)*

discussão da taxonomia shared/distributed/vector ficou misturada, todavia éutilizada como referênciaFUJITSU

HITACHI (CRAY 1 (SIMD)) #### (CRAY 2 MIMD))NEC

15

Processadores vetoriais (com Pipelines)Processadores vetoriais (com Pipelines)

16

Evolução de flopagemEvolução de flopagem

17

Objetivos do ParalelismoObjetivos do Paralelismo

♦ Reduzir tempos

(Possibilidades de cálculos em “tempo real”) / simulação emtempo real. Meteorologia. Previsão de tempo (em tempo hábil).

•Viabilizar a resolução de problemas que nãopoderiam ser considerados anteriormente

•Maior precisão (no mesmo tempo)

(refinar malhas)

•superar limites físicos na velocidade deprocessamento sequencial

Desejável ➜➜➜➜ (1015 operações por segundo)

Hoje ➜➜➜➜ (109 operações por segundo)

18

Aplicações mais usuaisAplicações mais usuais

♦ Previsão do tempo/simulação de fenômenos globais(El Niño)♦ Engenharia: modelos de turbulência/aviões♦ Física do plasma: gases ionizados em altastemperaturas♦ Ciência dos Materiais, “Automated Reasoning”♦ Economia: modelos nacionais♦ Inteligência Artificial♦ Sistemas de Defesa

Obs.: (MULTI + vector )

(VECTOR + multi)

19

Aplicações mais usuaisAplicações mais usuais

20

Aplicações de Computação de Alto DesempenhoAplicações de Computação de Alto Desempenho

21

Mercados da Silicon GraphicsMercados da Silicon Graphics

22

Capacidade de MemóriaCapacidade de Memória

10 Mb

1 Gb

100 Gb

Airfoil

1980

48- Hour

WeatherOil Reservoir

Modeling

1988

3d plasmaModeling

10 Gb

1991

1000 Gb

Global change.Human genone.

Fluid turbulence.VehicicleDinamics .

Oceancirculation.

viscous FluidsDynamics.

super conductormodeling.

Semiconductormodeling.

Quantumchromodynamicsvision.

StructuralBiology

PharmaceuticalDesign

ChemicalDynamics

1995 and beyond

100 Moflops 1 Gflops 10 Gflops 1 TflopsSystem speed

Memory capacity

1993

100 Gflops

23

Linguagem de programação no ambiente paraleloLinguagem de programação no ambiente paralelo• “vetorial” #### mais software disponível

•“paralelo” #### menos software disponível

• Em geral são extensões (versões paralelas)

FORTRAN / (90) (vector)PASCAL /BASIC /C /ADA /OCCAM / (Transputers) (message passing) 80’s

•Compiladores têm a capacidade de gerar um código paralelo a partir de um códigosequencial (vetorização)

BIBLIOTECAS BLAS

BASICLINEARALGEBRASUBPROGRAMS

24

Estilos de ProgramaçãoEstilos de Programação

25

Programação ParalelaProgramação Paralela

26

Taxonomia de FlynnTaxonomia de Flynn

•Classificação baseada nas relações entre dados e instruções

•Single instruction stream -- single data stream (SISD)

( Modelo de Von Neumann )

•Single stream-- multiple datas stream (simd)

•( inclui máquinas do tipo array )

•Multiple instruction stream -- multiple data stream ( mimd )

•( Os sistemas multiprocessadores mais difundidos )

Ponto de partida util.

27

ArquiteturasArquiteturas

28

Arquiteturas (continuação)Arquiteturas (continuação)

29

Arquiteturas (continuação)Arquiteturas (continuação)

30

Sistemas de memória localSistemas de memória local

31

Arquiteturas híbridasArquiteturas híbridas

32

Arquiteturas híbridasArquiteturas híbridas

33

Arquitetura hipercúbicaArquitetura hipercúbica

34

Arquitetura hipercúbicaArquitetura hipercúbica

35

Arquitetura de transputerArquitetura de transputer

36

Arquiteturas do ponto de vista de programasArquiteturas do ponto de vista de programas

37

Array de trnasputersArray de trnasputers

38

Conexão via barramentoConexão via barramento

39

Conexão via chaves “crossbar”Conexão via chaves “crossbar”

40

Redes de interconexãoRedes de interconexão

41

Redes de interconexãoRedes de interconexão

42

Redes de interconexãoRedes de interconexão

43

Redes de interconexãoRedes de interconexão

44

Comparação de arquiteturas (tempo)Comparação de arquiteturas (tempo)

45

Arquitetura heterogêneaArquitetura heterogênea

46

Tipos de paralelismo (granularidade)Tipos de paralelismo (granularidade)

47

Sistemas heterogêneosSistemas heterogêneos

48

Níveis de paralelismoNíveis de paralelismo

49

Conceito de speedupConceito de speedup

50

Lei de AmdahlLei de Amdahl

51

Redes de interconexãoRedes de interconexão

52

Laborarório de computação de alto desempenho coppe/UFRJ

Laborarório de computação de alto desempenho coppe/UFRJ

1988 #### INÍCIO DO PROJETO “COMPUTAÇÃO PARALELA”Transputer / INMOSTransistor for multicomputer

NCP construído na COPPE (08 nós)

1990 #### INTEL – IPSC 860 / 08 nósCaracterísticas:Memória: 8 x 8 Mb = 64 MbFlopagem: 8 x 80 MFlops = 640 MFlops

1995 #### CRAY J90 / 04 processadoresCaracterísticas:Memória: 2 Gb memória RAMFlopagem: 4 x 200 MFlops = 800 MFlops

1996 #### IBM SP-2 / 04 processadoresCaracterísticas:Memória: 4 x 128 Mb = 512 MbFlopagem: 4 x 266 MFlops = 1064 MFlops

53

Pesquisadores envolvidos Pesquisadores envolvidos

INICIAL: 13 (com Doutorado)

30 alunos

SISTEMAS E COMPUTAÇÃO: HARDWARE

ENGENHARIA CIVIL: CÁLCULO, SIMULAÇÃO E OTIMIZAÇÃO DE ESTRUTURAS

ENGENHARIA ELÉTRICA: SIMULAÇÃO E OTIMIZAÇÃO DE REDES ELÉTRICAS

ESTATÍSTICAS

Período 1990 a 1996

Publicações

PeríodosInternacionais

Congressos

19 26 21

M.Sc. D.Sc.

32 11

Número de

teses

Defendidas

Nacionais Internacionais

54

Decomposição para programação paralelaDecomposição para programação paralela

55

Integração numéricaIntegração numérica

56

Mapeamento do problemaMapeamento do problema

57

Mapeamento do problemaMapeamento do problema

58

Programa paralelo (hípercubo)Programa paralelo (hípercubo)

59

Ajuste fino de um programa paraleloAjuste fino de um programa paralelo

60

Ajuste finoAjuste fino

61

Aplicação: Simulação de tráfego aéreoAplicação: Simulação de tráfego aéreo

62

Aplicação: Simulação de tráfego aéreoAplicação: Simulação de tráfego aéreo

63

Aplicação: Simulação de tráfego aéreoAplicação: Simulação de tráfego aéreo

64

Fim da primeira aulaFim da primeira aula

top related