A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Computação Numérica e Programação Distribuída

Apresentações semelhantes


Apresentação em tema: "Computação Numérica e Programação Distribuída"— Transcrição da apresentação:

1 Computação Numérica e Programação Distribuída
SIADM Nuno Pereira ESTIG - ADM

2 Conteúdo da Apresentação
Computação Numérica Porquê? Como? Onde? Problemas. Tendências. Programação Distribuída Porquê? Como? Modelos. Metodologia. Problemas. Evolução. Ferramentas. Aplicações. SIADM - Computação Numérica e Programação Distribuída

3 Computação Numérica: Porquê?
Modelos matemáticos complexos Problemas sem solução analítica Ex.: Equações diferenciais. Elevado número de equações Ex.: Simulação de sistemas de partículas. Quantidade de dados elevada Ex.: Inversão de uma matriz de 10000x10000. SIADM - Computação Numérica e Programação Distribuída

4 Computação Numérica: Como?
SIADM - Computação Numérica e Programação Distribuída

5 Computação Numérica: Como?
Utilização de métodos numéricos: Resolução de equações não-lineares. Integração e diferenciação. Sistemas de equações lineares e não-lineares. Equações diferenciais (ordinárias e parciais). Interpolação e extrapolação. SIADM - Computação Numérica e Programação Distribuída

6 Computação Numérica: Como?
Ferramentas de Cálculo Numérico: Mathematica © Axiom © Mapple © Gauss © MatLab © Bibliotecas de Funções NAG © LAPACK © LINPACK © SIADM - Computação Numérica e Programação Distribuída

7 Computação Numérica: Onde? Investigação Científica
Astrofísica Formação e evolução de um enxame de galáxias SIADM - Computação Numérica e Programação Distribuída

8 Computação Numérica: Onde? Investigação Científica
Cosmologia Evolução de larga escala. Simulação de 17 milhões de partículas num cenário CDM. SIADM - Computação Numérica e Programação Distribuída

9 Computação Numérica: Onde? Investigação Científica
Visualização Rotação de 16.7 milhões de partículas numa caixa de 100 Mpc (simul. CDM) SIADM - Computação Numérica e Programação Distribuída

10 Computação Numérica: Onde? Investigação Científica
Química Dinâmica Molecular Ex: Simulação do bombardeamento de uma superfície de Si por fluoreno (5 KeV). hppt://cnlswww.lanl.gov/ ~deardm/MolecularDynamics/ index.html SIADM - Computação Numérica e Programação Distribuída

11 Computação Numérica: Onde? Investigação Científica
Química Dinâmica Molecular Ex.: Impacto (500 eV) de fluoreno em grafite (C60) SIADM - Computação Numérica e Programação Distribuída

12 Computação Numérica: Onde? Investigação Científica
Bioquímica Métodos computacionais para estudo de processos de catálise de enzimas gov/hpcc/proj-1.html SIADM - Computação Numérica e Programação Distribuída

13 Computação Numérica: Onde? Investigação Científica
Geofísica: Modelos do Clima Ex: Modelo de Circulação Geral da Atmosfera (Meteorological Research Institute) SIADM - Computação Numérica e Programação Distribuída

14 Computação Numérica Problemas de Atitude
“We assume that because a problem is familiar, it is no longer a problem.” Guckenheimer [2]. Simulações complexas supondo que os métodos são fiáveis ! Utilização de bibliotecas numéricas como produtos acabados. Necessidade de continuar a investigar algoritmos. SIADM - Computação Numérica e Programação Distribuída

15 Computação Numérica Problemas na Abordagem
As questões de análise numérica não são consideradas centrais: Para alguns matemáticos são inferiores à demonstração de teoremas. Os cientistas da computação dedicam a sua atenção a problemas de linguística e de tecnologia de informação. Os cientistas computacionais de outras disciplinas acreditam que a “Lei de Moore” resolverá os seus problemas. SIADM - Computação Numérica e Programação Distribuída

16 Computação Numérica Problemas nas simulações
Simulações ambiciosas: Modelo global do clima. Automóvel completo. Redes de energia eléctrica. Batalhas militares. Mercado de acções. Cérebro humano. Universo. Obstáculos: Interacção entre Subsistemas. Multiplicidade de Escalas. Efeito de Incerteza. SIADM - Computação Numérica e Programação Distribuída

17 Computação Numérica Problemas nas simulações
SIADM - Computação Numérica e Programação Distribuída

18 Computação Numérica Tendências
Presente: Previsões quantitativas das modernas teorias. Futuro: Modelos computacionais como modo dominante de expressão de teorias científicas. Posicionamento: reforço nas ciências da computação; essencial para o reforço destas junto das ciências e tecnologia. Praticar Computação Numérica com consciência. SIADM - Computação Numérica e Programação Distribuída

19 Computação Numérica Problemas não numéricos associados
Ordenação de dados Aplicações estatísticas. Geração de Malhas Mecânica de estruturas e dinâmica de fluidos (elementos finitos). Movimentação de dados no computador Limitação da velocidade de cálculo Computação Distribuída  SIADM - Computação Numérica e Programação Distribuída

20 Computação Distribuída: Porquê? “Dividir para Reinar”
Distribuir o domínio de computação por vários Elementos Processadores. Distribuir a carga computacional por vários EP’s SIADM - Computação Numérica e Programação Distribuída

