1 / 17

0. Introdução

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

zlhna
Download Presentation

0. Introdução

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 0. Introdução

  2. Docentes • Prof. Paulo Marques • Dep. Eng. Informática, Univ. Coimbra • pmarques@dei.uc.pt • Prof. Luís Silva • Dep. Eng. Informática, Univ. Coimbra • luis@dei.uc.pt • Página web da disciplina: • http://pmarques.dei.uc.pt/index.php/ASPD

  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

  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? • Trabalhando de forma mais inteligente(i.e. usando algoritmos melhores) • Trabalhando mais rapidamente(i.e. comprando um processador/memória mais rápido) • Dividindo o trabalho(i.e. colocando vários processadores/computadores a trabalhar)

  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!

  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.

  7. BlueGene/L – O Computador Mais Rápido do Mundo • 360 TFLOPS • 65,536 Dual-ProcessorNodes • 32TB de RAM • Linux SLES

  8. TOP 500 (www.top500.org)

  9. Com custos mais baixos…

  10. Um pequeno vídeo…

  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

  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ências 1ª Frequência: Quinta-feira, 9 de Agosto 2ª Frequência: Fevereiro • Trabalhos Práticos Trabalho 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

  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

  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

  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

  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

  17. Let’s Do It!

More Related