Spelling suggestions: "subject:"programação paralela"" "subject:"programação paralelas""
41 |
Algoritmos memeticos paralelos aplicados a problemas de otimização combinatoriaGarcia, Vinicius Jacques 01 August 2018 (has links)
Orientador : Paulo Morelato França / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de Computação / Made available in DSpace on 2018-08-01T22:11:51Z (GMT). No. of bitstreams: 1
Garcia_ViniciusJacques_M.pdf: 1139020 bytes, checksum: 17565f60e3c310bc25176ac8734a07b6 (MD5)
Previous issue date: 2002 / Mestrado
|
42 |
Planejamento de produção da manufatura : analise de desempenho de algoritmos em ambiente paralelizadoTakahashi, Marcia Tomie 31 March 2000 (has links)
Orientadores: Akebo Yamakami, Marcius Fabius Henriques de Carvalho / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de Computação / Made available in DSpace on 2018-07-26T00:18:33Z (GMT). No. of bitstreams: 1
Takahashi_MarciaTomie_M.pdf: 4855054 bytes, checksum: 254a9111230a0122347cac87871a420e (MD5)
Previous issue date: 2000 / Resumo: Em um problema de planejamento da produção, dado um ambiente de manufatura multiestágio, multiperíodo, multiproduto com demanda determinística, é importante a determinação de um conjunto de decisões que, num horizonte de planejamento e explorando a capacidade do sistema, evite atrasos e não atendimento aos pedidos dos clientes.
O objetivo deste trabalho é o estudo do método de decomposição de Dantzig- Wolfe para a resolução deste problema trabalhando com a estrutura especial bloco-angular nas restrições. Aproveitando o paralelismo natural do problema, um estudo é realizado em um ambiente paralelizado com arquitetura do tipo MIMD, visando analisar o comportamento do método. Os programas visam a estrutura do método e são do tipo mestre-trabalhador com comunicação por troca de mensagens. A seguir, é feita uma comparação com outros métodos: Penalização Linear-Quadrática, Pontos Interiores e Simplex. A comparação dos métodos é feita utilizando o tempo (CPU time) na resolução dos cenários gerados a partir de dados reais de uma empresa / Abstract: In a production planning problem, for a multistage multiperiod multiproduct manufacturing environment with deterministic demand, the determination of a decision set that avoid backorder satisfacting system constraints is a crucial problem. In this work, the special block-angular structure of the problem is explored using the Dantzig- Wolfe decomposition method. AIso, exploring the natural parallel structure of the problem and the studied method, parallel environment (MIMD architeture) has been used. The programs are master-workers type. All inter-task communication is by message passing. After, Dantzig-Wolfe method is compared with Linear-Quadratic Penalty, Interior Point and Simplex methods. Several scenarios were created with real data from a brazilian industry. The methods comparison is done using the CPU time / Mestrado / Mestre em Engenharia Elétrica
|
43 |
Methods for avoiding round-off errors on 2D and 3D geometric simplification / Methods for avoiding round-off errors on 2D and 3D geometric simplificationGruppi, Maurício Gouveia 23 November 2016 (has links)
Submitted by Marco Antônio de Ramos Chagas (mchagas@ufv.br) on 2017-02-02T12:40:52Z
No. of bitstreams: 1
texto completo.pdf: 4553880 bytes, checksum: df41256758e1eed020511478d544566b (MD5) / Made available in DSpace on 2017-02-02T12:40:52Z (GMT). No. of bitstreams: 1
texto completo.pdf: 4553880 bytes, checksum: df41256758e1eed020511478d544566b (MD5)
Previous issue date: 2016-11-23 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Neste trabalho avaliou-se a ocorrência de erros de arredondamento decorrentes do uso de aritmética de ponto-flutuante em algoritmos de simplificação geométrica 2D e 3D. Erros de arredondamento podem fazer com que algoritmos produzam resultados topologicamente inconsistentes, isto ́e, resultados que violam alguma característica crucial do modelo original. Foram mostradas situações em que inconsistências ocorrem, mesmo em algoritmos projetados para evitá-las. Visando contornar este problema, dois métodos foram propostos: EPLSimp, para simplificação de linhas, e UGSimp para simplificação de malhas triangulares. Em ambos os métodos, testes preemptivos para verificação de inconsistência topológica foram realizados utilizando-se núumeros racionais de precisão múltipla, em vez de números de ponto-flutuante. O uso de números racionais não gera erros de arredondamento, entretanto o uso de precisão múltipla implica em um aumento no tempo de execução dos algoritmos. Para compensar esta redução de desempenho, os algoritmos foram implementados com o paradigma de computação paralela. Como resultado, temos dois métodos de simplificação isentos de erros de arredondamento por ponto- flutuante. Testes mostraram um ganho considerável no tempo de execução com as implementações paralelas. / In this work, we evaluated the occurrence of round-off errors on floating-point arith- metic for the problem of 2D and 3D geometric simplification. Round-off errors may lead algorithms to produce topologically inconsistent results, that is, results that fail to preserve crucial features of the original model. Some algorithms are designed to avoid such inconsistencies, however, they are usually implemented with floating- point arithmetic. Even these algorithms may fail to output topologically consistent results due to round-off errors. In order to overcome this issue, two methods were proposed: EPLSimp for polyline simplification, and UGSimp, for triangular mesh simplification. On both methods, preemptive tests are carried out to detect and pre- vent topological inconsistencies. Such tests use multiple precision rational numbers instead of floating-point numbers. The use of rational numbers does not present round-off errors. Nevertheless, it causes an increase on the execution time of the algorithms. To compensate for this performance loss, both algorithms were imple- mented using a parallel computing paradigm. As result, the methods presented do not output topologically inconsistent models. Tests have shown a considerable performance gain with parallel implementations of the proposed approaches.
|
44 |
Processamento a fluxo de dados tolerante a falhas em um computador paraleloSilva, Jorge Luiz e 18 December 1992 (has links)
Orientadores: Shusaburo Motoyama, Claudio Kirner / Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica / Made available in DSpace on 2018-07-17T11:53:47Z (GMT). No. of bitstreams: 1
Silva_JorgeLuize_D.pdf: 9332250 bytes, checksum: 7333ab47e718273c0c4a589b6727c50a (MD5)
Previous issue date: 1992 / Resumo: Este trabalho teve como objetivo analisar e desenvolver Programação a Fluxo de Dados Tolerante a Falhas em um computador paralelo estruturado recursivamente (CPER). O CPER é uma máquina paralela que possui uma estrutura básica constituída de N Elementos de Processamento (EP), interligados através de um barramento paralelo de alta velocidade, correspondendo ao barramento nível 1. Várias destas estruturas básicas interligadas através de um outro barramento constitui a estrutura do barramento nível 2. O uso recursivo desta mesma regra irá compor a estrutura hierárquica do CPER, que permite expansão, flexibilidade e alto grau de Tolerância a Falhas. Entretanto esta arquitetura pode não ser eficiente, se não utilizarmos conceitos de programação paralela. Propusemos então a Programação a Fluxo de Dados na estrutura hierárquica do CPER. Inicialmente apresentamos o hardware do CPER, e suas estruturas de alto desempenho. Em seguida, mostramos como o CPER opera para executar programas a fluxo de dados de forma dinâmica e mostramos também uma solução de software para garantir Tolerância a Falhas na programação a fluxo de Dados. Finalmente apresentamos um simulador (FDsim), e uma análise estocástica, que tiveram como objetivo mostrar viabilidade e eficiência da máquina paralela proposta / Abstract: In this work is analyzed the fault tolerant data flow processing in a computer based on hierarchical parallel buses. In this architecture, a set of N processors, each one called processing element (PE), are interconnected to a bus constituting a basic structure or cluster. The set of the buses of these basic structures correspond to the parallel buses leveI 1. Several basic structures of level 1 are interconnected to a bus constituting a cluster for the parallel buses leveI 2. The same idea can be recursively used to get parallel buses leveI M. This computer architecture based on hierarchical parallel buses permits the expansion flexibility and is highly fault tolerant computer. However, this architecture may not be efficient. If it is not utilized parallel programming concept. In this work we proposed the data flow processing for the execution of the programs in hierarchical parallel buses machine. First of alI, it is proposed hardware solution to get high throughput for inter-clusters and inter-Ievels communications in hierarchical parallel buses machine. FOllowing, it is discussed how the parallel buses computer can work as a dynamic data flow machine and it is proposed software solution to get fault tolerant processing. Finally, a software simulation is carried out to show the feasibility and efficiency of proposed parallel buses machine / Doutorado / Doutor em Engenharia Elétrica
|
45 |
Desenvolvimento de modelos para predição de desempenho de programas paralelos MPI. / Development of Performance Prediction Models for MPI Parallel ProgramsLaine, Jean Marcos 27 January 2003 (has links)
Existem muitos fatores capazes de influenciar o desempenho de um programa paralelo MPI (Message Passing Interface). Dentre esses fatores, podemos citar a quantidade de dados processados, o número de nós envolvidos na solução do problema, as características da rede de interconexão, o tipo de switch utilizado, entre outros. Por isso, realizar predições de desempenho sobre programas paralelos que utilizam passagem de mensagem não é uma tarefa trivial. Com o intuito de modelar e predizer o comportamento dos programas citados anteriormente, nosso trabalho foi desenvolvido baseado em uma metodologia de análise e predição de desempenho de programas paralelos MPI. Inicialmente, propomos um modelo gráfico, denominado DP*Graph+, para representar o código das aplicações. Em seguida, desenvolvemos modelos analíticos, utilizando técnicas de ajuste de curvas, para representar o comportamento das estruturas de repetição compostas por primitivas de comunicação e/ou computação local. Além disso, elaboramos modelos para predizer o comportamento de aplicações do tipo mestre/escravo. Durante o desenvolvimento das atividades de análise e predição de desempenho, implementamos algumas funções para automatizar tarefas e facilitar nosso trabalho. Por último, modelamos e estimamos o desempenho de duas versões diferentes de um programa de multiplicação de matrizes, a fim de validar os modelos propostos. Os resultados das predições realizadas sobre os programas de multiplicação de matrizes foram satisfatórios. Na maioria dos casos preditos, os erros ficaram abaixo de 6 %, confirmando a validade e a precisão dos modelos elaborados. / There are many factors able to influence the performance of a MPI (Message Passing Interface) parallel program. Within these factors, we may cite: amount of data, number of nodes, characteristics of the network and type of switch, among others. Then, performance prediction isnt a easy task. The work was developed based on a methodology of analysis and performance prediction of MPI parallel programs. First of all, we proposed a graphical model, named DP*Graph+, to represent the code of applications. Next, we developed analytical models applying curve fitting techniques to represent the behavior of repetition structure compounds by comunication primitives and/or local computations. Besides, we elaborated models to predict aplications of type master/slave. For development of performance prediction activities, some functions was developed to automate tasks and make our work easy. Finally, we modeled and predicted the performance of two different programs of matrix multiplication to prove the accuracy of models. The results of predictions on the programs were good. In the majority of predicted cases, the errors were down 6 %. With these results, we proved the accuracy of developed models.
|
46 |
Um ambiente de monitoramento de recursos e escalonamento cooperativo de aplicações paralelas em grades computacionais. / A resource monitoring and parallel application cooperative scheduling environment on computing grids.Paula, Nilton Cézar de 23 January 2009 (has links)
Grade computacional é uma alternativa para melhorar o desempenho de aplicações paralelas, por permitir o uso simultâneo de vários recursos distribuídos. Entretanto, para que a utilização de uma grade seja adequada, é necessário que os recursos sejam utilizados de maneira a permitir a otimização de algum critério. Para isto, várias estratégias de escalonamento têm sido propostas, mas o grande desafio é extrair o potencial que os recursos oferecem para a execução de aplicações paralelas. Uma estratégia bastante usada em sistemas de escalonamento atuais é escalonar uma aplicação paralela nos recursos de um único cluster. Contudo, apesar da estratégia ser simples, ela é muito limitada, devido principalmente a baixa utilização dos recursos. Este trabalho propõe e implementa o sistema GCSE (Grid Cooperative Scheduling Environment) que provê uma estratégia de escalonamento cooperativo para usar eficientemente os recursos distribuídos. Os processos de uma aplicação paralela podem ser distribuídos em recursos de vários clusters e computadores, todos conectados a redes de comunicação públicas. GCSE também gerencia a execução das aplicações, bem como oferece um conjunto de primitivas que fornece informações sobre os ambientes de execução para o suporte à comunicação entre processos. Além disto, uma estratégia de antecipação de dados é proposta para aumentar ainda mais o desempenho das aplicações. Para realizar um bom escalonamento é preciso descobrir os recursos distribuídos. Neste sentido, o sistema LIMA (Light-weIght Monitoring Architecture) foi projetado e implementado. Este sistema provê um conjunto de estratégias e mecanismos para o armazenamento distribuído e acesso eficiente às informações sobre os recursos distribuídos. Além disto, LIMA adiciona facilidades de descobrimento e integração com o GCSE e outros sistemas. Por fim, serão apresentados os testes e avaliações dos resultados com o uso integrado dos sistemas GCSE e LIMA, compondo um ambiente robusto para a execução de aplicações paralelas. / Computing grid is an alternative for improving the parallel application performance, because it allows the simultaneous use of many distributed resources. However, in order to take advantage of a grid, the resources must be used in such a way that some criteria can be optimized. Thus, various scheduling strategies have been proposed, but the great challenge is the exploitation of the potential that the resources provide to the parallel application execution. A strategy often used in current scheduling systems is to schedule a parallel application on resources of a single cluster. Even though this strategy is simple, it is very limited, mainly due to low resource utilization. This thesis proposes and implements the GCSE system (Grid Cooperative Scheduling Environment) that provides a cooperative scheduling strategy for efficiently using the distributed resources. The processes of a parallel application can be distributed in resources of many clusters and computers, and they are all connected by public communication networks. GCSE also manages the application execution, as well as offering a primitive set that provide information about the execution environments for ensuring the communication between processes. Moreover, a data advancement strategy is proposed for improving the application performance. In order to perform a good scheduling, the distributed resources must be discovered. Therefore, the LIMA system (Light-weIght Monitoring Architecture) was designed and implemented. This system provides both strategy and mechanism set for distributed storage and efficient access to information about the distributed resources. In addition, LIMA offers facilities for resource discovering and integrating its functionalities both GCSE and other systems. Finally, the tests and result evaluations are presented with the integrated use of both GCSE and LIMA systems, composing a robust environment for executing parallel application.
|
47 |
Modelagem e predição de desempenho de primitivas de comunicação MPI. / Performance modeling and prediction of MPI communication primitives.Oliveira, Hélio Marci de 28 January 2003 (has links)
O desenvolvimento de programas paralelos e distribuídos encontra na programação baseada em passagem de mensagens uma abordagem eficaz para explorar adequadamente as características das máquinas de memória distribuída. Com o uso de clusters e de bibliotecas de suporte às trocas de mensagens, como o padrão MPI (Message Passing Interface), aplicações eficientes e economicamente viáveis podem ser construídas. Em tais sistemas, o tempo despendido nas comunicações constitui um importante fator de desempenho a ser considerado e requer a utilização de procedimentos e cuidados para a sua correta caracterização. Neste trabalho, modelos analíticos de primitivas de comunicação bloqueante MPI são desenvolvidos segundo uma metodologia de análise e predição apropriada. São tratadas algumas das principais operações ponto-a-ponto e coletivas e, utilizando técnicas de ajuste de curvas e tempos experimentais, o comportamento das primitivas de comunicação é representado em equações, possibilitando ainda a realização de análises e predições de desempenho em função do tamanho das mensagens e do número de processos envolvidos. Através de testes em um cluster de estações de trabalho, a precisão dos modelos elaborados é comprovada. Sendo a maioria dos erros percentuais inferiores a 8%, os resultados obtidos confirmam a validade do processo de modelagem. Além disso, o trabalho apresenta um conjunto de funções construídas com o objetivo de oferecer suporte a atividades de análise e predição, procurando facilitar e automatizar sua execução. / The development of parallel and distributed programs finds at message-passing programming a powerful approach to explore properly the distributed memory machines issues. Using clusters and message-passing libraries, as MPI standard (Message Passing Interface), efficient and cost effective applications can be constructed. In these systems, the time spent with communications means a important performance factor to be considered and its correct characterization requires procedures and cautions. In this work, analytic models for MPI blocking communication primitives are developed according one appropriate methodology for analysis and prediction. Some of the main peer-to-peer and collective operations are treated, and through curve fitting techniques and experimental times the behavior of the communication primitives is represented in equations, allowing also the accomplishment of performance analysis and prediction in function of the message length and the number of processes. Tests realized in a cluster of workstations prove the accuracy of the elaborated models. With most of errors within 8%, the obtained results show the validity of the modeling process. Also, the work presents a set of functions constructed with the purpose of support analysis and prediction activities, in order to facilitate and automate them.
|
48 |
Ferramenta de programação e processamento para execução de aplicações com grandes quantidades de dados em ambientes distribuídos. / Programming and processing tool for execution of applications with large amounts of data in distributed environments.Vasata, Darlon 03 September 2018 (has links)
A temática envolvendo o processamento de grandes quantidades de dados é um tema amplamente discutido nos tempos atuais, envolvendo seus desafios e aplicabilidade. Neste trabalho é proposta uma ferramenta de programação para desenvolvimento e um ambiente de execução para aplicações com grandes quantidades de dados. O uso da ferramenta visa obter melhor desempenho de aplicações neste cenário, explorando o uso de recursos físicos como múltiplas linhas de execução em processadores com diversos núcleos e a programação distribuída, que utiliza múltiplos computadores interligados por uma rede de comunicação, de forma que estes operam conjuntamente em uma mesma aplicação, dividindo entre tais máquinas sua carga de processamento. A ferramenta proposta consiste na utilização de blocos de programação, de forma que tais blocos sejam compostos por tarefas, e sejam executados utilizando o modelo produtor consumidor, seguindo um fluxo de execução definido. A utilização da ferramenta permite que a divisão das tarefas entre as máquinas seja transparente ao usuário. Com a ferramenta, diversas funcionalidades podem ser utilizadas, como o uso de ciclos no fluxo de execução ou no adiantamento de tarefas, utilizando a estratégia de processamento especulativo. Os resultados do trabalho foram comparados a duas outras ferramentas de processamento de grandes quantidades de dados, Hadoop e que o uso da ferramenta proporciona aumento no desempenho das aplicações, principalmente quando executado em clusters homogêneos. / The topic involving the processing of large amounts of data is widely discussed subject currently, about its challenges and applicability. This work proposes a programming tool for development and an execution environment for applications with large amounts of data. The use of the tool aims to achieve better performance of applications in this scenario, exploring the use of physical resources such as multiple lines of execution in multi-core processors and distributed programming, which uses multiple computers interconnected by a communication network, so that they operate jointly in the same application, dividing such processing among such machines. The proposed tool consists of the use of programming blocks, so that these blocks are composed of tasks, and the blocks are executed using the producer consumer model, following an execution flow. The use of the tool allows the division of tasks between the machines to be transparent to the user. With the tool, several functionalities can be used, such as cycles in the execution flow or task advancing using the strategy of speculative processing. The results were compared with two other frameworks, Hadoop and Spark. These results indicate that the use of the tool provides an increase in the performance of the applications, mostly when executed in homogeneous clusters.
|
49 |
Programação paralela em GPU aplicada à técnica N-Scheme para solução de problemas eletrostáticos utilizando o método de elementos finitos /Kewitz, Leonardo Koch, 1989-, Vanti, Marcelo Grafulha, 1963-, Universidade Regional de Blumenau. Programa de Pós-Graduação em Engenharia Elétrica. January 2015 (has links) (PDF)
Orientador: Marcelo Grafulha Vanti. / Dissertação (Mestrado em Engenharia Elétrica) - Programa de Pós-Graduação em Engenharia Elétrica, Centro de Ciências Tecnológicas, Universidade Regional de Blumenau, Blumenau,
|
50 |
Geração das K-melhores soluções para o problema da mochila unidimensional em ambiente distribuídoRodrigo de Castro Penna Franca 01 November 1996 (has links)
Este trabalho sugere um algoritmo para ambiente distribuído que determina as K-melhores soluções para o problema da mochila unidimensional. O algoritmo baseia-se no trabalho de Yanasse, Soma e Maculan (1995), que trata da mesma questão para ambiente serial. Entretanto, convém ressaltar que a versão distribuída do algoritmo possui profundas modificações em relação à versão serial. Primeiramente, o algoritmo serial foi estudado e totalmente implementado. A segunda etapa do trabalho foi o desenvolvimento do algoritmo distribuído. Parte desta tarefa tratou da escolha de uma abordagem de implementação no ambiente distribuído. Duas abordagens foram levadas em consideração e os respectivos algoritmos foram implementados e testados. O paradigma divide and conquer para algoritmos paralelos foi o que prevaleceu. Quanto ao ambiente operacional, o algoritmo serial foi desenvolvido, na sua fase inicial, sobre a plataforma 486/Windows e linguagem de programação C++. Posteriormente, portou-se a aplicação para o ambiente RISC/UNIX. O algoritmo distribuído foi desenvolvido em linguagem de programação C++ aliada às funções da biblioteca PVM, Parallel Virtual Machine (Máquina Paralela Virtual), em uma rede de estações UNIX. Resutaldos computacionais são apresentados.
|
Page generated in 0.0583 seconds