• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 164
  • 10
  • 5
  • 4
  • 4
  • 4
  • 4
  • 3
  • 1
  • Tagged with
  • 182
  • 182
  • 98
  • 92
  • 77
  • 46
  • 37
  • 33
  • 30
  • 28
  • 27
  • 26
  • 25
  • 24
  • 21
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
161

Extensão da Ferramenta de Apoio à Programação Paralela (F.A.P.P.) para ambientes paralelos virtuais. / A parallel programming supporting tool extension for parallel virtual environments.

Kalinka Regina Lucas Jaquie 30 March 1999 (has links)
Os sistemas computacionais distribuídos aplicados à computação paralela permitem uma melhor relação custo/benefício para a computação paralela. Esses sistemas oferecem a potência computacional adequada às aplicações que não necessitam de uma máquina maciçamente paralela, porém necessitam de uma potência computacional maior que uma máquina seqüencial pode oferecer. P.V.M. (Parallel Virtual Machine) e M.P.I. (Message Passage Inteface) são exemplos de ambiente de paralelos virtuais amplamente discutido na literatura. Tendo em vista a grande utilização desses ambientes tanto em nível acadêmico quanto em níveis comerciais e industriais, torna-se interessante a criação de uma ferramenta que apoie o desenvolvimento de programas para esses ambientes. Poucas são as ferramentas desse tipo que aparecem na literatura; uma delas e que permite ser estendida para dar suporte a tais ambientes é a F.A.P.P. (Ferramenta de Apoio à Programação Paralela). Dentro desse contexto, este trabalho apresenta a modelagem dos ambientes paralelos virtuais segundo a abordagem proposta na definição da F.A.P.P., para que arcabouços de programas P.V.M. e M.P.I possam ser gerados. Essa ferramenta permite a utilização da computação paralela a um maior número de usuários, ou seja, auxiliando os iniciante na confecção dos programa e os experientes na manutenção, além de permitir maior produtividade. Foram realizados estudos visando a validação e a avaliação da ferramenta. Os resultados obtidos demonstram que a ferramenta possui comportamento estável e tem potencial para ser utilizada livremente em ambientes P.V.M. e M.P.I.. / Distributed computing systems applied to parallel computing allow the realisation of a better cost/benefit relation for parallel programming. These systems offer an adequate computing power to those applications which do not require a massively parallel architecture but need such a computer power not available from sequential computers. P.V.M. (Parallel Virtual Machine) and M.P.I. (Message Passing Interface) are good examples of parallel virtual environments being widely discussed in the literature. These virtual environments are broadly used in both academic, commercial and industrial applications, making attractive the development of supporting tools for these parallel programming environments. There are few of such tools available in the literature. F.A.P.P. is one of these tools and it can be extended to support parallel virtual environments. This work addresses the extension of the F.A.P.P. in order to produced P.V.M. and M.P.I. source code. This extension can help a large number of users to develop parallel programs either by giving support for the beginners or by increasing the productivity of the experienced parallel programmers, besides helping in the maintenance phase. The tool produced is tested by means of several examples which show a stable behaviour and that the tool can be easily used in both P.V.M. and M.P.I. environments.
162

MPI sobre MOM para suportar log de mensagens pessimista remoto / MPI over MOM to support remote pessimistic message logging

Machado, Caciano dos Santos January 2010 (has links)
O aumento crescente no número de processadores das arquiteturas paralelas que estão no topo dos rankings de desempenho, apesar de permitir uma maior capacidade de processamento, também traz consigo um aumento na taxa de falhas diretamente proporcional ao número de processadores. Atualmente, as técnicas de tolerância a falhas com recuperação retroativa são as mais empregadas em aplicações MPI, principalmente a técnica de checkpoint coordenado. No entanto, previsões afirmam que essa última técnica será inadequada para as arquiteturas emergentes. Em contrapartida, as técnicas de log de mensagens possuem características que as tornam mais apropriadas no novo cenário que se estabelece. O presente trabalho consiste em uma proposta de log de mensagens pessimista remoto com checkpoint não-coordenado e a avaliação de desempenho da comunicação MPI sobre Publish/Subscriber no qual se baseia o log de mensagens. O trabalho compreende: um estudo das técnicas de tolerância a falhas mais empregadas em ambientes de alto desempenho e a motivação para a escolha dessa variante de log de mensagens; a proposta de log de mensagens; uma implementação de comunicação Open MPI sobre OpenAMQ e sua respectiva avaliação de desempenho com comunicação tradicional TCP/IP e com o log de mensagens pessimista local da distribuição do Open MPI. Os benchmarks utilizados foram o NetPIPE, o NAS Parallel Benchmarks e a aplicação Virginia Hydrodynamics (VH-1). / The growing number of processors in parallel architectures at the top of performance rankings allows a higher processing capacity. However, it also brings an increase in the fault rate which is directly proportional to the number of processors. Nowadays, coordinated checkpoint is the most widely used rollback technique for system recovery in the occurrence of faults in MPI applications. Nevertheless, projections point that this technique will be inappropriate for the emerging architectures. On the other hand, message logging seems to be more appropriate to this new scenario. This work consists in a proposal of pessimistic message logging (remote based) with non-coordinated checkpoint and the performance evaluation of an MPI communication mechanism that works over Publish/Subscriber channels in which the proposed message logging is based. The work is organized as following: an study of fault tolerant techniques used in HPC and the motivation for choosing this variant of message logging; a message logging proposal; an implementation of Open MPI communication over OpenAMQ; performance evaluation and comparision with the tradicional TCP/IP communication and a pessimistic message logging (sender based) from Open MPI distribution. The benchmark set is composed of NetPIPE, NAS Parallel Benchmarks and Virginia Hydrodynamics (VH-1).
163