21 Computação Distribuída: Como? Modelos de Programação Distribuída [1]
“Message Passing” Criação de múltiplas tarefas com dados locais que comunicam através de mensagens. “Data Paralelism” Explora a aplicação da mesma operação vários elementos de uma estrutura de dados. “Shared Memory” Todas as tarefas partilham o mesmo espaço de endereçamento. SIADM - Computação Numérica e Programação Distribuída

22 Computação Distribuída Metodologia (PCAM) [1]
Partição do problema Identificar oportunidades de paralelização. Comunicação Definição das estruturas de comunicação para a execução da tarefa. Aglomeração de tarefas Optimizar a eficiência (atendendo à classe do modelo). Mapeamento Distribuição das tarefas por processador. SIADM - Computação Numérica e Programação Distribuída

23 Computação Distribuída: Problemas.
Objectivos a cumprir Escalabilidade Eficiência Balanço de Esforço computacional. Portabilidade. “Lei de Amdahl” O aumento de velocidade está limitado pela componente sequencial. Comunicação entre processadores Largura de banda Tempos mortos. SIADM - Computação Numérica e Programação Distribuída

24 Computação Distribuída Ferramentas de desenvolvimento
PVM: Parallel Virtual Machine [1]. MPI: Message Passing Interface [1]. Disponíveis para Linux [3], [4]. DIPC Integrado em futuras versões de Linux [5]. Compositional C++ Fortran M extensões para programação dist. [1]. HPF: High Performance Fortran extensão do F90. SIADM - Computação Numérica e Programação Distribuída

25 Programação Distribuída: Evolução
Informação retirada de [6] correspondente a 34 máquinas já não disponíveis comercialmente. SIADM - Computação Numérica e Programação Distribuída

26 Programação Distribuída: Evolução
Mercado altamente competitivo. Menos recursos financeiros para adquirir sistemas. Relação preço/desempenho está a baixar. SIADM - Computação Numérica e Programação Distribuída

27 Programação Distribuída: Um exemplo: CM-2
Thinking Machines Corporation Ano de introdução:1987 Ano de saída: 1991 Número máximo de processadores: 64K Velocidade de pico (teórica): 31 GFlop/s Referência [6]. SIADM - Computação Numérica e Programação Distribuída

28 Computação Distribuída: Aplicações.
Engenharia Aeroespacial. Análise e Modelação Comercial. Engenharia do Ambiente. Tecnologia Médica. Indústria dos Combustíveis. Processos Industriais. Visualização e Multimédia (video servers). SIADM - Computação Numérica e Programação Distribuída

29 Computação Distribuída: Aplicações
UFAT: Usteady Flow Analysis Toolkit Simulações numéricas 3D de fluxos não estacionários. CFD: “Computational fluid dynamics”. FAST: Flow Analysis Software Toolkit Análise de dados de de simulações de CFD. Construção de objectos 3D e animação. SIADM - Computação Numérica e Programação Distribuída

30 Computação Distribuída: Aplicações Engenharia Aeronáutica
Simulação numérica do fluxo em torno de uma asa delta. SIADM - Computação Numérica e Programação Distribuída

31 Computação Distribuída: Aplicações Aeronáutica
Simulação numérica do fluxo nas pás de um V-22. SIADM - Computação Numérica e Programação Distribuída

32 Computação Distribuída: Aplicações Engenharia Aeroespacial
FEL: Field Encapsulation Library Representação de campos e malhas. Ex.: Campo de pressão e isolinhas. SIADM - Computação Numérica e Programação Distribuída

33 SIADM - Computação Numérica e Programação Distribuída
Computação Distribuída: Aplicações Simulações CFD - Visualização de dados VWT: Virtual Windtunnel Utilização da tecnologia de realidade virtual para visualização de resultados de CFD. SIADM - Computação Numérica e Programação Distribuída

34 SIADM - Computação Numérica e Programação Distribuída
Desafios do Futuro Programação: Desenvolvimento de Algoritmos Distribuídos Ferramentas de apoio ao programador Ambientes de trabalho distribuídos Sistemas operativos distribuídos “Hardware” Arquitecturas distribuídas Redes de elevada largura de banda “Hardware” específico Ex.: GRAPE para simulação de sistemas de partículas. SIADM - Computação Numérica e Programação Distribuída

35 Conclusões Programação Distribuída
“Futuro” da computação: Aplicações científicas e comerciais. Investigação: Pura e aplicada. Oportunidades de trabalho: Científico e comercial. SIADM - Computação Numérica e Programação Distribuída

36 SIADM - Computação Numérica e Programação Distribuída
Referências [1] Foster, I.: Designing and Building Parallel Programs. Addison-Wesley, 1994. [2] Guckenheimer, J.: Numerical Computation In the Information Age. SIAM NEWS, June 1998. [3] Konchady, M.: Parallel Computing Using Linux. Linux Journal, 78-81, Jan [4] Sevenich, R. A.: Parallel Processing using Linux. Linux Journal, 14-18, Jan 1998. [5] Sharifi, M., Karimi, K.: DIPC: The Linux Way of Distributed Programming. ---Linux Journal, 10-17, Jan [6] Van der Steen, A. J.: Overview of recent supercomputers. National Computing Facilities Foundation, The Netherlands, 1998. SIADM - Computação Numérica e Programação Distribuída


Carregar ppt "Computação Numérica e Programação Distribuída"

Apresentações semelhantes


Anúncios Google