Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.