MigBSP : a new approach for processes rescheduling management on bulk synchronous parallel applications / MigBSP: uma nova abordagem para o gerenciamento de reescalonamento de processos em aplicações bulk synchronous parallel

Righi, Rodrigo da Rosa January 2009 (has links)
A presente tese trata o problema do reescalonamento de processos durante a execução da aplicação, oferecendo rebalanceamento dinâmico de carga entre os recursos disponíveis. Uma vez que os cenários da computação distribuída envolvem cada vez mais recursos e aplicações dinâmicas, a carga é uma medida variável e um mapeamento inicial processos-recursos pode não permanecer eficiente no decorrer do tempo. O estado dos recursos e da rede podem variar no decorrer da aplicação, bem como a quantidade de processamento e a interação entre os processos. Consequentemente, o remapeamento de processos para novos recursos é pertinente para aumentar o uso dos recursos e minimizar o tempo de execução da aplicação. Nesse contexto, essa tese de doutorado apresenta um modelo de reescalonamento chamado MigBSP, o qual controla a migração de processos de aplicações BSP (Bulk Synchronous Parallel). O modelo de aplicação BSP foi adotado visto que torna a programação paralela mais fácil e é muito comum nos cenários de desenvolvimento de aplicações científicas. Considerando o escopo de aplicações BSP, as novas idéias de MigBSP são em número de três: (i) combinação de três métricas - Memória, Computação e Comunicação - em uma outra escala com o intuito de medir o Potencial de Migração de cada processo BSP; (ii) emprego de um Padrão de Computação e outro Padrão de Comunicação para controlar a regularidade dos processos e; (iii) adatação eficiente na freqüência do lançamento do reescalonamento de processos. A infra-estrutura de máquina paralela considera sistemas distribuídos heterogêneos (diferentes velocidades de processador e de rede). Os processos podem passar mensagens entre si e a máquina paralela pode agregar redes locais e clusters. O modelo de reescalonamento provê um formalismo matemático para decidir as seguintes questões: (i) Quando lançar o reescalonamento dos processos; (ii) Quais processos são candidatos a migração e; (iii) Para onde os processos selecionados serão migrados. A técnica de simulação foi usada para validar MigBSP. Além do próprio MigBSP, três aplicações científicas foram foram desenvolvidas e executadas usando o simulador Simgrid. Os resultados mostraram que MigBSP oferece oportunidade de ganhar desempenho sem alterações no código fonte da aplicação. MigBSP torna possível ganhos de desempenho na casa de 20%, bem como produz uma baixa sobrecarga quando migrações são inviáveis. Sua sobrecarga média ficou abaixo de 8% do tempo de execução normal da aplicação. Essa taxa foi obtida desabilitando quaisquer migrações indicadas por MigBSP. Os resultados mostraram que a união das métricas consideradas é uma boa solução para o controle de migração de processos. Além disso, eles revelaram que as adaptações desenvolvidas na freqüência do reescalonamento são cruciais para tornar a execução de MigBSP viável, principalmente em ambientes desbalanceados. / This thesis treats the processes rescheduling problem during application runtime, offering dynamic load rebalancing among the available resources. Since most distributed computing scenarios involve more and more resources and dynamic applications, the load is a variable measure and an initial processes-processors deployment may not remain efficient with time. The resources and the network states can vary during application execution, as well as the amount of processing and the interactions among the processes. Consequently, the remapping of processes to new processors is pertinent to improve resource utilization and to minimize application execution time. In this context, this thesis presents a rescheduling model called MigBSP, which controls the processes migration of BSP (Bulk Synchronous Parallel) applications. BSP application model was adopted because it turns parallel programming easier and is very common in scientific applications development scenarios. Considering the scope of BSP applications, the novel ideas of MigBSP are threefold: (i) combination of three metrics - Memory, Computation and Communication - in a scalar one in order to measure the potential of migration of each BSP process; (ii) employment of both Computation and Communication Patterns to control processes’ regularity and; (iii) efficient adaptation regarding the periodicity to launch processes rescheduling. In our infrastructure, we are considering heterogeneous (different processor and network speed) distributed systems. The processes can pass messages among themselves and the parallel machine can gather local area networks and clusters. The proposed model provides a mathematical formalism to decide the following questions about load (BSP processes) balancing: (i) When to launch the processes rescheduling; (ii) Which processes will be candidates for migration and; (iii) Where to put the processes that will be migrated actually. We used the simulation technique to validate MigBSP. Besides MigBSP, three scientific application were developed and executed using Simgrid simulator. In general, the results showed that MigBSP offers an opportunity to get performance in an effortless manner to the programmer since its does not need modification on application code. MigBSP makes possible gains of performance up to 20% as well as produces a low overhead when migrations do not take place. Its mean overhead is lower than 8% of the normal application execution time. This rate was obtained disabling any processes migration indicated by MigBSP. The results show that the union of considered metrics is a good solution to control processes migration. Moreover, they revealed that the developed adaptations are crucial to turn MigBSP execution viable, mainly on unbalanced environments.
164

