DESENVOLVIMENTO E IMPLEMENTAÇÃO DE UM MÉTODO DE ELEMENTOS FINITOS PARALELO PARA ANÁLISE NÃO LINEAR DE ESTRUTURAS



Documentos relacionados
1.1. Definição do Problema

Engenharia de Software. Ciclos de Vida do Software. 1. Sistemas

Prof a Andréa Schwertner Charão DELC/CT/UFSM

MODELAGEM MATEMÁTICA DE UM SISTEMA DE DISTRIBUIÇÃO DE ENERGIA ELÉTRICA EM MÉDIA TENSÃO 1. Gabriel Attuati 2, Paulo Sausen 3.

Integralização do Curso Nova grade de Ciência Proposta

Evolução da Computação de Alto Desempenho na Ótica da Lista. ou (Se um processador já é rápido, imaginem um sistema com processadores :-)

RESOLUÇÃO. Artigo 2º - O Curso, ora criado, será oferecido no turno noturno, com 10 semestres de duração e com 50 vagas iniciais.

FUNDAMENTOS DE SISTEMAS OPERACIONAIS MÓDULO 4

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

LÓGICA E ROBÓTICA PRIMEIRAS IMPRESSÕES

Bacharelado em Ciência da Computação 2009

Informática Aplicada

OpenPDV: Sistema aberto para gerenciamento de restaurantes

RESOLUÇÃO N o RESOLVE

Processo de Desenvolvimento de Software

OBSERVAÇÕES: EXERCÍCIOS

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

EMENTA. Curso de Projetos Microcontrolados utilizando Linguagem C.

Instalando o Linux e outros Softwares

Histórico e Evolução da Computação

Avaliação e Desempenho Aula 1 - Simulação

EXPLORANDO A RESOLUÇÃO DE PROBLEMAS COM O MAPLE

Sistemas Distribuídos Capítulo 4 - Aula 5

Montadores e Compiladores

ESTUDO COMPARATIVO ENTRE LÂMPADAS FLUORESCENTES E LED APLICADO NO IFC CAMPUS LUZERNA

TOKEN RING & TOKEN BUS

Apostila de GSO Gestão de Sistemas Operacionais I

Engenharia de Software

SIG. USANDO A TECNOLOGIA COMO SUPORTE Tecnologias de Apoio

Tipos de Software e Ambientes de Processamento

Orientações Para o Preenchimento do Formulário de Inscrição Preliminar dos Projetos

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V

Linguagens de Programação:

Sistemas de Tempo Real

Manutenção total aplicada em ferramentarias

2 MATERIAL E MÉTODOS

Projeto e implementação de um sistema de levitação magnética microcontrolado

Objetivos. Arquitetura x86. Evolução dos Microprocessadores com arquitetura x86. Universidade São Judas Tadeu. Introdução à Computação

1. Estrutura de Dados

FATORES QUE INFLUENCIAM A VELOCIDADE DA INTERNET

Estruturas de Repetição

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula

Linux e Computação Científica

Planejamento da Disciplina Controle e Servomecanismos II

O SOFTWARE LIVRE COMO FERRAMENTA DE ENSINO

DESENVOLVIMENTO E IMPLEMENTAÇÃO DE ESTRATÉGIAS NUMÉRICAS PARA A ANÁLISE DINÂMICA NÃO-LINEAR DE RISERS UTILIZANDO O MEF

INTRODUÇÃO À INFORMÁTICA

BARRAMENTO. Caminho de Dados

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Monitorização de Energia

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

Motivação Este trabalho apresenta o desenvolvimento do controle da interatividade num sistema para a área de computação gráfica, mais especificamente

Estudo de um caso real de migração de banco de dados de sistemas transacionais para Data Warehouse

Fundamentos de Arquitetura e Organização de Computadores

Sistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Metodologias de Programação

Arquiteturas para Sistemas Distribuídos I

Trabalho sobre Topologia de Redes

SÍNTESE PROJETO PEDAGÓGICO

