Computação de Alto Desempenho Clusters de PCs

31
Computação de Alto Desempenho Clusters de PCs Renato Silva LNCC - MCT Outubro de 2003 RSS-10/03 – p.1/31

Transcript of Computação de Alto Desempenho Clusters de PCs

Page 1: Computação de Alto Desempenho Clusters de PCs

Computação de Alto DesempenhoClusters de PCs

Renato Silva

LNCC - MCT

Outubro de 2003

RSS-10/03 – p.1/31

Page 2: Computação de Alto Desempenho Clusters de PCs

• Renato S. Silva

• sala: 2a-23 - ramal: 6148 - e-mail: [email protected]

• Material:• Aulas: www.lncc.br/∼rssr/courses• Notas .....

RSS-10/03 – p.2/31

Page 3: Computação de Alto Desempenho Clusters de PCs

Curso

• Objetivo:

• Ensinar a programar visando desempenho.• Identificar os recursos computacionais e retirar o

maior proveito possível.• Rodar grandes problemas o mais rápido possível

• Utilizando-se do Paralelismo em todos os níveis.• Máquinas seriais• Máquinas paralelas

RSS-10/03 – p.3/31

Page 4: Computação de Alto Desempenho Clusters de PCs

Ementa

RSS-10/03 – p.4/31

Page 5: Computação de Alto Desempenho Clusters de PCs

Avalição

• Listas de exercícios (30%)

• Projeto Final (70%)

• avaliação por etapas• pequenos seminários

• Máquinas disponíveis

• Cluster de PCs 32 nós - Carcará

• SUM 24 processadores

RSS-10/03 – p.5/31

Page 6: Computação de Alto Desempenho Clusters de PCs

Pré-Requesitos

• Vontade de por a mão na massa

• literalmente vai tomar tempo !!

• Álgebra Linear

• Cálculo Numérico

• C (C++) ou Fortran (suporte para MPI ou PVM)

• Unix / Linux

RSS-10/03 – p.6/31

Page 7: Computação de Alto Desempenho Clusters de PCs

Bibliografia (parte)

• Foster - Designing and Building Parallel Programs -http://www.mcs.anl.gov/dbpp

• Kumar - Introduction to Parallel Computing

• Dowd - High Performance Computing

• Gropp - Using MPI

• Culler - Parallel Computer Architeture a HardwareSoftware approach

• Papers

RSS-10/03 – p.7/31

Page 8: Computação de Alto Desempenho Clusters de PCs

Processamento de Alto Desempenho

Aula - 01

RSS-10/03 – p.8/31

Page 9: Computação de Alto Desempenho Clusters de PCs

Conteúdo

• Introdução• unidades

• Objetivos:• Porque da computaçãoo de alto desemepenho• Porque das máquinas paralelas

RSS-10/03 – p.9/31

Page 10: Computação de Alto Desempenho Clusters de PCs

Unidades

• Flop/s - Floating point operations / second

• Operações de ponto flutuante por segundo

• 1Mflop/s - 1 Megaflop/s - 10ˆ6 Flop/s

• 1 Gflop/s - 1 Gigaflop/s - 10ˆ9 Flop/s

• 1 Tflop/s - 1 Teraflop/s - 10ˆ12 Flop/s

• 1 Pflop/s - 1 Pentaflop/s - 10ˆ15 Flop/s

RSS-10/03 – p.10/31

Page 11: Computação de Alto Desempenho Clusters de PCs

Porque da Computaçãoo de alto Desempenho

• Modelagem de problemas reais

• difícil o uso de modelos analí;ticos

• sujeitos a simplificações

• de difícil solução

• métodos experimentais

• modelos em escala reduzida

· distância entre os átomos não pode ser reduzida

• técnicas não destrutivas (biológicos)

• para medir pertuba-se o experimento

• custo dos laboratários

• perigo (biológicos e químicos)

RSS-10/03 – p.11/31

Page 12: Computação de Alto Desempenho Clusters de PCs

Grand Challenge

RSS-10/03 – p.12/31

Page 13: Computação de Alto Desempenho Clusters de PCs

Exemplos

• V/STOL (vertical /short take-off and landing)

• Harrier (1950)

• vetorização

• analisar:

• estrutura ( cargas areodinâmicas)

• motores

• efeito do solo

• 1991 - 2.8 milhões de pontos - 40h Cray Y-MP - 5 milhõ;es

de pontos 10 - 1 h

• 30 - 300 Gflop/s (sustentado)RSS-10/03 – p.13/31

Page 14: Computação de Alto Desempenho Clusters de PCs

Obs.:

Pico x Sustentado

• Desempenho de Pico (peak performance)• Aquilo que vc nunca vai ter !!!• Oferecido pelos fabricantes

• Desempenho Sustentado (sustained performance)• aquilo que vc realmente consegue !!!!• depende da aplicação (algoritimo)• depende da máquina

RSS-10/03 – p.14/31

Page 15: Computação de Alto Desempenho Clusters de PCs

300 Gflop/s ?

• Como se consegue chegar a esse patamarsustentado ???????