Aplicação da metaheuristica busca dispersa ao problema do ajuste de historico / Application of the scatter serach methaheuristic to the history matching problem

Sousa, Sergio Henrique Guerra de 13 August 2018 (has links)
Orientadores: Denis Jose Schiozer, Celio Maschio / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Mecanica e Instituto de Geociencias / Made available in DSpace on 2018-08-13T03:31:41Z (GMT). No. of bitstreams: 1 Sousa_SergioHenriqueGuerrade_M.pdf: 1592526 bytes, checksum: a308d06cf11fb891b71f7b3396952356 (MD5) Previous issue date: 2007 / Resumo: O problema do ajuste de histórico é uma das tarefas que mais demandam tempo em um estudo de reservatório baseado em simulações de fluxo, porque é um problema inverso onde os resultados (dados de produção) são conhecidos, porém os valores de entrada (a caracterização do reservatório) não são integralmente conhecidos. Adicionalmente, as funções objetivo que medem a qualidade do ajuste costumam ser expressões compostas por uma série de componentes que tornam a topologia do espaço de soluções complexa e repleta de não linearidades. A metodologia adotada neste trabalho foi a modelagem do problema de ajuste de histórico como um problema de otimização combinatória de modo que ele pudesse ser abordado através de processos metaheurísticos. Em particular, a metaheurística Busca Dispersa (Scatter Search) foi acoplada a um algoritmo de Busca Direta baseado no método de Hooke e Jeeves para resolver o problema do ajuste de histórico. Reservatórios sintéticos de solução conhecida foram utilizados para fazer a validação da metodologia e, em seguida, ela foi aplicada a outro reservatório, também sintético, mas com características de reservatórios reais onde a solução do ajuste é desconhecida. São discutidos ao longo do texto o uso da metodologia de forma automática e assistida e também os benefícios do uso da computação distribuída na execução do método. As maiores contribuições deste trabalho em relação à questão do ajuste de histórico são: a introdução de uma nova metodologia versátil para uso automático ou assistido, a discussão de algumas características que dificultam o processo de ajuste e de que forma eles podem ser contornados e também a abordagem do tema do ajuste automático vs. o ajuste assistido ilustrado com exemplos. / Abstract: The history matching problem is one of the most demanding tasks in a reservoir simulation study; because it's an inverse problem where the results (production data) are known but the input data (the reservoir characterization data) are not entirely known. Moreover, the objective function that guide the match is usually made out of a series of components that make the topology of the objective function both complex and full of non-linearities. The methodology adopted in this work was to model the history matching problem as a combinatorial optimization problem in order for it to be solved by metaheuristic processes. In particular, the Scatter Search metaheuristic was coupled with a direct search method based on Hooke and Jeeve's method to solve the history matching problem. Synthetic reservoirs of known solutions where used to validate the methodology and then the methodology was applied to another reservoir, also synthetic, but with characteristics of real reservoirs where the solution is not known in advance. Throughout the text, the mixed use of the methodology on both an assisted and automatic fashion is discussed along with the benefits attained by the use of distributed computing resources. The greatest contributions of this work related to the history matching problem are: the introduction of a new versatile methodology for both automatic and assisted matches, the discussion of some characteristics that burden the entire process and some ways to overcome the difficulties, and also the discussion of some tradeoffs between automatic versus assisted history matching with examples to illustrate the matter. / Mestrado / Reservatórios e Gestão / Mestre em Ciências e Engenharia de Petróleo
165

Adaptatividade hp em paralelo / Hp adaptive technique in parallel

