Professional Documents
Culture Documents
Eva r Borges Severo1 , Matheus da Silva Serpa1 , Claudio Schepke1 o Curso de Ci encia da Computac a Universidade Federal do Pampa - Campus Alegrete Av. Tiaraj u, 810 - Bairro: Ibirapuit a - Alegrete - RS - CEP: 97546-550
{evairsevero, matheusserpa}@gmail.com, claudioschepke@unipampa.edu.br
1
Abstract. In a wide variety of elds in Scientic Computing there is algorithms which demands a hight computational costs. An alternative to accelerate the performance of these algorithms consists in a concurrent execution of the code. An important aspect to consider is the way how the tasks are distributed. In the case of OpenMP parallel programming interface, is possible to use different methods of distributing tasks through the schedule clause. In this context, the aim of this work is to evaluate the behavior of scheduling policies of OpenMP. For this purpose, was used the Lattice Boltzmann as a case study. Implementations showed that the use of the schedule clause (guided) get a better performance for the method. Resumo. Em diversas a a ca existem algoritmos que reas da Computac o Cient demandam um elevado custo computacional. Uma alternativa para acelerar o desempenho desses algoritmos consiste na execuc a odigo. o concorrente do c Um importante aspecto a ser considerado e ao dis a forma como as tarefas ser tribu das. No caso da interface de programac a vel o paralela OpenMP, e poss utilizar diferentes m etodos de distribuic a es da cl ausula sche o de tarefas atrav dule. Nesse contexto, o objetivo deste trabalho e avaliar o comportamento das pol ticas de escalonamento de OpenMP. Para tanto, utilizou-se do M etodo de Lattice Boltzmann como estudo de caso. As implementac o es mostraram que o uso da cl ausula schedule (guided) obt em melhor desempenho para o m etodo.
o 1. Introduc a
um ramo da mec A Din amica dos Fluidos Computacional (DFC) e anica dos uidos com o Cient es de Euler e grande relev ancia no contexto da Computac a ca, tendo as equac o de Navier-Stokes como bases fundamentais para praticamente todos os seus problemas es matem [Chung 2010], [Landau and Lifshitz 1987]. Por meio dessas descric o aticas, que relacionam as diferentes propriedades f sicas de l quidos e gases, a DFC possibilita a o num simulac a erica de uma ampla diversidade de estruturas e fen omenos f sicos cotidia o de furac o de comportamento nos, tais como: simulac a oes, previs ao de tempo, simulac a de poluentes em correntes h dricas, aerodin amica, dentre outros [Schepke, C. 2007], [Batchelor 2000]. o dos sistemas computacionais contribuiu para o grande interesse e A evoluc a rea. Em func o disso, desenvolveram-se diavanc o das pesquisas relacionadas a essa a a es num es que versos m etodos e algoritmos baseados em simulac o ericas, onde as equac o
es lineares, representam o dom nio f sico s ao discretizados, gerando um sistema de equac o posteriormente resolvido por algum m etodo num erico [Sims et al. 2000]. T ecnicas alter o m nativas buscam simplicar essas etapas. Uma delas e etodo de Lattice Gas Automata o acontece em tempo, espac (LGA). Neste m etodo, a simulac a o e velocidades discretas, o, por sendo de f acil implementac a em limitado, devido a maneira que o m etodo determina as propriedades f sicas de um uido [Schepke, C. 2007]. Em consequ encia dessas es, o m limitac o etodo LGA sofreu certas mudanc as, evoluindo para o M etodo de Lattice Boltzmann (MLB). es do MLB s Do ponto de vista computacional, as operac o ao essencialmente locais o do algoritmo torna-se uma poss e, devido a isso, a paralelizac a vel alternativa para prover um melhor aproveitamento do hardware e, consequentemente, um consider avel ganho no desempenho do m etodo. o paralela, OpenMP surge como uma eciDentre as interfaces de programac a ente alternativa de paralelismo em mem oria compartilhada. OpenMP faz uso da cl ausula schedule para distribuir as tarefas entre as threads. Nesse contexto, este trabalho busca avaliar o comportamento de diferentes pol ticas de escalonamento denidas pela cl ausula schedule. Para essa abordagem, utilizou-se a t ecnica de MLB como estudo de caso em o de escoamento de uidos. simulac a es. A Sec o 2 descreve o MLB, sua condic o de Este artigo est a dividido em sec o a a o contorno, o modelo do reticulado e trabalhos relacionados. A interface de programac a o paralela e apresentada na Sec ao 3. Na Sec ao 4 s ao descritos detalhes da implementac a o 5 apresenta os resultados experimentais obtidos. A Sec o 6 discute as paralela. A Sec a a es deste trabalho e temas de trabalhos futuros. contribuic o
es em que mais de uma part desse comportamento, existem situac o cula busca ocupar a o no reticulado. Essas situac es s mesma posic a o ao chamadas de colis oes e tem seu efeito o. descrito atrav es de um operador de relaxac a o e relaxac o, e preciso tratar as condic es de contorno. Nesse Al em da propagac a a o o de contorno utilizada e bounceback. Em caso de colis trabalho, a t ecnica de condic a ao, es dos vetores de velocidade s substituido por ei . as direc o ao invertidas, ou seja, ei e o garante que o uido n Essa condic a ao ultrapassar a as bordas. O MLB torna poss vel modelar computacionalmente uma vasta variedade de problemas, permitindo simular uxos com uma ou v arias fases em geometrias complexas e es de contorno [Schepke, C. 2007]. diferentes condic o 2.2. Trabalhos Relacionados Diversos trabalhos utilizam o MLB para simular fen omenos f sicos. um software comercial capaz de simular diPowerFLOW (Exa Corporation) e versos problemas de uxo de uidos e aerodin amica [Duncan et al. 2010]. Utilizando o MLB, foi poss vel projetar um tunel de vento digital, a m de projetar a aerodin amica do tren o para quatro pessoas da equipe campe a mundial de 2009 (EUA). Em [Ayguad e et al. 2003] s ao feitas an alises de comportamento quanto a o adequada de iterac es de um loop para threads. Este trabalho prop atribuic a o oe uma o de trabalho. nova forma de atribuic a
guided - Semelhante ao dynamic, exceto pelo fato de que o tamanho do bloco dada a uma thread. O tamanho do bloco diminui cada vez que uma demanda e dado pela seguinte equac o: inicial e a bloco inicial = numero de iteracoes / numero de threads Os blocos seguintes s ao formados da seguinte forma: blocos seguintes = numero de iteracoes remanescentes / numero de threads
o do Algoritmo 4. Implementac a
O desenvolvimento de novas vers oes do MLB foi motivado pelo estudo das caracter sticas o paralela e avaliac o de desempenho das mesmas. A das interfaces de programac a a o do MLB foi feita em linguagem C. Duas estruturas de dados foram criimplementac a adas. A estrutura s properties cont em as propriedades f sicas, tais como: densidade, o, escala do tempo de relaxac o e o di acelerac a a ametro real do canal usado para o c alculo es a respeito do reticuo do n umero de Reynolds. A estrutura s lattice armazena informac lado. Nela est ao denidas a quantidade de pontos para as dimens oes x e y , o n umero de es discretas poss o direc o veis de deslocamento dos pontos, um vetor descrevendo a posic a es das das barreiras e bordas do uxo e um vetor onde s ao armazenadas as informac o propriedades f sicas atribu das a cada um dos pontos do reticulado. O lac o principal do composto por operac es de redistribuic o, propagac o, condic o de contorno algoritmo e o a a a o. e relaxac a o de trabalho e feita atrav A divis ao e distribuic a es da cl ausula schedule(tipo, a barreiras impl citas no m das construc oes #pragma omp for. Essas chunk size). H o das threads antes do in o. barreiras garantem a sincronizac a cio da pr oxima operac a
o de Desempenho 5. Avaliac a
Neste trabalho foi simulado o escoamento de uxos de um uido. O objetivo dessa o foi vericar o comportamento dos uxos em ambientes com barreiras e o gasimulac a es paralelas utilizando diferentes formas de distribuic o nho de desempenho em execuc o a de trabalho. No caso de teste foram colocadas barreiras nas bordas horizontais, delimitando o es foi xado para a simulac o, garanescoamento do uido. Um valor de 15000 iterac o a o cont o dos testes foi utilizado um tindo ao nal a propagac a nua do uxo. Na realizac a reticulado com tamanho de 512 128 pontos. 5.1. An alise dos Resultados es utiliPara melhor entender o impacto no desempenho paralelo foram feitas execuc o zando um workstation Dell Precision T7600, da Universidade Federal do Pampa (UNIPAMPA). o cont A arquitetura do ambiente de execuc a em dois processadores Intel Xeon 2.00GHz, cada um com 16 cores, 8 f sicos e 8 l ogicos (tecnologia Hyper-Threading). O processador Intel Xeon E5-2650 possu tr es n veis de cache. A cache L1 cont em 512KB, a cache L2 2MB e a cache L3 20MB. A workstation conta com 128 GB de mem oria RAM e os testes foram executados no sistema operacional Ubuntu Server (Kernel 3.8.0-26)..
350 300 250 Tempo (Segundos) 200 150 100 50 0 1 2 4 8 16 32 static, lx / (8 * threads) static, lx / (2 * threads) static, 1 Ideal Tempo (Segundos)
550 500 400 300 200 100 0 1 2 4 8 16 32 dynamic, lx / (8 * threads) dynamic, lx / (2 * threads) dynamic, 1 Ideal
Threads
Threads
50 0 1 2 4 8 16 32
Speedup
1 1 2 4 8 16 32
Threads
Threads
es de desempenho utilizando 1, 2, 4, 8, 16 e 32 Inicialmente foram feitas avaliac o es da pol threads para as nove variac o tica de escalonamento. Os resultados computacio es, sendo que as cinco piores e as cinco nais foram obtidos atrav es da m edia de 20 execuc o melhores foram exclu das. Os testes diferenciam-se pela pol tica de escalonamento e o valor do chunk size, es desse valor. A primeira utiliza chunk size 1. No segundo sendo testadas tr es variac o teste foi utilizado um chunk size de tamanho lx/(2 threads), onde lx representa o n umero de pontos em x. No terceiro teste foi utilizando um chunk size de tamanho lx/(8 threads). o para testes utilizando a pol A gura 5.1(a) apresenta os tempos de execuc a tica o de de escalonamento static. Foi poss vel vericar que o melhor caso deu-se na utilizac a um chunk size com tamanho lx/(2 threads). O segundo teste apresentado pela gura 5.1(b) utiliza uma pol tica dynamic e o melhor caso tamb em se da a um chunk size com o de chunk size n tamanho lx/(2 threads). O terceiro teste mostra que a variac a ao o da pol apresenta elevado impacto na utilizac a tica de escalonamento guided. Utilizando guided, o melhor caso foi usando um chunk size de lx/(8 threads), entretanto o ganho t n ao e ao superior ao outros casos com valores de chunk size diferentes.
Na gura 5.1(d) s ao apresentados os gr acos de Speedup. Foram selecionados os melhores resultados de cada pol tica de escalonamento. Foi poss vel vericar a melhor escalabilidade utilizando a pol tica guided.
Refer encias
Ayguad e, E., Blainey, B., Duran, A., Labarta, J., Mart nez, F., Martorell, X., and Silvera, R. (2003). Is the schedule clause really necessary in OpenMP? In OpenMP Shared Memory Parallel Programming, pages 147159. Springer. Batchelor, G. K. (2000). An Introduction to Fluid Dynamics. Cambridge University Press. Chen, S. and Doolen, G. D. (1998). Lattice boltzmann method for uid ows. Annual Review of Fluid Mechanics. Chung, T. J. (2010). Computational Fluid Dynamics. Cambridge university press. Duncan, B. D., Fischer, A., and Kandasamy, S. (2010). Validation of lattice-boltzmann aerodynamics simulation for vehicle lift prediction. In ASME 2010 3rd Joint USEuropean Fluids Engineering Summer Meeting. ASME. Landau, L. D. and Lifshitz, E. M. (1987). Fluid mechanics. Course of Theoretical Physics, 6:111. Qian, Y., dHumieres, D., and Lallemand, P. (1992). Lattice BGK Models for NavierStokes Equation. EPL (Europhysics Letters). Schepke, C. (2007). Distribuic a o etodo o de Dados para Implementac es Paralelas do M de Lattice Boltzmann. PhD thesis, Instituto de Inform atica, UFRGS, Porto Alegre. Sims, J. S., Hagedorn, J. G., Ketcham, P. M., and Sattereld, S. G. (2000). Accelerating Scientic Discovery Through Computation and Visualization. Journal of Research of the National Institute of Standards and Technology.