UNIVERSIDADE CATÓLICA DO SALVADOR CURSO DE BACHARELADO EM INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA

CURSO: Engenharia de Controle e Automação Campus Praça XI Missão

Normas para a elaboração de um relatório. para a disciplina de projecto integrado. 3.º ano 2.º semestre. Abril de 2004

PESQUISA OPERACIONAL: NA TOMADA DE DECISÕES ADMINISTRATIVA

Virtualização de Servidores. Adirlhey Assis Marcus Vinicius Coimbra

Modelos de Ciclo de Vida de Software

Índice 1. CONTEXTO OBJETIVOS CRONOGRAMA REFERÊNCIAS ASSINATURAS

COMO DETERMINAR O IMPACTO DAS VARIAÇÕES PERCENTUAIS

BIBLIOTECA PARA CAPTURA DE PACOTES VISANDO ANÁLISE DO NÍVEL DE APLICAÇÃO

Plano de Teste. Arndt von Staa Departamento de Informática PUC-Rio Maio 2014

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

Arquitetura e Organização de Computadores. Profa. Débora Matos

Relatório Técnico: Descrição do algoritmo para pesquisa automática dos egressos do curso de Ciência da Computação

6 CONCEPÇÃO BÁSICA DO SISTEMA DE APOIO À DECISÃO

Ano lectivo / Anual Época Especial

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

Protótipo de um túnel de vento com Controle de Vazão e Temperatura em ambiente LabVIEW

Conteúdo. 1 Introdução. Histograma do Quinto Sorteio da Nota Fiscal Paraná 065/16. Quinto Sorteio Eletrônico da Nota Fiscal Paraná

Conteúdo. 1 Introdução. Histograma do 1o Sorteio da Nota Fiscal Paraná 152/15. 1º Sorteio Eletrônico da Nota Fiscal Paraná

MATA49 Programação de Software Básico

Introdução à Ciência da Informação

Melhorias de Processos segundo o PDCA Parte IV

HouseManager - Projeto de Automação Residencial

Capítulo 6 Sistemas Computadorizados de Auxílio ao Diagnóstico Médico

ANEXO 3 GERENCIAMENTO DE MODIFICAÇÕES

Introdução aos Sistemas Operacionais

1) O que é Não-Linearidade?

Análise do balanceamento de uma linha de produção em uma empresa de autopeças

Introdução. Software Básico Aula 3. Prof. Dr. Rogério Vargas.

1. Noção de algoritmo

Projeto CONDIGITAL Representações Gráficas Guia do Professor

PRODUÇÃO CIENTÍFICA DOS PESQUISADORES DA UEL, NA ÁREA DE AGRONOMIA: TRABALHOS PUBLICADOS EM EVENTOS DE 2004 A 2008.

PLANEJAMENTO SIMPLIFICADO DE PROJETOS

- Campus Salto. Disciplina: Sistemas Operacionais Docente: Fernando Santorsula

Modelagem de Transformadores para Estudos dos Esforços Eletromecânicos Causados pela Corrente de Curto-Circuito