Rylo, Edimar Cesar 14 August 2018 (has links)
Orientador: Philippe Remy Bernard Devloo / Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Civil, Arquitetura e Urbanismo / Made available in DSpace on 2018-08-14T01:58:48Z (GMT). No. of bitstreams: 1 Rylo_EdimarCesar_D.pdf: 6164747 bytes, checksum: e5675a350bb563815a0ed3a28155e3ee (MD5) Previous issue date: 2007 / Resumo: Esse trabalho apresenta uma abordagem para a implementação de métodos auto-adaptativos hp em malhas de elementos finitos utilizando processamento paralelo para a seleção do padrão hp a ser utilizado em cada elemento da malha. Dois tópicos são destacados: análise da qualidade da aproximação e modo de melhoria do espaço de aproximação. O trabalho apresentado propõe uma estrutura para a implementação de métodos hp autoadaptativos no ambiente PZ. Essa estrutura é genérica e pode ser utilizada independentemente de: formulação fraca, tipo de elemento utilizado, método de resolução etc. A estrutura proposta define a interface requerida de um estimador de erros, bem como a interface para a seleção do padrão de refinamento. Tal interface contempla a possibilidade de análise de malhas com elementos contínuos ou descontínuos. A implementação apresentada contempla o processamento em máquinas paralelas, de modo que o tempo de obtenção de uma malha adaptada seja aceitável em aplicações práticas. O cálculo do erro bem como a definição dos padrões de refinamento pode ser feito utilizando processamento paralelo, em ambientes com memória compartilhada ou distribuída. Uma metodologia de refinamento h baseado em padrões de refinamento foi desenvolvida, implementada e validada. Essa metodologia facilita a implementação de padrões de refinamento. Em contrapartida, a geração de malhas com espaços de aproximação contínuos impõe restrições para a seleção do padrão de refinamento de um elemento. Assim, para a seleção de um padrão de refinamento de um elemento foi desenvolvida uma metodologia de análise de padrões admissíveis. A seleção do padrão de refinamento tendo por base uma análise de padrões admissíveis é um ponto que requer novas pesquisas, sendo considerado um dos desafios da auto-adaptatividade (ver Zienkiewicz [55]). / Abstract: This work presents a study of hp adaptive methods applied to finite element approximations. Two topics are emphasized: analysis of the quality of the approximation and methodology of refinement of the approximation space. The main objective of the work is to conceive a framework for developing hp-adaptive algorithms within the PZ environment. The framework is independent of the weak statement, type of element or resolution method. The framework uses separate interfaces to define the error estimation method and selection of refinement pattern. Secondly, the framework was ported to parallel processing using the object oriented framework OOPar. The intent of parallelizing the adaptive process is to reduce the time spent in error estimation and choice of the optimal refinement pattern and thus bring adaptivity to a level where it can be used as a routine analysis method. Both error estimation and choice of refinement pattern are implemented on a shared and/or distributed machine. Finally, a methodology was developed to extend the h-adaptive refinement process based on refinement patterns. Together with the implementation of refinement patterns, a procedure was developed to check on the compatibility of refinement patterns of two neighboring elements. The choice of the "best" refinement patterns is one of the main challenges of adaptive methods (Zienkiewicz [55]). The availability of different ways of refining elements increases the flexibility of the code, but also introduces the challenge of deciding which pattern is the "best" pattern. It is possible that the combination of optimized h-refinement together with choice of h and/or p refinement may lead to very efficient approximation spaces for a given problem. / Doutorado / Estruturas / Doutor em Engenharia Civil
166

Técnicas de computação paralela aplicadas ao método das características em sistemas hidráulicos = Parallel computing applied to method of characteristics in hydraulic systems. / Parallel computing applied to method of characteristics in hydraulic systems

