Avaliando Diferentes Interfaces de Programação Paralela em Simulação de Fluxos de Fluidos

July 4, 2017 | Autor: Matheus Serpa | Categoria: Computer Science, Parallel Computing, High Performance Computing
Share Embed


Descrição do Produto

WSCAD-WIC 2013 - Workshop de Iniciação Científica ___________________________________________________________________________________________________

Avaliando Diferentes Interfaces de Programação Paralela em Simulação de Fluxos de Fluidos Matheus da Silva Serpa, Evaír Borges Severo, Claudio Schepke Curso de Ciência da Computação Universidade Federal do Pampa - Campus Alegrete Av. Tiarajú, 810 - Bairro: Ibirapuitã - Alegrete - RS - CEP: 97546-550 Email: {matheusserpa, evairsevero}@alunos.unipampa.edu.br, [email protected]

das moléculas ocorre somente entre os elementos vizinhos por meio de operações lógicas [3]. Essas características tornam o LGA um método de fácil implementação, porém limitado, devido a maneira que o método determina as propriedades físicas de um fluido. Em consequência dessas limitações, o método LGA sofreu certas mudanças, evoluindo para o Método de Lattice Boltzmann (MLB). Do ponto de vista computacional, as operações do MLB são essencialmente locais e, devido a isso, a paralelização do algoritmo torna-se uma possível alternativa para prover um melhor aproveitamento do hardware e, consequentemente um considerável ganho no desempenho do método. Nesse contexto, este trabalho, busca avaliar o comportamento de interfaces de programação paralela em memória compartilhada para dinâmica dos fluidos. Para essa abordagem, utilizou-se a técnica de MLB como estudo de caso em simulação de escoamento de fluidos. Este artigo está dividido em seções. A Seção 2 descreve o MLB, sua condição de contorno, o modelo do reticulado e trabalhos relacionados. As interfaces de programação paralela são apresentadas na Seção 3. Na Seção 4 são descritos detalhes da implementação paralela, destacando cada interface de programação. A seção 5 apresenta o estudo de caso, a descrição dos problemas e os resultados experimentais obtidos. A Seção 6 apresenta as contribuições deste trabalho e temas de trabalhos futuros.

Resumo—Em diversas áreas da Computação Científica existem algoritmos que demandam um elevado custo computacional. Uma alternativa para acelerar a execução destes algoritmos consiste na execução concorrente do código. Usando diferentes interfaces de programação paralela, é possível comparar e analisar um modo de se obter o melhor aproveitamento do hardware e consequentemente prover execuções mais eficientes para os programas. Nesse contexto, o objetivo deste trabalho é avaliar o comportamento de interfaces de programação paralela em memória compartilhada para dinâmica dos fluidos. Para tanto, como estudo de caso, utilizou-se do Método de Lattice Boltzmann, para a simulação de escoamento de fluidos. Esse método exige uma significativa quantidade de memória e grande capacidade de processamento. A implementação paralela do método explora o fato das operações serem essencialmente locais, e dessa forma, possíveis de serem executadas concorrentemente. As implementações paralelas do método usando Pthreads e OpenMP mostraram que é possível obter um desempenho significativo em ambientes de memória compartilhada, sendo que OpenMP apresenta um ganho de desempenho melhor quando um número maior de threads é executado. Keywords-Dinâmica dos Fluidos Computacional; Interfaces de Programação Paralela; Método Lattice Boltzmann

I. I NTRODUÇÃO A Dinâmica dos Fluidos Computacional (DFC) é um ramo da mecânica dos fluidos com grande relevância no contexto da Computação Científica, tendo as equações de Euler e de Navier-Stokes como bases fundamentais para praticamente todos os seus problemas [1], [2]. Por meio dessas descrições matemáticas, que relacionam as diferentes propriedades físicas de líquidos e gases, a DFC possibilita a simulação numérica de uma ampla diversidade de estruturas e fenômenos físicos cotidianos, tais como: simulação de furacões, previsão de tempo, simulação de comportamento de poluentes em correntes hídricas, aerodinâmica, dentre outros [3], [4]. A evolução dos sistemas computacionais contribuiu para o grande interesse e avanço das pesquisas relacionadas a essa área. Em função disso, desenvolveram-se diversos métodos e algoritmos baseados em simulações numéricas, onde as equações que representam o domínio físico são discretizados, gerando um sistema de equações lineares, posteriormente resolvido por algum método numérico [5]. Técnicas alternativas buscam simplificar essas etapas.Uma delas é o método de Lattice Gas Automata (LGA). Neste método, a simulação acontece em tempo, espaço e velocidades discretas, sendo que o comportamento coletivo