• Explorando Paralelismo em diferentes níveis.• Nivel de instruçãoo - mais baixo nível• Nível de arquitetura (cooperação) - mais alto

nível

RSS-10/03 – p.15/31

Page 16: Computação de Alto Desempenho Clusters de PCs

Ex.:

F18-A

8 anos (70)

35.000 hr túnel de vento

≈ 0 CPU

YF-23

8 anos (86)

5.500 hr túnel de vento

15.000 hr CPU

RSS-10/03 – p.16/31

Page 17: Computação de Alto Desempenho Clusters de PCs

Evolução dos Processadores

• Tecnologia VLSI (very large scale integration)• maior número de elementos no chip• reorganizar os recursos para permitir que mais

operações sejam feitas ao mesmo tempo

• Tecnologias de armazenamento• é necessário armazenar os dados em algum

lugar• acesso rápido• localidade*

RSS-10/03 – p.17/31

Page 18: Computação de Alto Desempenho Clusters de PCs

Evolução dos Processadores

RSS-10/03 – p.18/31

Page 19: Computação de Alto Desempenho Clusters de PCs

SPEC

• System Performance Evaluation Cooperative

• Iniciativa de alguns frabicantes (SUN, HP) paranormalizar os benchmarks.

RSS-10/03 – p.19/31

Page 20: Computação de Alto Desempenho Clusters de PCs

Limitações

• O aumento do desempenho não pode ser infinito• mesmo do paralelismo do nível de instrução• limitações das máquinas seriais

• Limitações• Física - velocidade da luz• tecnológica - retirada de calor

RSS-10/03 – p.20/31

Page 21: Computação de Alto Desempenho Clusters de PCs

Ex.:

• hipótese: Máq. sequencial com 1TFlop/s e 1Tbytede armazenamento

• para manter funcionando a plena carga.

s =v

∆t=

3 × 108

1012= 0.3mm

• Memória - forma matricial

• 106 x 106 bytes

• cada byte ocupa 3 Angstrons

• tamanho de um átomo pequeno

CPU

RAM s

RSS-10/03 – p.21/31

Page 22: Computação de Alto Desempenho Clusters de PCs

Máquinas Paralelas

• Explorando o paralelismo em mais alto nível

• criando máquinas com arquitetura paralela

• é um conceito antigo (58,59), faltou tecnologia !

• Quando se tem uma grande carga para puxar émais fácil colocar mais um boi do que criar um boigigante

• A união faz a força

RSS-10/03 – p.22/31

Page 23: Computação de Alto Desempenho Clusters de PCs

RSS-10/03 – p.23/31

Page 24: Computação de Alto Desempenho Clusters de PCs

Máq. Paralelas

Def.: "Máq. Paralela é um conjunto de processadores

que se comunicam e cooperam para a

resolução de um problema de grande porte"

Almasi e Gottelib 1989

RSS-10/03 – p.24/31

Page 25: Computação de Alto Desempenho Clusters de PCs

Algumas Questões

• Quantos processadores ?

• Qual a potência de cada processador ?

• Como eles cooperam ?

• Como os dados são transmitidos ?

• Qual o desempenho ?

• Escalável ? ( processadores x tamanho)

RSS-10/03 – p.25/31

Page 26: Computação de Alto Desempenho Clusters de PCs

Outros Usos

• Não só o fato de rodar mair rápido

• Mas rodar problemas de grande porte ( Tbytes deRAM)

• Aumento da capacidade de recursos• Processadores• Memória• largura de banda de I/O• grandes bancos de dados• servidores de Web

RSS-10/03 – p.26/31

Page 27: Computação de Alto Desempenho Clusters de PCs

Económicas:

• custo dos processadores é muito mais baixo

• o investimento ainda é grande mas são vendidosmuito mais que os supercomputadores

• ex.: servidores

• principalmente com os clusters

SC

Servidores

Estações

PC’s

5%

RSS-10/03 – p.27/31

Page 28: Computação de Alto Desempenho Clusters de PCs

Paralela x Distribuída

• Paralela

• "fortemente" conectada

• construída com esse objetivo

• comunicaçãoo, sistema operacional,...

• Ex.: Massive Parallel Processors (MPP)

• Ex.: clusters de estações de trabalho (COW)

• Clusters de PC’s

• Distribuída

• coleção de máquinas que trabalham em conjunto

• fortemente dependentes da rede

• heterogêneas (proc., sistemas operacionais,...)

• Ex.: Metacomputing (grid), redes, ciclos osciossos

RSS-10/03 – p.28/31

Page 29: Computação de Alto Desempenho Clusters de PCs

Mas realmente funciona ?

Lista Top500 RSS-10/03 – p.29/31

Page 30: Computação de Alto Desempenho Clusters de PCs

Conceitos Básicos

• Concorrencia - paralelismo

• Escalabilidade****

• Localidade

• Sincronizacao

• comunicacao - trafego

• latencia

• largura de banda (bandwitdh)

• balanceamento de carga (heterogeneo)

RSS-10/03 – p.30/31

Page 31: Computação de Alto Desempenho Clusters de PCs

Por def. são sistemas mais complexos que os seriais

exigem tempo e conhecimento

RSS-10/03 – p.31/31