Nascimento Júnior, Orlando Saraiva, 1981- 22 August 2018 (has links)
Orientadores: Vitor Rafael Coluci, Lubienska Cristina Lucas Jaquiê Ribeiro / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Tecnologia / Made available in DSpace on 2018-08-22T12:49:14Z (GMT). No. of bitstreams: 1 NascimentoJunior_OrlandoSaraiva_M.pdf: 5339800 bytes, checksum: f37d5c4041d5404f5f45d33c5af054c5 (MD5) Previous issue date: 2013 / Resumo: Uma instalação hidráulica é um conjunto de dispositivos hidromecânicos e tubos com a função de transportar um fluido. O controle do escoamento deste fluido ocorre por meio de manobras nos dispositivos hidromecânicos. Uma investigação sobre o impacto das manobras destes dispositivos em uma instalação hidráulica pode evitar danos físicos ao sistema (como rompimento de tubos, por exemplo). Uma das formas de se investigar o efeito destas manobras é por meio da simulação. A simulação permite estudar um sistema hidráulico, que após uma manobra hidráulica sai de uma situação contínua (regime permanente inicial), entra em um estado transitório (regime transiente) para posteriormente entrar em uma nova situação contínua (regime permanente final). No regime de transiente hidráulico são formadas ondas de sobrepressão e subpressão internas na tubulação e que podem levar a danos. Um dos métodos mais aceitos para simulações de transiente hidráulico é o método das características, que permite transformar as equações diferenciais parciais que descrevem o fenômeno em um conjunto de equações diferenciais ordinárias. Dependendo do tamanho do sistema hidráulico (número e comprimento de tubos, número de dispositivos eletromecânicos, etc), o custo computacional pode ser elevado para se obter as informações sobre o comportamento do transiente. Neste trabalho aplicamos técnicas de computação paralela em placas de vídeos para processamento de propósito geral (GPU) e em multi-núcleos (OpenMP) para acelerar os cálculos do transiente hidráulico. Utilizamos um sistema hidráulico composto por um reservatório, uma válvula e um tubo e determinamos o ganho de desempenho em função do tamanho do tubo do sistema. A técnica OpenMP forneceu ganhos computacionais de até 3.3× enquanto a técnica envolvendo GPUs forneceu ganhos de 17×. Dessa forma, placas gráficas se mostraram muito interessantes para acelerar simulações de transientes hidráulicos com o método das características / Abstract: A hydraulic system is a set of hydromechanical devices and tubes designed to transport fluids through controlled operations. Investigating the impact of these operations on hydraulic systems can avoid physical damage to its parts (such as breakage of pipes, for example). One way to investigate these impacts is through computational simulations. The simulations allow to study a hydraulic system during initial and final steady states (after some device operation, for instance), and the transient state between them. During the hydraulic transient state, high and low pressure waves are formed in the tubes and are the main cause of tube damages. One of the most accepted methods for transient hydraulic simulations is the method of characteristics, which allows to transform the partial differential equations that describe the phenomenon in a set of ordinary differential equations. Depending on the size of the hydraulic system (number and length of tubes, number of electromechanical devices, etc), the computational cost to obtain information about the behavior of the transient can be large. In this work, we apply techniques of parallel computing involving video cards for general purpose processing (GPU) and multi-cores (OpenMP) to accelerate hydraulic transient calculations. We simulated a hydraulic system consisting of a reservoir, a valve and a pipe to determine the performance speedup as a function of the size of the pipe. The OpenMP technique provided computational speedup up to 3.3× whereas the GPU technique provided speedup of 17×. Therefore, our results indicated that GPUs are very interesting to accelerate hydraulic transients simulations using the method of characteristics / Mestrado / Tecnologia e Inovação / Mestre em Tecnologia
167

Simulação acelerada de baixo custo para aplicações em nanoengenharia de materiais / Low cost accelerated simulation for application in nanoengineering materials

Turatti, Luiz Gustavo, 1977- 23 August 2018 (has links)
Orientadores: Jacobus Willibrordus Swart, Stanislav Moshkalev / Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação / Made available in DSpace on 2018-08-23T22:11:44Z (GMT). No. of bitstreams: 1 Turatti_LuizGustavo_D.pdf: 35255933 bytes, checksum: dbbe11c7c0f55012ba27274415c2494d (MD5) Previous issue date: 2013 / Resumo: Este é um trabalho multidisciplinar que aborda questões de química, física, engenharia elétrica (nanoengenharia) e principalmente avanços obtidos com simulações por computador. Os programas comumente utilizados para simulações de fótons/íons focalizados em outro material consomem recursos computacionais por diversas horas ou até dias, para concluir os cálculos de determinado experimento, como a simulação de um processo efetuado com o equipamento FIB/SEM (Focused Ion Beam/Scanning Electron Miscroscopy), por exemplo. Através do uso de ambientes computacionais virtualizados, associados a programação paralela em CPU (Central Processing Unit) e GPGPU (General Purpose Graphics Processing Unit) é possível reduzir significativamente o tempo da simulação de horas para minutos, em situações de interação de partículas, que envolvem aproximação de colisões binárias (BCA, Binary Collision Approximation) e o Método de Monte Carlo (MMC), principalmente. O uso de placas gráficas (comumente utilizadas para jogos) potencializou o poder de processamento numérico para uso acadêmico a baixo custo, reduzindo o tempo para obtenção de resultados que foram comprovados experimentalmente. A utilização de programas análogos que empregam BCA e MMC, tais como TRIM/SRIM (Transport of Ions in Matter, atualizado para Stopping and Range of Ions in Matter), MCML (Monte Carlo for Multi Layered media) e CUDAMCML (Compute Unified Device Architecture, MCML) auxiliam a comparação de ganho de desempenho entre CPU e GPGPU evidenciando o melhor desempenho desta última arquitetura, com CUDA. Em simulações equivalentes com matrizes esparsas executadas em CPU e GPGPU, a redução do tempo de processamento variou entre três e quinze mil vezes, respectivamente. Com o Método de Monte Carlo, a redução foi de até cento e quarenta e uma vezes para melhores resultados. As simulações de alto desempenho e baixo custo computacional permitem antever algumas situações experimentais, diminuindo a necessidade de explorar todas as possibilidades práticas e, dessa forma, reduzindo o custo com laboratório / Abstract: This is a multidisciplinary work that addresses issues of chemistry, physics, electrical engineering (Nanoengineering) and especially advances obtained with computer simulations. Programs commonly used for simulations of photons/ions focused onto other materials consume computational resources for several hours or even days, to complete the simulations of a process performed with the equipment FIB/SEM (Focused Ion Beam/Scanning Electron Miscroscopy), for example. Through virtualized computing environments associated with parallel programming on CPU (Central Processing Unit) and GPGPU (General Purpose Graphics Processing Unit) is possible to significantly reduce the simulation total time from hours to minutes in the interactions of particles, involving binary collision approximation (BCA) and Monte Carlo method (MMC), mostly. The use of graphics cards (generaly used for games) enhanced the numerical processing power to be used in academia with low cost and reduced the time to obtain results experimentally verified. The use of similar software using BCA and MMC, such as TRIM/SRIM (Transport of Ions in Matter, upgraded to Stopping and Range of Ions in Matter), MCML (Monte Carlo for Multi Layered media) and CUDAMCML (Compute Unified Device Architecture, MCML) helped us to make a comparison of performance between CPU and GPGPU showing the best performance of the latter architecture, with CUDA. In equivalent simulations using sparse matrices in CPU and GPGPU, the time reduction of processing varied between three and fifteen thousand times, respectively. With the Monte Carlo method, reduction was up to one hundred forty one times for best results. Simulations of high performance and low computational cost allow us to predict some experimental situations, reducing the need to explore all practical possibilities and thus, reducing the lab costs / Doutorado / Eletrônica, Microeletrônica e Optoeletrônica / Doutor em Engenharia Elétrica
168