II. M ÉTODO L ATTICE B OLTZMANN O método de Lattice Boltzmann é considerado uma representação discreta da Equação de Boltzmann, sendo esta, a base da teoria cinética dos gases. Esse método faz uso de valores reais para a difusão das informações pelo reticulado, tornando-o diferente do LGA, que por sua vez utiliza valores lógicos e considera o movimento individual das partículas [6]. Nesse método, o comportamento das partículas que constituem um fluido é representado por meio de uma estrutura conhecida por reticulado. A. Modelo de Reticulado Um reticulado, também chamado de lattice ou grade, consiste em um modelo discreto representado por uma malha, que possuiu diversas células ou pontos. Esses pontos representam as partículas de um fluido, sendo que a atualização desses pontos ocorre simultaneamente em intervalos de tempo discretos. 234

WSCAD-WIC 2013 - Workshop de Iniciação Científica ___________________________________________________________________________________________________

Na literatura, pode-se encontrar diversos modelos de reticulado [7]. Neste trabalho foi utilizado um modelo conhecido como D2Q9, sendo dada essa nomenclatura devido ao modelo ser bidimensional e possuir nove possibilidades de deslocamento. Nesse modelo, cada partícula pode estar em movimento para quatro direções cardeais, quatro direções diagonais ou permanecer estática em um ponto. Em consequência desse comportamento, existem situações em que mais de uma partícula busca ocupar a mesma posição no reticulado. Essas situações são chamadas de colisões e tem seu efeito descrito através de um operador de relaxação. Além da propagação e relaxação, é preciso tratar as condições de contorno. Nesse trabalho, a técnica de condição de contorno utilizada é bounceback. Em caso de colisão, as direções dos vetores de velocidade são invertidas, ou seja, ei é substituido por −ei . Essa condição garante que o fluido não ultrapassará as bordas. O MLB torna possível modelar computacionalmente uma vasta variedade de problemas, permitindo simular fluxos com uma ou várias fases em geometrias complexas e diferentes condições de contorno [3].

programação paralela e avaliação de desempenho das mesmas. A implementação do MLB foi feita em linguagem C. Duas estruturas de dados foram criadas. A estrutura s_properties contém as propriedades físicas, tais como: densidade, aceleração, escala do tempo de relaxação e o diâmetro real simulado usado para o cálculo do número de Reynolds. A estrutura s_lattice armazena informações a respeito do reticulado. Nela estão definidas a quantidade de pontos para as dimensões x e y, o número de direções discretas possíveis de deslocamento dos pontos, um vetor descrevendo a posição das barreiras e bordas do fluxo e um vetor onde são armazenadas as informações das propriedades físicas atribuídas a cada um dos pontos do reticulado. O laço principal do algoritmo é composto por operações de redistribuição, propagação, condição de contorno e relaxação. Nas subseções seguintes são apresentados detalhes da implementação paralela do MLB, destacando cada interface de programação utilizada. A. Paralelização com OpenMP A Figura 1 descreve a paralelização feita para as funções de redistribuição, propagação, contorno e relaxação.

B. Trabalhos Relacionados Diversos trabalhos utilizam o MLB para simular fenômenos físicos. PowerFLOW (Exa Corporation) é um software comercial capaz de simular diversos problemas de fluxo de fluidos e aerodinâmica [8]. Utilizando o MLB, foi possível projetar um tunel de vento digital, a fim de projetar a aerodinâmica do trenó para quatro pessoas da equipe campeã mundial de 2009 (EUA). LBHydra (University of Minnesota) é um software capaz de simular o escoamento de fluidos [9]. Além disso, faz uso de um módulo que permite tirar proveito das Graphics Processing Units compatíveis com CUDA. Os problemas que podem ser modelados pelo MLB são de grande relevância, e as simulações podem requerer um elevado custo computacional. Por causa disso, é importante definir e analisar interfaces de programação paralela apropriadas para melhorar o desempenho do método.

1 2 3 4 5 6 7 8 9 10 11

f o r ( t i m e = 1 ; t i m e
Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.