Introdução. Hardware (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

REDES MPLS Engenharia de Tráfego (TE)

Transcrição:

ISSN 1809-5860 DESENVOLVIMENTO E IMPLEMENTAÇÃO DE UM MÉTODO DE ELEMENTOS FINITOS PARALELO PARA ANÁLISE NÃO LINEAR DE ESTRUTURAS Célia Leiko Ogawa Kawabata 1, Wilson Sergio Venturini 2 & Humberto Breves Coda 3 Resumo Este projeto de pesquisa se insere no contexto de desenvolvimento de formulações numéricas para problemas de engenharia de estruturas que os pesquisadores Wilson S. Venturini e Humberto B. Coda vêm desenvolvendo no Departamento de Engenharia de Estruturas da EESC. Nesse projeto foi paralelizado um algoritmo que utiliza o método de elementos finitos. Utilizou-se MPI e os testes foram feitos em um cluster com 12 nós de processamento. Obteve-se bom desempenho nesse algoritmo e agora se pretende paralelizar o método de elementos de contorno e disseminar aos demais membros do grupo a utilização de computação paralela. Palavras-chave: Sistemas distribuídos. Programação paralela. Método dos Elementos Finitos. Ambiente de passagem de mensagem. DEVELOPMENT OF A PARALLEL SOFTWARE FOR A DYNAMICAL NON- LINEAR GEOMETRICAL ANALYSIS OF STRUCTURES Abstract This research project deals with the development and implementation of numerical formulations for structural engineering problems that the researches Wilson S. Venturini and Humberto B. Coda have been developing in the Structural Engineering Department of EESC. The parallelized algorithm uses the finite element method. The message passing interface adopted is MPI and tests were carried out in a 12 nodes cluster. We achieved good performance and then we intend to parallelize the boundary element method and spread the parallel computing to the others members of the group. Keywords: Distributed systems. Parallel programming. Finite Elements Method. Message passing environment. Linha de Pesquisa: Métodos Numéricos 1 INTRODUÇÃO A utilização de programas paralelos é um caminho natural para aproveitar melhor o potencial dos computadores modernos que possuem múltiplos processadores. A adaptação de programas seqüenciais à metodologia paralela necessita de diversas etapas e sua dificuldade é afetada por diversos fatores. A versatilidade na geração de dados e a facilidade da análise dos resultados, que permite o contínuo aprimoramento dos modelos mecânicos inseridos no sistema aliada ao esgotamento do ambiente seqüencial demonstra a necessidade de recorrer a técnicas computacionais mais eficientes. 1 Pós-doutoranda em Engenharia de Estruturas - EESC-USP, celiak@gmail.com 2 Professor do Departamento de Engenharia de Estruturas da EESC-USP, venturin@sc.usp.br 3 Professor do Departamento de Engenharia de Estruturas da EESC-USP, hbcoda@sc.usp.br

152 Célia Leiko Ogawa Kawabata, Wilson Sergio Venturini & Humberto Breves Coda O objetivo desse trabalho é a criação de um programa computacional em arquitetura paralela (ACADSOFT-P), para ser utilizado como plataforma para futuras pesquisas em métodos numéricos e mecânica estrutural. Pretende-se dar continuidade a elaboração de um sistema computacional decorrente do projeto de pesquisa de Rodrigo Ribeiro Paccola. Com o sistema em implementação criou-se no Departamento de Engenharia de Estruturas da EESC uma estratégia simples e eficiente da transformação de códigos científicos, desenvolvidos no grupo, usando modelos seqüenciais (ACADSOFT-S) utilizáveis em pesquisas aplicadas e numéricas. Esta estratégia permite a utilização, em uma mesma plataforma, de um pré-processador de um software comercial, ANSYS por exemplo, e um pós-processador. Os resultados alcançados com o projeto mencionado foram excelentes como verificados em diversos trabalhos que se utilizam dessa estratégia, Paccola (2004). Além desses trabalhos, deve-se ainda destacar os seguintes artigos sobre o assunto publicados em periódicos de grande circulação: Greco & Coda (2004); Greco et al. (2004), Coda & Greco (2006). A opção pelo processamento paralelo está permitindo a evolução, em termos de aplicações mais complexas, da análise estrutural com a redução significativa dos tempos de processamento em comparação com os hoje observados quando se emprega o processamento seqüencial. Com o aumento de desempenho do sistema computacional está sendo possível abordar problemas diversos de engenharia estrutural tais como: impacto de veículos (automóveis, aeronaves, trens), impacto de projéteis em blindados, análise não-linear geométrica exata de edifícios altos, torres de transmissão, pontes pênseis e estaiadas etc. Deve-se mencionar que estas aplicações já estavam sendo feitas em modelos bidimensionais com bastante sucesso e tempo de processamento aceitáveis utilizando-se a plataforma do ACADSOFT seqüencial, Paccola (2004). A paralelização do método de elementos finitos em desenvolvimento está permitindo o aumento tanto do tamanho quanto do nível de detalhamento do modelo. 2 METODOLOGIA O processamento paralelo de ser realizado tanto em clusters quanto em computadores de múltiplos núcleos. Há dois computadores com processadores Xeon de 8 núcleos de processamento e 16 GB de RAM. O cluster é composto por 14 computadores, onde existe um computador mestre, 12 computadores que fazem o papel de escravos e uma máquina que possui a mesma configuração dos computadores escravos para fazer a tomada de tempo do programa sendo executado na sua forma seqüencial para cálculo do speedup e da eficiência do programa paralelo. O computador mestre possui um processador Xeon X5160 de dois núcleos de 3 GHz cada e tem 64 GB de memória RAM. Os computadores escravos possuem processador Xeon X5460 de 4 núcleos de 2,67 GHz cada e 12 GB de memória RAM. São 12 escravos com essa configuração. Os computadores que formam o cluster estão interligados com rede Gigabit Ethernet. O sistema operacional utilizado é o Linux Ubuntu versão 8.04. Nos escravos utilizou-se a versão Ubuntu Server 8.04, e no computador mestre utilizou-se a versão workstation com interface gráfica que facilita o uso do cluster. Em todos os nós foi instalado o ambiente de passagem de mensagem LAM versão 7.1.2 e o compilador Fortran Intel versão 10. As etapas que estão sendo seguidas para a execução do projeto compreendem os itens: Estudos específicos sobre programação em paralelo utilizando linguagem FORTRAN e o ambiente de passagem de mensagem MPI. Identificação dos pontos críticos de processamento. Nessa fase, além do estudo pormenorizado do código seqüencial e da identificação dos laços mais importantes, foram processados exemplos com grande número de graus de liberdade (com processador seqüencial) identificando pontos de consumo excessivo de tempo e de memória.

Desenvolvimento e implementação de um Método de Elementos Finitos paralelo para análise não linear de... 153 Paralelização do programa. A paralelização do programa foi desenvolvida em uma máquina do tipo PC utilizando o sistema operacional Linux. Primeiro paralelizou-se a integração de elementos, depois a montagem da matriz Hessiana e por último a solução do sistema. Processamento de modelos com grande número de graus de liberdade. Estão sendo processados exemplos reais que antes não eram passíveis de serem processados devido ao consumo de memória excessivo e ao tempo de processamento. Os mesmos passos serão seguidos para a paralelização do algoritmo de elementos de contorno. 3 DESENVOLVIMENTO A paralelização do código do método de elementos finitos está finalizada. Inicialmente paralelizou-se a integração dos elementos, depois a montagem da matriz e por fim a solução do sistema. A comunicação entre os nós foi implementada com o envio apenas dos dados necessários para a execução dos escravos. Foi implementada uma fase de pré-processamento da montagem da matriz, definindo-se rotulação direta das posições relativas dos graus de liberdade para balancear o processamento da montagem da matriz. Assim, tanto a integração dos elementos quanto o tempo de montagem da matriz se tornaram balanceados. Essa modificação não apenas balanceou a carga entre os processadores escravos como também proporcionou um ganho de desempenho tanto no programa seqüencial quanto no paralelo. Outra modificação efetuada no código foi a otimização do uso da memória nos escravos. Os escravos passaram a alocar apenas a memória necessária para o cálculo da parte que lhes cabe. Dessa forma, apenas o processador mestre precisa de mais memória para a montagem da matriz completa e da solução do sistema. A solução do sistema foi paralelizada utilizando o software aberto MUMPS (Multifrontal Massively Parallel Solver) (Amestoy et al., 2006) versão 4.8.4. Ele foi escolhido por suportar tanto arquitetura seqüencial quanto paralela, estar totalmente adaptado para o formato da matriz comprimida utilizada pelo MA27 e utilizar o ambiente de passagem de mensagem MPI. Há um ganho de desempenho com a adoção do software MUMPS, tanto no caso seqüencial quanto no caso paralelo. Dependendo do modelo que está sendo utilizado alcança-se um desempenho (caso seqüencial) de até 5 vezes mais rápido que o MA27. No atual estágio, a integração dos elementos e montagem da matriz são feitos nos escravos, que enviam os resultados para o mestre que então redistribui a matriz para que o sistema seja resolvido. Atualmente está em fase de implementação o cálculo da solução da matriz distribuída, sem a necessidade de comunicação com o mestre, diminuindo o tráfego e a necessidade de memória no mestre para o armazenamento da matriz completa. O algoritmo do método de elementos de contorno está em fase de análise e preparação para a paralelização. Como os passos de tempo nesse tipo de método são calculados independentemente, a paralelização será feita dividindo-se o total de passos de tempo entre os processadores escravos. 4 RESULTADOS OBTIDOS Para uma análise global do programa paralelizado, utilizou-se um toróide com 201.600 graus de liberdade. A Figura 1 mostra os resultados, considerando-se o comportamento do speedup de acordo com o número de escravos e cada parte do programa.

154 Célia Leiko Ogawa Kawabata, Wilson Sergio Venturini & Humberto Breves Coda Speedups obtidos com o modelo de toróide speedup 12 11 10 9 8 7 6 5 4 3 2 Speedup Integração Montagem Solução Teórico 3 6 9 12 número de escravos Figura 1 Speedups obtidos com a simulação de um toróide. Na Figura 1 é possível observar que a parte que obteve o melhor desempenho é a montagem da matriz seguida da integração dos elementos e por último a solução do sistema. A integração de elementos possui uma sobrecarga de processamento, pois os elementos de interface da divisão do modelo para o processamento paralelo ocasionam a necessidade do cálculo desses elementos em 2 processadores. A montagem da matriz não tem essa sobrecarga e por isso possui desempenho melhor. Observa-se que o speedup global também alcança bom desempenho. 5 CONCLUSÕES PARCIAIS O objetivo de estudo e identificação dos gargalos de tempo iniciais para paralelização do AcadSoft foi plenamente atingido. Dessa forma, o objetivo de estudo teórico, proposta e implementação da paralelização da integração de elementos e montagem do sistema do programa cascatridin.for foi atingido, atingindo bons níveis de speedup e eficiência para o período que a pesquisa se desenvolveu. A disseminação dos conhecimentos, criação de cultura de programação em paralelo, bem como a ajuda direta na paralelização de outros códigos já está sendo realizada. Como continuidade do trabalho, um algoritmo do método de elementos de contorno está em fase de paralelização. 6 AGRADECIMENTOS A autora agradece à FAPESP pelo apoio financeiro. 7 REFERÊNCIAS AMESTOY, P. R. et al. Hybrid scheduling for the parallel solution of linear systems. Parallel Computing, Elsevier Science Publishers, v. 32, n. 2, p.136-156, 2006.

Desenvolvimento e implementação de um Método de Elementos Finitos paralelo para análise não linear de... 155 CODA, H. B.; GRECO, M. Positional FEM formulation for flexible multi-body dynamic analysis. Journal of Sound and Vibration, v. 290, n. 3/5, p. 1141-1174, 2006. GRECO, M.; CODA, H. B. A simple and precise FEM formulation for large deflection 2D frame analysis based on position description. Computer Methods in Applied Mechanics and Engineering, n. 193, p. 3541-3557, 2004. GRECO, M.; CODA, H. B.; VENTURINI, W.S. An alternative contact/impact identification algorithm for 2D structural problems. Computational Mechanics, v. 34, n. 5, p. 410-422, 2004. PACCOLA, R. R. Análise não linear física de placas e cascas anisotrópicas acopladas ou não com meio contínuo tridimensional viscoelástico através da combinação entre o MEC e o MEF. Tese (Doutorado em Engenharia de Estruturas) Escola de Engenharia de São Carlos, Universidade de São Paulo, 2004.