PROGRAMAÇÃO PARALELA HÍBRIDA PARA CPU E GPU: UMA AVALIAÇÃO DO OPENACC FRENTE A OPENMP E CUDA / HYBRID PARALLEL PROGRAMMING FOR CPU AND GPU: AN EVALUATION OF OPENACC AS RELATED TO OPENMP AND CUDA

Sulzbach, Maurício 22 August 2014 (has links)
As a consequence of the CPU and GPU's architectures advance, in the last years there was a raise of the number of parallel programming APIs for both devices. While OpenMP is used to make parallel programs for the CPU, CUDA and OpenACC are employed in the parallel processing in the GPU. In the programming for the GPU, CUDA presents a model based on functions that make the source code extensive and prone to errors, in addition to leading to low development productivity. OpenACC emerged aiming to solve these problems and to be an alternative to the utilization of CUDA. Similar to OpenMP, this API has policies that ease the development of parallel applications that run on the GPU only. To further increase performance and take advantage of the parallel aspects of both CPU and GPU, it is possible to develop hybrid algorithms that split the processing on the two devices. In that sense, the main objective of this work is to verify if the advantages that OpenACC introduces are also positively reflected on the hybrid programming using OpenMP, if compared to the OpenMP + CUDA model. A second objective of this work is to identify aspects of the two programming models that could limit the performance or on the applications' development. As a way to accomplish these goals, this work presents the development of three hybrid parallel algorithms that are based on the Rodinia's benchmark algorithms, namely, RNG, Hotspot and SRAD, using the hybrid models OpenMP + CUDA and OpenMP + OpenACC. In these algorithms, the CPU part of the code is programmed using OpenMP, while it's assigned for the CUDA and OpenACC the parallel processing on the GPU. After the execution of the hybrid algorithms, the performance, efficiency and the processing's splitting in each one of the devices were analyzed. It was verified, through the hybrid algorithms' runs, that, in the two proposed programming models it was possible to outperform the performance of a parallel application that runs on a single API and in only one of the devices. In addition to that, in the hybrid algorithms RNG and Hotspot, CUDA's performance was superior to that of OpenACC, while in the SRAD algorithm OpenACC was faster than CUDA. / Como consequência do avanço das arquiteturas de CPU e GPU, nos últimos anos houve um aumento no número de APIs de programação paralela para os dois dispositivos. Enquanto que OpenMP é utilizada no processamento paralelo em CPU, CUDA e OpenACC são empregadas no processamento paralelo em GPU. Na programação para GPU, CUDA apresenta um modelo baseado em funções que deixam o código fonte extenso e propenso a erros, além de acarretar uma baixa produtividade no desenvolvimento. Objetivando solucionar esses problemas e sendo uma alternativa à utilização de CUDA surgiu o OpenACC. Semelhante ao OpenMP, essa API disponibiliza diretivas que facilitam o desenvolvimento de aplicações paralelas, porém para execução em GPU. Para aumentar ainda mais o desempenho e tirar proveito da capacidade de paralelismo de CPU e GPU, é possível desenvolver algoritmos híbridos que dividam o processamento nos dois dispositivos. Nesse sentido, este trabalho objetiva verificar se as facilidades que o OpenACC introduz também refletem positivamente na programação híbrida com OpenMP, se comparado ao modelo OpenMP + CUDA. Além disso, o trabalho visa relatar as limitações nos dois modelos de programação híbrida que possam influenciar no desempenho ou no desenvolvimento de aplicações. Como forma de cumprir essas metas, este trabalho apresenta o desenvolvimento de três algoritmos paralelos híbridos baseados nos algoritmos do benchmark Rodinia, a saber, RNG, Hotspot e SRAD, utilizando os modelos híbridos OpenMP + CUDA e OpenMP + OpenACC. Nesses algoritmos é atribuída ao OpenMP a execução paralela em CPU, enquanto que CUDA e OpenACC são responsáveis pelo processamento paralelo em GPU. Após as execuções dos algoritmos híbridos foram analisados o desempenho, a eficiência e a divisão da execução em cada um dos dispositivos. Verificou-se através das execuções dos algoritmos híbridos que nos dois modelos de programação propostos foi possível superar o desempenho de uma aplicação paralela em uma única API, com execução em apenas um dos dispositivos. Além disso, nos algoritmos híbridos RNG e Hotspot o desempenho de CUDA foi superior ao desempenho de OpenACC, enquanto que no algoritmo SRAD a API OpenACC apresentou uma execução mais rápida, se comparada à API CUDA.
169

