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

Slides:



Advertisements
Apresentações semelhantes
Sumário Exercícios
Advertisements

Programa das Aulas 20/09/05 - Apresentação da disciplina
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
DESENHO INDUSTRIAL ASSISTIDO POR COMPUTADOR
Amintas engenharia.
Lógica de Programação APRESENTAÇÃO DA DISCIPLINA Prof.° Paulo Tong Prof.° Paulo Universidade Estácio.
MÁQUINAS UNIVERSAIS Fabrício Dias
1 As Tecnologias da Informação na Administração Pública Indicadores Estatísticos Instituto de Informática Rosa Maria Peças Conferência A acessibilidade.
Rational Unified Process
Pós Graduação em Saneamento e Meio Ambiente
Protótipo de Simulador de Elevadores
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Geração Assistida de Diagramas Esquemáticos de Rede Eléctrica
Propagação de Ondas e Antenas
Metodologia Científica e Tecnológica
Cálculo Numérico Módulo I Ferramentas de Suporte
Introdução Cálculo Numérico Profs.: Bruno C N Queiroz
Guilherme Augusto Marques Araujo
Engenharia e Segurança do Trabalho
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Sistemas Distribuídos e Redes de Computadores
Rganização de Computadores Multiprocessadores Capítulo 9 – Patterson & Hennessy Organização de Computadores Multiprocessadores Capítulo 9 – Patterson &
Estudo de Caso 1: UNIX e LINUX
Faculdade de Medicina de Marília Disciplina de Informática em Saúde 1/20 O papel do Bibliotecário Frente às Tendências Tecnológicas e sua Relação com a.
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Carlos Alberto de Freitas Pereira Júnior
Experiments with Strassen’s Algorithm: from sequential to parallel
1 APLICAÇÃO DA VISUALIZAÇÃO CIENTÍFICA À OCEANOGRAFIA Representação da agitação marítima no porto de Leixões Disciplina de Visualização Científica Mestrado.
ESTATÍSTICA.
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Festo Didactic - BR H510 Automação Hidráulica.
DFD – Data Flow Diagram Diagrama de Fluxo de Dados
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap. 12.
Momentos de Inércia Cap. 10
Dinâmica do Movimento Plano de um Corpo Rígido: Força e Aceleração
MECÂNICA - DINÂMICA Cinemática Plana de um Corpo Rígido Cap. 16.
Cinemática Plana de um Corpo Rígido Cap. 16
Resultantes de Sistemas de Forças Cap. 4
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Cinética Plana de uma Partícula: Força e Aceleração Cap. 13
Object Oriented Software Construction (MEYER, Bertrand)
Engenharia Civil e Ambiente ANÁLISE ESTRUTURAL, 5 de Dezembro / 33 ANÁLISE ESTRUTURAL ENGENHARIA CIVIL E AMBIENTE.
Sistemas de Informação e Modelação em Ambiente
Algoritmos Culturais.
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Engenharia Elétrica ANTENAS E PROPAGAÇÃO Parte 2 Nono Semestre
Salas de Matemática.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
PROBLEMAS DE TRANSPORTE
EXERCÍCIOS PARA GUARDA-REDES
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
1 2 Observa ilustração. Cria um texto. Observa ilustração.
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
1 Desenvolvimento de Software na ENT Joaquim Jorge F. Nunes.
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
Preleções Científicas Universidade Estadual do Ceará Pró-Reitoria de Extensão Integrais Múltiplas e Integrais de Volume Ministrante: Prof. K. David Sabóia.
1 Workshop de introdução à responsabilidade País, Mês de 20XX A Viagem de Ahmed.
Resolução de sistemas de equações lineares
Introdução a Engenharia de Alimentos
1 Segunda fase do projeto: Desenvolvimento do “Catálogo Virtual” Foco em Sistemas de Informação Desenvolvimento baseado no diagnóstico e na interação com.
Cinemática Plana de um Corpo Rígido Cap. 16
Técnicas de Localização para Robôs em Ambientes Internos Claudia Patricia Ochoa Díaz Mestrado em Sistemas Mecatrônicos UnB
GINÁSTICA LABORAL UM NOVO CAMINHO.
Métodos de Computação Paralela em Álgebra Linear Mestrado em Matemática Computacional Universidade do Minho.
Métodos de Computação Paralela em Álgebra Linear
Sistemas Distribuidos
Transcrição da apresentação:

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

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

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

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

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

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

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

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. http://www.lanl.gov SIADM - Computação Numérica e Programação Distribuída

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) http://www.lanl.gov SIADM - Computação Numérica e Programação Distribuída

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

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

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

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) http://mriim1.mri-jma.go.jp SIADM - Computação Numérica e Programação Distribuída

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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). http://epcc.ed.ac.uk SIADM - Computação Numérica e Programação Distribuída

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. http://science.nas.nasa.gov/Software SIADM - Computação Numérica e Programação Distribuída

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

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

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

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

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

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

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. 1998. [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. 1999. [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