6 research outputs found

    Estudo de Heurísticas para Mapeamento Dinâmico de Tarefas sobre a Plataforma HeMPS

    Get PDF
    Há uma tendência que sistemas intrachip multiprocessados (MPSoC) sejam compostos por dezenas ou centenas de elementos de processamento, permitindo a execução de muitas tarefas em paralelo. Assim, estratégias de alocação de recursos eficientes precisam ser desenvolvidas. Neste sentido, este trabalho investiga o desempenho das heurísticas de mapeamento de tarefas First Free, Nearest Neighbor, Path Load e Best Neighbor no MPSoC HeMPS. A heurística Best Neighbor apresentou o melhor resultado em relação à ocupação dos canais de comunicação do MPSoC, com redução de aproximadamente 32% quando comparada a heurística First Free. No entanto, essa heurística apresentou tempo de execução até 24,21% superior a heurística First Free devido à complexidade de seu algoritmo

    Exploiting multiple levels of parallelism and online refinement of unstructured meshes in atmospheric model application

    Get PDF
    Previsões meteorológicas para longos períodos de tempo estão se tornando cada vez mais importantes. A preocupação mundial com as consequências da mudança do clima tem estimulado pesquisas para determinar o seu comportamento nas próximas décadas. Ao mesmo tempo, os passos necessários para definir uma melhor modelagem e simulação do clima e/ou tempo estão longe da precisão desejada. Aumentar o refinamento da superfície terrestre e, consequentemente, aumentar o número de pontos discretos (utilizados para a representação da atmosfera) na modelagem climática e precisão das soluções computadas é uma meta que está em conflito com o desempenho das aplicações numéricas. Aplicações que envolvem a interação de longos períodos de tempo e incluem um grande número de operações possuem um tempo de execução inviável para as arquiteturas de computadores tradicionais. Para superar esta situação, um modelo climatológico pode adotar diferentes níveis de refinamento da superfície terrestre, utilizando mais pontos discretos somente em regiões onde uma maior precisão é requerida. Este é o caso de Ocean-Land-AtmosphereModel, que permite o refinamento estático de uma determinada região no início da execução do código. No entanto, um refinamento dinâmico possibilitaria uma melhor compreensão das condições climáticas específicas de qualquer região da superfície terrestre que se tivesse interesse, sem a necessidade de reiniciar a execução da aplicação. Com o surgimento das arquiteturas multi-core e a adoção de GPUs para a computação de propósito geral, existem diferentes níveis de paralelismo. Hoje há paralelismo interno ao processador, entre processadores e entre computadores. Com o objetivo de extrair ao máximo a performance dos computadores atuais, é necessário utilizar todos os níveis de paralelismo disponíveis durante o desenvolvimento de aplicações concorrentes. No entanto, nenhuma interface de programação paralela explora simultaneamente bem os diferentes níveis de paralelismo existentes. Baseado neste contexto, esta tese investiga como explorar diferentes níveis de paralelismo em modelos climatológicos usando interfaces clássicas de programação paralela de forma combinada e como é possível prover refinamento de malhas em tempo de execução para estes modelos. Os resultados obtidos a partir de implementações realizadas mostraram que é possível reduzir o tempo de execução de uma simulação atmosférica utilizando diferentes níveis de paralelismo, através do uso combinado de interfaces de programação paralela. Além disso, foi possível prover maior desempenho na execução de aplicações climatológicas que utilizam refinamento de malhas em tempo de execução. Com isso, uma malha de maior resolução para a representação da atmosfera terrestre pode ser adotada e, consequentemente, as previsões numéricas serão mais precisas.Weather forecasts for long periods of time has emerged as increasingly important. The global concern with the consequences of climate changes has stimulated researches to determine the climate in coming decades. At the same time the steps needed to better defining the modeling and the simulation of climate/weather is far of the desired accuracy. Upscaling the land surface and consequently to increase the number of points used in climate modeling and the precision of the computed solutions is a goal that conflicts with the performance of numerical applications. Applications that include the interaction of long periods of time and involve a large number of operations become the expectation for results infeasible in traditional computers. To overcome this situation, a climatic model can take different levels of refinement of the Earth’s surface, using more discretized elements only in regions where more precision are required. This is the case of Ocean-Land- Atmosphere Model, which allows the static refinement of a particular region of the Earth in the early execution of the code. However, a dynamic mesh refinement could allow to better understand specific climatic conditions that appear at execution time of any region of the Earth’s surface, without restarting execution. With the introduction of multi-core processors and GPU boards, computers architectures have many parallel layers. Today, there are parallelism inside the processor, among processors and among computers. In order to use the best performance of the computers it is necessary to consider all parallel levels to distribute a concurrent application. However, nothing parallel programming interface abstracts all these different parallel levels. Based in this context, this thesis investigates how to explore different levels of parallelism in climatological models using mixed interfaces of parallel programming and how these models can provide mesh refinement at execution time. The performance results show that is possible to reduce the execution time of atmospheric simulations using different levels of parallelism, through the combined use of parallel programming interfaces. Higher performance for the execution of atmospheric applications that use online mesh refinement was also provided. Therefore, more mesh resolution to describe the Earth’s atmosphere can be adopted, and consequently the numerical forecasts are more accurate

    Data distribution for parallel implementations of the Lattice Boltzmann Method

    No full text
    A Dinâmica de Fluidos Computacional é uma importante área de pesquisa no contexto da Computação Científica. Através da modelagem e simulação das propriedades de líquidos e gases é possível obter resultados numéricos para diferentes estruturas e fenômenos físicos cotidianos e de grande importância econômica. A evolução dos sistemas computacionais possibilitou a essa área o surgimento de novas técnicas e abordagens de simulação. Uma das técnicas computacionais atualmente empregadas é o Método de Lattice Boltzmann, um método numérico iterativo para a modelagem e simulação mesoscópica da dinâmica de fluxos de fluidos. Diferentes tipos de sistemas físicos podem ser tratados através dessa técnica, como é o caso de fluxos em meios porosos ou de substâncias imiscíveis. No entanto, por causa da dimensão dos sistemas físicos, é necessário adotar estratégias que permitam a obtenção de resultados precisos ou em tempos computacionais aceitáveis. Assim, paralelizar as operações é a solução mais indicada para aumentar o desempenho do método. Uma maneira eficiente de paralelizar um método numérico é fazer uso de técnicas de distribuição de dados refinadas, como é o caso do particionamento em blocos. Tais abordagens de paralelização foram adotadas neste trabalho em implementações bi- e tridimensionais do Método de Lattice Boltzmann, com o intuito de avaliar o ganho de desempenho oferecido através dessa técnica. Além disso, foram definidos os fatores que influenciam as melhores configurações de particionamento. Os resultados obtidos demonstraram que o particionamento em blocos prove um aumento considerável do desempenho das aplicações paralelas, especialmente para a versão tridimensional do método. Para algumas configurações dos estudos de caso os tempos de execução diminuíram em até 30% em relação aos tempos obtidos com o particionamento unidimensional. Já as melhores configurações para a distribuição dos dados em blocos foram aquelas em que a disposição dos dados manteve-se mais quadrada ou cúbica em relação a cada uma das dimensões coordenadas.Computational Fluid Dynamics is an important research area in the Scientific Computing context. Through the modeling and simulation of liquids and gases properties it is possible to get numerical results for different physical structures and daily phenomena that have great economic importance. The evolution of the computational systems made it possible to develop new techniques and approaches of simulation in this area. One of these techniques currently used is the Lattice Boltzmann Method. This method is an iterative numerical strategy for modeling and simulating mesoscopic dynamics of fluid flows. Different types of physical systems can be simulated through this technique, like immiscible substances and flows in porous media. However, since the dimension of the physical systems is usually large, it is necessary to adopt strategies that allow to get accurate results or results in an acceptable computational time. Thus, the parallelization of the operations is the best alternative to increase the performance of the method. An efficient way to parallelize a numerical method is to make use of refined data distribution techniques, like data partitioning in blocks. Such parallelization approach had been adopted in this work for bi- and three-dimensional implementations of the Lattice Boltzmann Method. The objective of the work was to evaluate the performance enhancement offered through the parallelization. Moreover, another objective is to define the elements that influence the best partitioning configurations. The results shown that data partitioning in blocks provide a considerable performance increase for parallel implementations, especially for the three-dimensional version of the method. For some configurations adopted in the case studies, the execution time was reduced of up to 30% in relation to the one-dimensional partitioning strategy. The best configurations for data distribution in blocks were that where the data disposal are more square or cubical shaped in relation to each one of the coordinate dimension

    Exploiting multiple levels of parallelism and online refinement of unstructured meshes in atmospheric model application

    Get PDF
    Previsões meteorológicas para longos períodos de tempo estão se tornando cada vez mais importantes. A preocupação mundial com as consequências da mudança do clima tem estimulado pesquisas para determinar o seu comportamento nas próximas décadas. Ao mesmo tempo, os passos necessários para definir uma melhor modelagem e simulação do clima e/ou tempo estão longe da precisão desejada. Aumentar o refinamento da superfície terrestre e, consequentemente, aumentar o número de pontos discretos (utilizados para a representação da atmosfera) na modelagem climática e precisão das soluções computadas é uma meta que está em conflito com o desempenho das aplicações numéricas. Aplicações que envolvem a interação de longos períodos de tempo e incluem um grande número de operações possuem um tempo de execução inviável para as arquiteturas de computadores tradicionais. Para superar esta situação, um modelo climatológico pode adotar diferentes níveis de refinamento da superfície terrestre, utilizando mais pontos discretos somente em regiões onde uma maior precisão é requerida. Este é o caso de Ocean-Land-AtmosphereModel, que permite o refinamento estático de uma determinada região no início da execução do código. No entanto, um refinamento dinâmico possibilitaria uma melhor compreensão das condições climáticas específicas de qualquer região da superfície terrestre que se tivesse interesse, sem a necessidade de reiniciar a execução da aplicação. Com o surgimento das arquiteturas multi-core e a adoção de GPUs para a computação de propósito geral, existem diferentes níveis de paralelismo. Hoje há paralelismo interno ao processador, entre processadores e entre computadores. Com o objetivo de extrair ao máximo a performance dos computadores atuais, é necessário utilizar todos os níveis de paralelismo disponíveis durante o desenvolvimento de aplicações concorrentes. No entanto, nenhuma interface de programação paralela explora simultaneamente bem os diferentes níveis de paralelismo existentes. Baseado neste contexto, esta tese investiga como explorar diferentes níveis de paralelismo em modelos climatológicos usando interfaces clássicas de programação paralela de forma combinada e como é possível prover refinamento de malhas em tempo de execução para estes modelos. Os resultados obtidos a partir de implementações realizadas mostraram que é possível reduzir o tempo de execução de uma simulação atmosférica utilizando diferentes níveis de paralelismo, através do uso combinado de interfaces de programação paralela. Além disso, foi possível prover maior desempenho na execução de aplicações climatológicas que utilizam refinamento de malhas em tempo de execução. Com isso, uma malha de maior resolução para a representação da atmosfera terrestre pode ser adotada e, consequentemente, as previsões numéricas serão mais precisas.Weather forecasts for long periods of time has emerged as increasingly important. The global concern with the consequences of climate changes has stimulated researches to determine the climate in coming decades. At the same time the steps needed to better defining the modeling and the simulation of climate/weather is far of the desired accuracy. Upscaling the land surface and consequently to increase the number of points used in climate modeling and the precision of the computed solutions is a goal that conflicts with the performance of numerical applications. Applications that include the interaction of long periods of time and involve a large number of operations become the expectation for results infeasible in traditional computers. To overcome this situation, a climatic model can take different levels of refinement of the Earth’s surface, using more discretized elements only in regions where more precision are required. This is the case of Ocean-Land- Atmosphere Model, which allows the static refinement of a particular region of the Earth in the early execution of the code. However, a dynamic mesh refinement could allow to better understand specific climatic conditions that appear at execution time of any region of the Earth’s surface, without restarting execution. With the introduction of multi-core processors and GPU boards, computers architectures have many parallel layers. Today, there are parallelism inside the processor, among processors and among computers. In order to use the best performance of the computers it is necessary to consider all parallel levels to distribute a concurrent application. However, nothing parallel programming interface abstracts all these different parallel levels. Based in this context, this thesis investigates how to explore different levels of parallelism in climatological models using mixed interfaces of parallel programming and how these models can provide mesh refinement at execution time. The performance results show that is possible to reduce the execution time of atmospheric simulations using different levels of parallelism, through the combined use of parallel programming interfaces. Higher performance for the execution of atmospheric applications that use online mesh refinement was also provided. Therefore, more mesh resolution to describe the Earth’s atmosphere can be adopted, and consequently the numerical forecasts are more accurate
    corecore