LUTS : a Light-Weight User-Level Transaction Scheduler / LUTS : a Light-Weight User-Level Transaction Scheduler

Nicácio, Daniel Henricus de Knegt Dutra, 1984- 22 August 2018 (has links)
Orientador: Guido Costa Souza de Araújo / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-22T08:27:32Z (GMT). No. of bitstreams: 1 Nicacio_DanielHenricusdeKnegtDutra_D.pdf: 2579331 bytes, checksum: b8e15a6f91203b98455f39d63d63a634 (MD5) Previous issue date: 2012 / Resumo: Sistemas de Memória Transacional em Software (MTS) têm sido usados como uma abordagem para melhorar o desempenho ao permitir a execução concorrente de blocos atômicos. Porém, em cenários com alta contenção, sistemas baseados em MTS podem diminuir o desempenho consideravelmente, já que a taxa de conflitos aumenta. Políticas de gerenciamento de contenção têm sido usadas como uma forma de selecionar qual transação abortar quando um conflito ocorre. No geral, gerenciadores de contenção não são capazes de evitar conflitos, tendo em vista que eles apenas selecionam qual transação abortar e o momento em que ela deve reiniciar. Como gerenciadores de contenção agem somente após a detecção de um conflito, é difícil aumentar a taxa de transações finalizadas com sucesso. Abordagens mais pró-ativas foram propostas, focando na previsão de quando uma transação deve abortar e atrasando o início de sua execução. Contudo, as técnicas pró-ativas continuam sendo limitadas, já que elas não substituem a transação fadada a abortar por outra transação com melhores probabilidades de sucesso, ou quando o fazem, dependem do sistema operacional para essa tarefa, tendo pouco ou nenhum controle de qual transação será a substituta. Esta tese apresenta o LUTS, Lightweight User-Level Transaction Scheduler, um escalonador de transação de baixo custo em nível de usuário. Diferente de outras técnicas, LUTS provê maneiras de selecionar outra transação a ser executada em paralelo, melhorando o desempenho do sistema. Nós discutimos o projeto do LUTS e propomos uma heurística dinâmica, com o objetivo de evitar conflitos, que foi construída utilizando os métodos disponibilizados pelo LUTS. Resultados experimentais, conduzidos com os conjuntos de aplicações STAMP e STMBench7, e executando nas bibliotecas TinySTM e SwissTM, mostram como nossa heurística para evitar conflitos pode melhorar efetivamente o desempenho de sistema de MTS em aplicações com alta contenção / Abstract: Software Transaction Memory (STM) systems have been used as an approach to improve performance, by allowing the concurrent execution of atomic blocks. However, under high-contention workloads, STM-based systems can considerably degrade performance, as transaction conflict rate increases. Contention management policies have been used as a way to select which transaction to abort when a conflict occurs. In general, contention managers are not capable of avoiding conflicts, as they can only select which transaction to abort and the moment it should restart. Since contention manager's act only after a conflict is detected, it becomes harder to effectively increase transaction throughput. More proactive approaches have emerged, aiming at predicting when a transaction is likely to abort, postponing its execution. Nevertheless, most of the proposed proactive techniques are limited, as they do not replace the doomed transaction by another or, when they do, they rely on the operating system for that, having little or no control on which transaction to run. This article proposes LUTS, a Lightweight User-Level Transaction Scheduler. Unlike other techniques, LUTS provides the means for selecting another transaction to run in parallel, thus improving system throughput. We discuss LUTS design and propose a dynamic conflict-avoidance heuristic built around its scheduling capabilities. Experimental results, conducted with the STAMP and STMBench7 benchmark suites, running on TinySTM and SwissTM, show how our conflict-avoidance heuristic can effectively improve STM performance on high contention applications / Doutorado / Ciência da Computação / Doutor em Ciência da Computação
170

