17
Arquitectura de Sistemas Paralelos e Distribuídos Paulo Marques Dep. Eng. Informática – Universidade de Coimbra [email protected] Ago/2007 0. Introdução

0. Introdução

  • Upload
    zlhna

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

0. Introdução. Docentes. Prof. Paulo Marques Dep. Eng. Informática, Univ. Coimbra [email protected] Prof. Luís Silva Dep. Eng. Informática, Univ. Coimbra [email protected] Página web da disciplina: http://pmarques.dei.uc.pt/index.php/ASPD. Introdução – Grandes Desafios Computacionais. - PowerPoint PPT Presentation

Citation preview

Page 1: 0. Introdução

Arquitectura de Sistemas Paralelos e Distribuídos

Paulo MarquesDep. Eng. Informática – Universidade de [email protected]

Ago

/200

7

0. Introdução

Page 2: 0. Introdução

2

Docentes

Prof. Paulo Marques Dep. Eng. Informática, Univ. Coimbra [email protected]

Prof. Luís Silva Dep. Eng. Informática, Univ. Coimbra [email protected]

Página web da disciplina: http://pmarques.dei.uc.pt/index.php/ASPD

Page 3: 0. Introdução

3

Introdução – Grandes Desafios Computacionais

Existem problemas que não se conseguem resolver com computadores normais Desenvolvimento de drogas para combater doenças

(e.g. HIV, Malária) Simulação de modelos climatéricos Simulação e previsão de tremores de terra Física planetária e exploração espacial Desenvolvimento de circuitos electrónicos Estado de arsenais nucleares

Page 4: 0. Introdução

4

Abordagens

Tenho um programa que demora 7 dias a executar. Este tempo é demasiado longo para que o programa me seja útil. Como é que o consigo fazer correr num dia?

1. Trabalhando de forma mais inteligente(i.e. usando algoritmos melhores)

2. Trabalhando mais rapidamente(i.e. comprando um processador/memória mais rápido)

3. Dividindo o trabalho(i.e. colocando vários processadores/computadores a trabalhar)

Page 5: 0. Introdução

5

O que vamos fazer?

Nesta cadeira estamos interessados na 3ª abordagem: Dividir o trabalho por vários

processadores/computadores! Não queremos perder demasiado tempo a pensar numa

solução mais rápida ou gastar demasiado $$$ numa máquina maior/mais rápida.

Porquê? Pode não ser possível encontrar algoritmos mais rápidos Máquinas mais rápidas são tipicamente muito caras Existem muitos computadores disponíveis nas

instituições (especialmente à noite) Existem empresas que vendem tempo de processamento Usar diversos processadores permite resolver problemas

maiores!

Page 6: 0. Introdução

6

Motivação

“Usar diversos processadores permite resolver problemas maiores”?!

“9 mulheres não conseguem ter um bebé num mês, mas conseguem ter 9 bebés em 9 meses”

(Forma informal de exprimir a lei de Gustafson-Barsis)

O que isto quer dizer é que existe uma quantidade imensa de paralelismo disponível quando se tentam resolver problemas maiores.

Embora uma tarefa individual possa não correr mais rápido, é possível resolver várias simultaneamente gastando o mesmo tempo.

Page 7: 0. Introdução

7

BlueGene/L – O Computador Mais Rápido do Mundo

360 TFLOPS 65,536 Dual-Processor

Nodes 32TB de RAM Linux SLES

Page 8: 0. Introdução

8

TOP 500 (www.top500.org)

Page 9: 0. Introdução

9

Com custos mais baixos…

Page 10: 0. Introdução

10

Um pequeno vídeo…

Page 11: 0. Introdução

11

Plano

Agosto Arquitecturas e hardware de sistemas de alto desempenho Aspectos quantitativos do desenvolvimento de aplicações

paralelas (Lei de Amdal e Lei de Gustafson-Barsis) Modelos de programação de sistemas de alto desempenho Estratégias básicas para paralelização de aplicações Programação em memória partilhada com OpenMP

Fevereiro Programação paramétrica usando Condor Programação de sistemas de memória distribuída: MPI Sistemas de computação Grid Sistemas de ficheiros distribuídos e paralelos

Page 12: 0. Introdução

12

Avaliação

Duas frequências (70%) Dois trabalhos práticos (20%)

(Agosto) Programação com OpenMP (Fevereiro) Programação com MPI

Um trabalho de pesquisa (10%) (Agosto) Relatório sobre um tema de computação

concorrente/paralela

Frequências1ª Frequência: Quinta-feira, 9 de Agosto2ª Frequência: Fevereiro

Trabalhos PráticosTrabalho de Pesquisa: Sábado, 10 de Agosto

(início imediato)1º Trabalho: Sexta-feira, 31 de Agosto

(início do trabalho no final desta semana)

2º Trabalho: Fevereiro

Page 13: 0. Introdução

13

Trabalho de Pesquisa

Possíveis Tópicos: Grid Computing: O que é, como funciona? Cluster Computing: O que é, como funciona? Os mais poderosos computadores do mundo Utilização de placas gráficas para computação paralela Utilização de consolas de jogos para computação paralela Poderão sugerir um tópico

Grupos de dois alunos Relatório escrito, com cerca de 5-10 páginas CUIDADO com o plágio

Não podem copiar-e-colar frases da internet, directamente

Atribuir sempre as referências aos autores

Page 14: 0. Introdução

14

Bibliografia

Slides da Disciplina

“Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers”, Barry Wilkinson, Michael Allen, C. Michael Allen, Prentice Hall, March 2004

“MPI, The Complete Reference, Vol. 1: The MPI Core”, Marc Snir et. al., 2nd ed., September 1998

“OpenMP C/C++ Application Programming Interface”, Version 2.0, March 2002

Page 15: 0. Introdução

15

Aviso

O conteúdo dos slides utilizados nas aulas provém de diversas fontes. Em particular: Prof. Paulo Marques, Universidade de Coimbra Prof. Luís Silva, Universidade de Coimbra Prof. Filipe Araújo, Universidade de Coimbra Prof. Patrício Domingues, Instituto Politécnico de Leiria

Outros conteúdos provêm dos recursos de seguida indicados, assim como diversas fontes na web

Os respectivos direitos de cópia pertencem aos respectivos autores

Page 16: 0. Introdução

16

Recursos

Lawrence Livermore National Laboratory (LLNL):(http://www.llnl.gov/computing/training/index.html) Introduction to Parallel Computing Message Passing Interface (MPI) OpenMP

Edinburgh Parallel Computing Center (EPCC):(http://www.epcc.ed.ac.uk/computing/training/document_archive/) Decomposing the Potentially Parallel Course Writing Message-Passing Parallel Programs with MPI

Intel Corporation & Purdue University:(http://www.openmp.org/presentations/index.cgi?sc99_tutorial) OpenMP: An API for Writing Portable SMP Application

Software, a tutorial presented at Super Computing’99 by Tim Mattson & Rudolf Eigenmann

Page 17: 0. Introdução

17

Let’s Do It!