GPU implementation of a fluid dynamics interactive simulator based on the Lattice Boltzmann method = Implementação em GPU de um simulador interativo de fluidodinâmica com o método das Redes de Boltzmann / Implementação em GPU de um simulador interativo de fluidodinâmica com o método das Redes de Boltzmann

Oliveira, Fabíola Martins Campos de, 1988- 27 August 2018 (has links)
Orientador: Luiz Otávio Saraiva Ferreira / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Mecânica / Made available in DSpace on 2018-08-27T02:13:59Z (GMT). No. of bitstreams: 1 Oliveira_FabiolaMartinsCamposde_M.pdf: 13513306 bytes, checksum: fd54d4a28df68e3217dbd8316b6aeadd (MD5) Previous issue date: 2015 / Resumo: Recentes avanços na tecnologia de processadores multinúcleos e vários-núcleos popularizaram a computação paralela, acelerando a execução de programas e possibilitando a simulação de domínios maiores. Dentre os problemas complexos que requerem alta velocidade de processamento, os problemas de fluidodinâmica computacional se destacam, já que suas simulações tendem a ter um alto custo computacional e exigem grandes domínios de simulação. O método baseado nas Redes de Boltzmann é um método de fluidodinâmica computacional apropriado para o uso de paralelismo que vem ganhando destaque na comunidade científica. Embora haja trabalhos que explorem o paralelismo em GPU nesse método, um simulador eficiente na execução e visualização interativa ainda não foi explorado adequadamente. Assim, a proposta deste trabalho é implementar em GPU um simulador interativo de fluidodinâmica com o método das Redes de Boltzmann. Inicialmente, o simulador foi desenvolvido em linguagem C e foi paralelizado em CPU usando MPI. Em seguida, foi paralelizado em GPU usando CUDA e convertido para linguagem orientada a objetos em C++. Depois, a visualização interativa foi acrescentada utilizando técnicas como interoperabilidade entre CUDA e OpenGL, texturização 3D, fluxo programável da GPU, além de funções de interação com o usuário. O simulador foi validado para casos 2D e 3D em fluxos monocomponentes monofásicos. Além disso, para demonstrar o ganho de desempenho em velocidade de processamento de problemas paralelizados em relação a execuções sequenciais, um conjunto de testes com tamanhos crescentes de domínio foi desenvolvido. O resultado dessa comparação indicou que o simulador implementado em GPU com visualização interativa teve desempenho 71.3 vezes maior em relação à versão sequencial em CPU sem visualização interativa. Dessa forma, a abordagem de paralelização em GPU com visualização interativa mostrou-se muito adequada à execução de simulações fluidodinâmicas, sendo uma ferramenta útil no estudo de escoamentos fluídicos, capaz de executar inúmeros cálculos e lidar com a grande quantidade de memória exigida por simulações fluídicas / Abstract: Recent advances on multicore and many-core processor technology have popularized the parallel computing, accelerating program execution and enabling the simulation of larger domains. Within the complex problems that require a high processing speed, the computational fluid dynamics problems stand out, since their simulations tend to have high computational cost and demand large simulation domains. The method based on the Lattice Boltzmann is an appropriate computational fluid dynamics algorithm to explore parallelism that has been noteworthy in scientific community. Although there are several works that approach GPU parallelism in this method, an efficient simulator implementation and interactive visualization have not been explored adequately. Thus, the purpose of this work is to implement in GPU an interactive fluid dynamics simulator based on the Lattice Boltzmann method. First, the simulator was developed in C language and was parallelized in CPU using MPI. Next, it was parallelized in GPU using CUDA and converted into C++ object-oriented language. Then, the interactive visualization was added using techniques such as CUDA-OpenGL interoperability, 3D texturing, GPU programmable pipeline, and interaction features. The simulator was validated for 2D and 3D cases in single component, single phase flows. Besides that, to show the performance gain in processing velocity of parallelized problems in relation to sequential executions, a test set with increasing domain sizes was developed. This comparison result indicated the GPU-implemented interactive simulator was 71.3 times faster in relation to sequential CPU version without interactive visualization. Thereby, the GPU parallelization approach with interactive visualization showed to be very adequate to fluid dynamics simulations, being a useful tool in fluid flow study, capable of simulating numerous calculations and dealing with the large amount of memory required in fluidic simulations / Mestrado / Mecanica dos Sólidos e Projeto Mecanico / Mestra em Engenharia Mecânica

Page generated in 0.098 seconds