• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 337
  • 21
  • 17
  • 6
  • 4
  • 4
  • 4
  • 4
  • 3
  • 1
  • 1
  • Tagged with
  • 384
  • 226
  • 191
  • 184
  • 96
  • 95
  • 68
  • 57
  • 54
  • 53
  • 46
  • 45
  • 42
  • 41
  • 39
  • 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.
141

Contratos formais para derivação e verificação de componentes paralelos / Formal contracts for derivation and verification of parallel componentes

Marcilon, Thiago Braga January 2012 (has links)
MARCILON, Thiago Braga. Contratos formais para derivação e verificação de componentes paralelos. 2012. 156 f. Dissertação (Mestrado em ciência da computação)- Universidade Federal do Ceará, Fortaleza-CE, 2012. / Submitted by Elineudson Ribeiro (elineudsonr@gmail.com) on 2016-07-12T18:10:13Z No. of bitstreams: 1 2012_dis_tbmarcilon.pdf: 1474623 bytes, checksum: e61fb07d3a835088ff5a53d4eb684f2d (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-22T12:39:34Z (GMT) No. of bitstreams: 1 2012_dis_tbmarcilon.pdf: 1474623 bytes, checksum: e61fb07d3a835088ff5a53d4eb684f2d (MD5) / Made available in DSpace on 2016-07-22T12:39:34Z (GMT). No. of bitstreams: 1 2012_dis_tbmarcilon.pdf: 1474623 bytes, checksum: e61fb07d3a835088ff5a53d4eb684f2d (MD5) Previous issue date: 2012 / The use of cloud computing to offer High Performance Computing (HPC) services has been widely discussed in the academia and industry. In this respect, this dissertation is included in the context of designing a cloud computing platform for the development of component-based parallel computing applications, referred as cloud of components. Many important challenges about using the cloud of components relate to parallel programming, an error-prone task due to synchronization issues, which may lead to abortion and production of incorrect data during execution of applications, and the inefficient use of computational resources. These problems may be very relevant in the case of long running applications with tight timelines to obtain critical results, quite common in the context of HPC. One possible solution to these problems is the formal analysis of the behavior of the components of an application through the cloud services, before their execution. Thus, the users of the components may know if a component can be safely used in their application. In this scenario, formal methods becomes useful. In this dissertation, it is proposed a process for specification and derivation of parallel components implementation for the cloud of components. This process involves the formal specification of the components behavior through contracts described using the Circus formal specification language. Then, through a refinement and translation process, which takes the contract as a start point, one may produce an implementation of a component that may execute on a parallel computing platform. Through this process, it becomes possible to offer guarantees to developers about the components behavior in their applications. To validate the proposed idea, the process is applied to contracts that have been described based on two benchmarks belonging to the NAS Parallel Benchmarks, widely adopted in HPC for evaluate the performance of parallel programming and computing platforms. / A aplicação de nuvens computacionais para oferecer serviços de Computação de Alto Desempenho (CAD) é um assunto bastante discutido no meio acadêmico e industrial. Esta dissertação está inserida no contexto do projeto de uma nuvem computacional para o desenvolvimento e execução de aplicações de CAD baseadas em componentes paralelos, doravante denominada nuvem de componentes. Um dos principais desafios na sua utilização consiste no suporte à programação paralela, tarefa bastante suscetível à erros, pois tais erros podem levar, ao longo do desenvolvimento, a problemas de sincronização de processos, que podem causar abortamento da execução e a produção de dados incorretos, bem como a problemas relacionados ao uso ineficiente dos recursos computacionais. É importante que tais problemas sejam tratados no caso de aplicações de longa duração cujo respeito a um cronograma para obtenção de resultados é crítico, aplicações estas bastante comuns no contexto de CAD. Uma possível solução para tais problemas consiste na verificação do comportamento e das propriedades dos componentes na nuvem, antes que seja feita a sua execução, tornando possível que os usuários dos componentes da nuvem saibam se um componente pode ser utilizado com segurança em sua aplicação. Nesse cenário, o uso de métodos formais surge como uma alternativa atraente. A contribuição desta dissertação consiste em um processo de derivação e verificação de propriedades de componentes na nuvem. Tal processo envolve a especificação formal do comportamento dos componentes por meio de contratos descritos pela linguagem Circus. Então, através de um processo de refinamento e tradução tendo como ponto de partida o contrato, chega-se à implementação de um componente para execução sobre uma plataforma de computação paralela. Através desse processo, torna-se possível oferecer garantias aos desenvolvedores em relação ao comportamento dos componentes no contexto de suas aplicações. Para a prova de conceito, o processo é aplicado sobre a especificação "papel-e-caneta" de dois benchmarks do NAS Parallel Benchmarks, IS e CG, bastante difundidos na área de CAD.
142

Simulação do sistema imunológico humano por meio de modelagem multiagente paralela / Simulation of the human immune system in modeling multi-agent means of parallel

Martins, Fábio Rodrigues 04 December 2015 (has links)
Submitted by Marco Antônio de Ramos Chagas (mchagas@ufv.br) on 2016-04-29T08:54:54Z No. of bitstreams: 1 texto completo.pdf: 2586171 bytes, checksum: 35bda2aae8a23a13663ca9387bd0044b (MD5) / Made available in DSpace on 2016-04-29T08:54:54Z (GMT). No. of bitstreams: 1 texto completo.pdf: 2586171 bytes, checksum: 35bda2aae8a23a13663ca9387bd0044b (MD5) Previous issue date: 2015-12-04 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Este trabalho apresenta uma proposta de modelagem do sistema imunológico (SI) humano. Mais especificamente, propõe a modelagem do SI por meio de sistema multiagente paralelo. O ser humano é exposto a uma quantidade imensurável de agentes não-próprios no decorrer de um dia. O fato de não sermos afetados pe- los mesmos se deve ao SI, uma vez que atua para manter a homeostase (equilíbrio orgânico). Então, estudar o comportamento deste sistema é fundamental, já que de- scobertas nesta área impactam na vida de todas as pessoas. Uma forma de investigar o comportamento do SI é por meio de simulações computacionais (experimentação in-silico). Mas, como o SI é grande e complexo, demanda muito processamento. Esta característica impõe algumas restrições para estas simulações, já que até o momento uma geração de frameworks que estava disponível, no mercado, eram os ABMS (do inglês Agent-basead mod-eling and simulation), que são indicados para testes mais simples. Por este motivo, neste trabalho foi utilizado o framework Flame que se enquadra na geração HPC (do inglês High Performance Computing). Este framework é usado para programação paralela com alto poder computacional. No entanto, para agilizar ainda mais o resultado dos experimentos, em uma parte do modelo, foi utilizada a programação para placa gráfica (GPU). A comparação entre a implementação deste trabalho e de outro SI artificial - o AutoSimmune aponta que a abordagem multiagente paralelo é superior aos ABMS antigos. / The research presented this dissertation deals with the human immune system (IS) simulation. More specifically, about modeling the IS by parallel multi-agent systems. Human beings are exposed to an immeasurable number of threatening microorgan- isms everyday. The fact of not being affected by these same is due to the IS, since it operates to maintain homeostasis (organic balance). Thus the study this system behavior is essential, as discoveries in this area may have impact on the lives of all people. One way to investigate the IS behavior is by means of computer simulations (experiment in-silico). But as the IS is very large and complex it requires a lot of computing power.The emergence of agent oriented systems has provided an alterna- tive approach to address many complex problems similar to the immune system, that requires distributed behavior, local decisions, and emerging global behavior from the interactions of their basic elements. However, despite providing a suitable tool for modeling complex distributed systems, implementations of multi-agent systems are limited by the available hardware architecture. A recent possibility to circumvent this problem is the use of graphics cards to implement such systems. Nevertheless, these devices reach the optimal performance when agents have homogeneous and simple behavior, which might not be the case of many problems. Systems such as simulators of the immune system, in addition to having a large number of agents with complex behavior, those agents communicate massively, indirectly, through dissemination of various substances in their environment. Diffusion of substances is something easily simulated in modern current graphics cards, but the problem is to provide the results of those simulations to thousands (or millions) of agents simultaneously. Therefore in this study we used the Flame framework. This frame- work is used for parallel programming with self computational power. However, to further expedite the result of the experiment, in a part of the model program was used for the graphic card. The comparison between the implementation of this work and another immune system points out that the parallel multi-agent approach is superior to the sequential implementation.
143

Um arcabouço baseado em componentes para computação paralela de larga escala sobre grafos / A component-oriented framework for large-scale parallel processing of big graphs

Rezende, Cenez Araújo de January 2017 (has links)
REZENDE, Cenez Araújo de. Um arcabouço baseado em componentes para computação paralela de larga escala sobre grafos. 2017. 170 f. Tese (Doutorado em Ciência da Computação)-Universidade Federal do Ceará, Fortaleza, 2017. / Submitted by Jonatas Martins (jonatasmartins@lia.ufc.br) on 2017-09-26T11:26:26Z No. of bitstreams: 1 2017_tese_carezende.pdf: 3113868 bytes, checksum: 730860f5d4afc3f76981695e2d925c7c (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2017-09-26T12:43:31Z (GMT) No. of bitstreams: 1 2017_tese_carezende.pdf: 3113868 bytes, checksum: 730860f5d4afc3f76981695e2d925c7c (MD5) / Made available in DSpace on 2017-09-26T12:43:31Z (GMT). No. of bitstreams: 1 2017_tese_carezende.pdf: 3113868 bytes, checksum: 730860f5d4afc3f76981695e2d925c7c (MD5) Previous issue date: 2017 / Faced with the increasing growth of data production to be processed by computer systems, a result of the current technological context and emerging applications of both industrial and scientific interest, researchers and companies have been looking for solutions to leverage large-scale data processing and analysis capacity. In addition to the large volume, many of these data must be processed by high-complexity algorithms, highlighting the inherent difficulties of problems in large graphs (BigGraph), often used to model information from large databases. Although with limitations in graph processing, the MapReduce model has motivated the construction of several high-performance frameworks, in order to meet the demand for efficient large-scale general purpose systems. Such a context has led to the proposal of more specialized solutions, such as Pregel and GAS (Gather, Apply, Scatter), as well as MapReduce extensions to deal with graph processing. However, frameworks that implement these models still have limitations, such as multi-platform constraints and general propose programming models for graphs. In this work, we show how component-oriented parallel programming can deal with MapReduce and conventional Pregel constraints. For that, we have employed HPC shelf, a component-based cloud computing platform for HPC services. On top of this platform, we introduce Gust, a flexible, extensible and adaptable BigGraph framework based on MapReduce. Besides the gains in software architecture, due to the use of a component-oriented approach, we have obtained competitive performance results compared to the state-of-the-art through an experimental study, using estatistical methods to increase confidence. / Diante do progressivo crescimento da produção de dados a serem processados por sistemas de computação, produto do contexto tecnológico vigente e de aplicações emergentes tanto de interesse industrial quanto científico, têm-se buscado soluções para alavancar a capacidade de processamento e análise de dados em larga escala. Além de volumosos, estão propícios a serem processados por algoritmos de alta complexidade, destacando as dificuldades inerentes a problemas em grafos grandes (BigGraph), frequentemente usados para modelar informações de grandes bases de dados. O modelo MapReduce, embora com limitações nesse domínio, abriu o caminho para a construção de vários arcabouços de alto desempenho, buscando atender à demanda por eficiente processamento de larga escala com propósito geral. Isso motivou o surgimento de soluções mais especializadas, voltadas a grafos, tais como os modelos Pregel e GAS (Gather, Apply, Scatter), bem como extensões do próprio MapReduce. Contudo, arcabouços que implementam esses modelos possuem ainda limitações, como restrições a multiplataformas e modelos mais gerais de programação. Neste trabalho, mostramos como a programação paralela orientada a componentes pode lidar com as limitações MapReduce e de modelos convencionais Pregel. Isso é feito usando a HPC Shelf, uma plataforma de computação em nuvem baseada em componentes para serviços HPC. Visando essa plataforma, apresentamos o Gust, um arcabouço BigGraph flexível, extensível e adaptável baseado em MapReduce. Através de estudo experimental, os resultados têm sido competitivos com o estado da arte, tanto em desempenho com na engenharia de software paralelo, com base em interesses funcionais e não funcionais.
144

Yali : uma extensão do modelo linda para programação paralela em redes heterogêneas / Yali, an extension to the linda model intended for parallel programming in heterogeneous computer networks

Charao, Andrea Schwertner January 1996 (has links)
Com a disponibilidade de redes que ligam estações cada vez mais poderosas a baixos custos, o interesse em torno de ferramentas que suportam a programação paralela em arquiteturas deste tipo tem aumentado significativamente. Esta dissertação trata do projeto e implementação de YALI (Yet Another Linda Implementation), uma ferramenta destinada ao desenvolvimento e execução de programas paralelos em redes heterogêneas de computadores. Com o objetivo de oferecer uma interface simples e flexível para os usuários programadores, YALI baseia-se no modelo Linda[GEL85], que destaca-se por utilizar uma abstração de alto nível para a cooperação entre processos. Em Linda, processos interagem por intermédio de uma memória associativa logicamente compartilhada, denominada Espaço de Tuplas. Entre outras vantagens deste modelo pode-se citar a simplicidade de suas primitivas e a possibilidade de incorporá-las a uma linguagem seqüencial conhecida, o que contribui fortemente para sua fácil assimilação, mesmo por usuários com pouca experiência em programação paralela. Após uma descrição detalhada do modelo Linda, este trabalho discute varias questões envolvidas no projeto e implementação de sistemas nele baseados. Para oferecer uma visão pratica das soluções mais freqüentemente adotadas para estas questões, quatro sistemas que implementam o modelo para programação paralela em redes são apresentados e avaliados. São eles: Glenda, uma implementacao do modelo baseada na ferramenta PVM (Parallel Virtual Machine); POSYBL (PrOgramming SYstem for distriButed appLications), um sistema construído através de recursos de sistemas operacionais compatíveis com Unix; p4-Linda, construído a partir da ferramenta de programação paralela p4 e, por fim, Network-Linda, uma implementação comercial do modelo. Depois do estudo dos quatro sistemas acima, o projeto de YALI e discutido detalhadamente. Decidiu-se, inicialmente, que YALI deveria incorporar o modelo Linda a linguagem C, que é largamente utilizada no desenvolvimento de programas de propósito geral. Além disso, optou-se por estender o modelo com algumas novas primitivas, de modo a oferecer maior poder de expressão ao usuário. Basicamente, as primitivas que YALI acrescenta ao modelo servem para dar suporte a operações globais e a criação dinâmica de threads. Operações globais servem para expressar a comunicação e a sincronização entre múltiplos processos, sendo utilizadas com bastante freqüência em vários tipos de programas paralelos. YALI suporta operações globais de maneira totalmente ortogonal ao modelo Linda, garantindo melhor desempenho sem afetar o nível de abstração oferecido. o suporte a criação dinâmica de threads, por outro lado, tem o objetivo de permitir a exploração de um paralelismo de granularidade fina, adequado ate mesmo a execução de rotinas simples em paralelo. Para suportar o desenvolvimento e execução de aplicações paralelas, YALI e implementado através de três componentes distintos. O primeiro e um pré-processador, que garante uma interface simplificada com o usuário. 0 segundo e uma biblioteca, que contem as rotinas de suporte as primitivas YALI e deve ser ligada aos programas de usuários. O terceiro componente, por fim, e um utilitário destinado a controlar a inicialização e o termino de aplicações paralelas, que baseia-se em uma configuração estabelecida pelo usuário para distribuir processos sobre uma rede de computadores. Ao contrário da maioria dos sistemas baseados em Linda, YALI implementa um espaço de tuplas distribuído entre os processos que compõem uma aplicação paralela, dispensando o use de processos especializados no gerenciamento de tuplas. Para isso, YALI utiliza múltiplas threads em cada processo definido pelo usuário, e distribui tuplas sobre estes processos através de um mecanismo baseado em hashing. A implementação de YALI leva em conta a heterogeneidade inerente a ambientes de rede, permitindo que maquinas com diferentes arquiteturas e sistemas operacionais sejam utilizadas na execução de programas paralelos. Por fim, YALI é totalmente implementado a partir de recursos presentes em sistemas compatíveis com Unix, de modo a aumentar sua portabilidade e garantir sua eficiência. / With the availability of networks connecting powerful workstations at a low cost, increasing interest has been devoted to systems that support parallel programming in such architectures. This document describes the design and implementation of YALI (Yet Another Linda Implementation), a tool that allows the development and execution of parallel programs in heterogeneous computer networks. Aiming to provide a simple and flexible interface for its users, YALI is based on the Linda parallel programming model[GEL85], that outstands in providing a high level abstraction for cooperation between processes. In Linda, communication and synchronization take place through an associative, logically shared memory called Tuple Space. Among the advantages of this model, one can mention the simplicity of its primitives, and the possibility of incorporate them in a well-known sequential language. These characteristics make Linda easy to learn, even to users with little experience in parallel programming. After a detailed description of the Linda model, this document discusses some design and implementation issues related to Linda-based systems. In order to provide a practical view of some usual solutions to address these issues, four Linda-based systems are presented and evaluated. These systems are: Glenda, an implementation of Linda built on top of PVM (Parallel Virtual Machine); POSYBL (PrOgramming SYstem for distriButed appLications), that relies on features provided by Unix-like operating systems to implement the model; p4-Linda, built on top of p4 parallel programming tool and, at last, Network-Linda, a comercial product based on Linda. All these systems, as YALI, are specially tailored to parallel programming in computer networks. Following the study of the four systems, this documents presents the design of the YALI system. One of the first design decisions was to incorporate the Linda primitives to the C language, that is broadly used as a general purpose programming language. In addition, a set of new primitives was designed as an extension to the original model, in order to increase YALI's expressivenes. Basically, the new primitives support global operations and dynamic thread creation. Global operations are useful to express communication and synchronization among multiple processes, and are frequently used many classes of parallel programs. YALI gives support to global operations in a way that is totally ortoghonal to the Linda model, ensuring better performance without affecting the abstraction level inherent to Linda-based systems. The support to dynamic thread creation, on the other hand, is helpful to explore lightweight parallelism, which allows the execution of simple routines in parallel. To support the development and execution of parallel applications, YALI is made up of three distinct components. The first is a pre-processor, that provides a simple user interface. The second is a library, that must be linked to the user programs since it's where YALI primitives are actuall y implemented. Finally, the third component is an utility that controls initialization and termination of parallel applications, which takes configuration parameters from the user to distribute processes over a newtork. In contrast with most Linda-based systems, YALI relies on a tuple space that is distributed among the processes in the same parallel application, so that intermediate tuple managers are not necessary To implement that, multiple threads are embedded in each user process, and tuples are spread over the processes in the basis of a hashing mechanism. YALI's implementation takes in account the inherent heterogeneity of network environments, allowing machines with different architectures and operating systems to be used in the execution of parallel programs. Finally, YALI is build on top of common features of Unix-like operating systems, in order to increase its efficiency and portability.
145

Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI / Efficent on-line scheduling of recursive fork-join programs on MPI

Mor, Stefano Drimon Kurz January 2010 (has links)
Esta Dissertação de Mestrado propõe dois novos algoritmos para tornar mais eficiente o escalonamento on-line de tarefas com dependências estritas em agregados de computadores que usam como middleware para troca de mensagens alguma implementação da MPI (até a versão 2.1). Esses algoritmos foram projetados tendo-se em vista programas construídos no modelo de programação fork/join, onde a operação de fork é usada sobre uma chamada recursiva da função. São eles: 1. O algoritmo RatMD, implementado através de uma biblioteca de primitivas do tipo map-reduce, que funciona para qualquer implementação MPI, com qualquer versão da norma. Utilizado para minimizar o tempo de execução de uma computação paralela; e 2. O algoritmo RtMPD, implementado através de um sistema distribuído sobre daemons gerenciadores de processos criados dinamicamente com a implementação MPICH2 (que implementa a MPI-2). Utilizado para permitir execuções de instâncias maiores de programas paralelos dinâmicos. Ambos se baseiam em roubo de tarefas, que é a estratégia de balanceamento de carga mais difundida na literatura. Para ambos os algoritmos apresenta-se modelagem téorica de custos. Resultados experimentais obtidos ficam dentro dos limites teóricos calculados. RatMD provê uma redução no tempo de execução de até 80% em relação ao algoritmo usual (baseado em round-robin), com manutenção do speedup próximo ao linear e complexidade espacial idêntica à popular implementação com round-robin. RtMPD mantém, no mínimo, o mesmo desempenho que a implementação canônica do escalonamento em MPICH2, dobrando-se o limite físico de processos executados simultaneamente por cada nó. / This Master’s Dissertation proposes two new algorithms for improvement on on-line scheduling of dynamic-created tasks with strict dependencies on clusters of computers using MPI (up to version 2.1) as its middleware for message-passing communication. These algorithms were built targeting programs written on the fork-join model, where the fork operation is always called over an recursive function call. They are: 1. RatMD, implemented as a map-reduce library working for any MPI implementation, on whatever norm’s version. Used for performance gain; and 2. RtMPD, implemented as a distributed system over dynamic-generated processes manager daemons with MPICH2 implentation of MPI. Used for executing larger instances of dynamic parallel programs. Both algorithms are based on the (literature consolidated) work stealing technique and have formal guarantees on its execution time and load balancing. Experimental results are within theoretical bounds. RatMD shows an improvement on the performance up to 80% when paired with more usual algorithms (based on round-robin strategy). It also provides near-linear speedup and just about the same space-complexity on similar implementations. RtMPD keeps, at minimum, the very same performance of the canonical MPICH2 implementation, near doubling the physical limit of simultaneous program execution per cluster node.
146

Estimador subsemble espacial para dados massivos em geoestatística

Barbian, Márcia Helena January 2016 (has links)
Um problema que vem se tornando habitual em análise geoestatística é a quantidade crescente de observações. Em tais casos é comum que estimadores usualmente utilizados não possam ser empregados devido a dificuldades numéricas. Esta tese têm por objetivo propor um novo estimador para massivas observações em geoestatística: o estimador subsemble espacial. O estimador subsemble espacial seleciona várias subamostras, espacialmente estruturadas, do conjunto completo de dados. Cada subamostra estima com facilidade os parâmetros do modelo e as estimativas resultantes são ponderadas através de um subconjunto de validação. Em estudos simulados, compara-se a metodologia proposta com outros métodos e os resultados apresentam sua acurácia e rapidez. Além disso, uma aplicação em um banco de dados reais, com 11.000 observações, confirma essas características. / A problem that is becoming common in geostatistical analysis is the growing number of observations. In such cases, common estimators cannot be used due to numerical difficulties. This thesis proposes a new estimator for massive observations in geostatistics: the spatial subsemble estimator. The estimator selects small spatially structured subset of observations. The model parameters are estimated easily with each subsample, and the resulting estimates are weighted by a subset of validation. We compare the spatial subsemble with competing alternatives showing that it is faster and accurate. In addition, we present an application in a real database with 11000 observations.
147

Avaliação do desempenho e consumo energético de diferentes interfaces de programação paralela em sistemas embarcados e de propósito geral

Lorenzon, Arthur Francisco January 2014 (has links)
Nos sistemas computacionais atuais, enquanto é necessário explorar a disponibilidade de múltiplos núcleos, também é obrigatório consumir menos energia. Para acelerar o processo de desenvolvimento de aplicações paralelas e o tornar mais transparente ao programador, Interfaces de Programação Paralela (IPPs) são largamente utilizadas. Entretanto, cada IPP implementa diferentes formas para trocar dados usando regiões compartilhadas da memória. Estas regiões são, geralmente, mais distantes do processador do que regiões privadas da memória e, por consequência, possuem maior tempo de acesso e consumo de energia. Ademais, o sistema de memória dos processadores embarcados é diferente em hierarquia, tamanho, tempo de acesso, consumo de energia, etc., quando comparado aos processadores de propósito geral. Assim, considerando o cenário supracitado, com diferentes IPPs sendo utilizadas em sistemas multicore com diferentes requisitos, neste trabalho será mostrado que cada interface possui comportamento diferente em termos de desempenho, consumo de energia e Energy-Delay Product (EDP), e que este comportamento varia de acordo com a característica da aplicação e o processador utilizado (propósito geral ou embarcado). Por exemplo, Pthreads consome 8% menos energia que o melhor caso de OpenMP; 12% menos que MPI-1; e 8% menos que MPI-2, considerando todos os benchmarks no processador Intel Core i7 (propósito geral). Em contrapartida, no processador ARM Cortex-A9 (sistema embarcado), o melhor caso com OpenMP consumiu 2% menos energia que Pthreads; 6% menos que MPI-1; e 15% menos que MPI-2, para o mesmo conjunto de benchmarks. / In current computer systems, while it is necessary to exploit the availability of multiple cores, it is also mandatory to consume less energy. To accelerate the development of parallel applications and to make it more transparent to the programmer, Parallel APIs (Application Programming Interfaces) are widely used. However, each Parallel API implements different ways to exchange data using shared memory regions. These regions are generally more remote than the private ones, and therefore have greater access time and energy consumption. Furthermore, the memory system of embedded processors is different with regard to hierarchy, size, access time, energy consumption, etc., when compared to general purpose processors. Thus, considering the above scenario, with different Parallel APIs being used in multicore systems with different requirements, this work will show that each interface has different behavior in terms of performance, energy consumption and Energy-Delay Product (EDP), and that this behavior varies according to the characteristic of the application and the processor employed (general purpose or embedded). For example, as a result of this work, we have observed that Pthreads consumes 8% less energy than the best case of OpenMP; 12% less than MPI-1; and 8% less than MPI-2, considering all benchmarks on the Intel Core i7 (general purpose). In contrast, in the ARM Cortex-A9 processor (embedded system), the best case with OpenMP consumed 2% less energy than Pthreads; 6% less than MPI-1; and 15% less than MPI-2 for the same benchmarks set.
148

TerraME HPA : uma arquitetura de alto desempenho para simulação paralela de modelos ambientais.

Silva, Saulo Henrique Cabral January 2014 (has links)
Programa de Pós-Graduação em Ciência da Computação. Departamento de Ciência da Computação, Instituto de Ciências Exatas e Biológicas, Universidade Federal de Ouro Preto. / Submitted by Oliveira Flávia (flavia@sisbin.ufop.br) on 2015-10-13T21:48:07Z No. of bitstreams: 1 DISSERTAÇÃO_TerraMEHPAArquitetura.pdf: 2229605 bytes, checksum: 6a19970777783ab27d9d0b5e71017f05 (MD5) / Approved for entry into archive by Gracilene Carvalho (gracilene@sisbin.ufop.br) on 2015-10-15T16:03:22Z (GMT) No. of bitstreams: 1 DISSERTAÇÃO_TerraMEHPAArquitetura.pdf: 2229605 bytes, checksum: 6a19970777783ab27d9d0b5e71017f05 (MD5) / Made available in DSpace on 2015-10-15T16:03:22Z (GMT). No. of bitstreams: 1 DISSERTAÇÃO_TerraMEHPAArquitetura.pdf: 2229605 bytes, checksum: 6a19970777783ab27d9d0b5e71017f05 (MD5) Previous issue date: 2014 / O contínuo aumento da complexidade dos modelos ambientais pode demandar o uso de múltiplos paradigmas de modelagem para descrever as interações entre sociedade e natureza. Além disto, o crescente volume de dados e de cálculos utilizados nestes modelos exige que as simulações tirem máximo proveito do paralelismo de hardware existente em arquiteturas multiprocessador e multicomputador. Neste contexto, este trabalho apresenta e avalia uma abordagem para o desenvolvimento e simulação de modelos ambientais concorrentes e baseados em múltiplos paradigmas. O objetivo principal é gerar simulações escaláveis e o objetivo secundário é produzir modelos concorrentes flexíveis. Isto é, modelos que possam ser facilmente verificados e evoluídos. A abordagem proposta consiste na tradução automatizada do código anotado do modelo sequencial em um código paralelo passível de ser executado por uma máquina virtual, cujo modelo de concorrência e mecanismo para balanceamento de carga independam dos paradigmas de modelagem utilizados. Para implementar esta abordagem, a plataforma de modelagem e simulação ambiental TerraME foi estendida de duas formas, dando origem a plataforma TerraME HPA (High Perfomance Architecture). Primeiro, a ela foi adicionada um pré-processador que traduz o código anotado dos modelos em programas concorrentes na linguagem de programação Lua. Depois, o interpretador Lua originalmente distribuído com o TerraME foi substituído pelo interpretador MOOM, também desenvolvido neste trabalho. O MOOM utiliza o mecanismo de bag-of-tasks para executar funções Lua em paralelo. Desta forma, ele reduz o nível de concorrência programado pelos modeladores e distribui a carga de trabalho das simulações entre os processadores disponíveis em hardware. Finalmente, vários benchmarks selecionados na literatura foram utilizados para avaliar o desempenho e a escalabilidade de diferentes plataformas de programação concorrente na linguagem Lua (ALua, Lane, Luaproc e MOOM) e de diferentes plataformas destinadas ao desenvolvimento simulações ambientais de alto desempenho: TerraME HPA, Repast HPC e D-MASON versões 1.5 e 2.1. Os resultados evidenciam que, quando comparados aos trabalhos correlatos, o interpretador MOOM e a plataforma TerraME HPA apresentaram uma escalabilidade muito boa em todos os cenários avaliados. As aplicações Lua resultantes desta abordagem são flexíveis, pois ao ignorar as anotações, os interpretadores permitem que elas sejam verificadas e evoluídas sequencialmente. ________________________________________________________________________________________________________________ / ABSTRACT: The continuous increase in the complexity of environmental models can require the use of multiple modeling paradigms to describe the interactions between society and nature. Moreover, the growing volume of data and calculations used in these models requires that the simulations take full advantage of existing hardware parallelism on multiprocessor and multicomputer architectures. In this context, this paper presents and evaluates an approach to the development and simulation of concurrent environmental models based on multiple paradigms. The main objective is to generate scalable simulations and the secondary objective is to produce flexible concurrent models. That is, models which can be easily verified and extended. The proposed approach consists in performing the automated translation of the annotated code from the sequential model into a parallel code that can be executed by a virtual machine, which concurrency model and mechanism for load balancing are independent of the modeling paradigms used in the models. To implement this approach, the modeling and simulation platform TerraME was extended in two ways, giving rise to the TerraME HPA (High Perfomance Architecture) platform. First, it was added a pre-processor that translates the annotated codes into concurrent programs on the Lua programming language. Then, the Lua interpreter originally distributed with TerraME was replaced by the interpreter MOOM, also developed in this work. The MOOM uses the bag-of-tasks mechanism to run Lua functions in parallel. Thus, it reduces the level of concurrency programmed by modelers and distributes the simulation workload among the processors available in hardware. Finally, a number of benchmarks selected from literature were used to evaluate the performance and scalability of different platforms for concurrent programming in Lua (ALUA, Lane, Luaproc, and MOOM) and of different platforms for the development of high performance environmental simulations: TerraME HPA, Repast HPC and D-MASON versions 1.5 and 2.1. The results show that, when compared to related work, the interpreter MOOM and the platform TerraME HPA presents very good scalability in all evaluated scenario. The Lua applications resulting from this approach are flexible, because ignoring the annotations inserted in their codes, interpreters allow them to be verified and evolved sequentially.
149

Multicomputador No //: Implementação de primitivas basicas de comunicação e avaliação de desempenho

Silva, Valeria Alves da January 1996 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnologico / Made available in DSpace on 2016-01-08T20:58:09Z (GMT). No. of bitstreams: 1 104649.pdf: 8371805 bytes, checksum: ecf25b37c1c199fe6ad5b9d9255d1d9d (MD5) Previous issue date: 1996 / Este trabalho está inserido no Projeto Nó // que objetiva a construção de um ambiente para processamento paralelo formado por um multicomputador denominado Nó //, um sistema operacional distribuído e um interpretador. O multicomputador Nó // é composto de uma rede de interconexão dinâmica, um sistema de interrupções e de processadores intel i486 com memória privativa. O trabalho implementa as primitivas para o sistema de comunicação deste multicomputador, que realizaram a interface do hardware com o sistema operacional. E através de um modelo de simulação da máquina, simula a execução de uma aplicação realizando então a avaliação do ganho de performance e do tempo gasto com o protocolo necessário para a realização de uma comunicação.
150

SUPORTE AO CONTROLE E ALOCAÇÃO DINÂMICA DE COMPUTADORES EM JAVA / Support to Control and Dynamic Allocation of Computers in Java

Cera, Marcia Cristina 01 April 2005 (has links)
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / This thesis presents the project and an implementation of a distributed computer allocation system, based on computer idleness. The system, called Cadeo (control and dynamic allocation of idle workstations) aims to simplify the creation of parallel applications that can be executed on distributed systems. It supports a simple programming model, similar to the model found in parallel applications that run on shared memory computers. The Cadeo s execution platform is called dynamic cluster, which is a cluster composed by momentarily avaliable computers, or idle computers. Parallel execution is obtained by concurrent task execution, implemented as asynchronous remote method invocations in Java. Mapping application onto resources happens in two levels, first, associating applications to dynamic clusters, and, second, associating application tasks to computers of such clusters. Cadeo manages these associations offering both transparent task location and cluster dynamism, thus simplifying application development. The implementation was done with the purpose of having a basic and functional structure, which should be easily adapted in the future. This version was not focused on incorporating the best known algorithms to associate applications with clusters, or tasks with computers. Nevertheless, the implemented version strictly follows the proposed model, being now possible to write applications using the transparency and assynchrony accordingly. It was possible to demonstrate that, with the version implemented, the system overhead was very low. / Esta dissertação apresenta a concepção e uma implementação de um sistema de alocação de computadores em um sistema distribuído baseado na ociosidade dos mesmos. Este sistema, chamado de Cadeo (Controle e alocação dinâmica de estações ociosas), tem a finalidade de simplificar a criação de aplicações paralelas que possam ser executadas em sistemas distribuídos. Ele oferece um modelo de programação simples, semelhante ao modelo de aplicações paralelas que executam em computadores com memória compartilhada. A plataforma de execução do Cadeo é chamada de aglomerado dinâmico, que é um aglomerado (cluster) composto por computadores momentaneamente disponíveis, ou ociosos. A execução paralela se dá pelo lançamento concorrente de tarefas, implementadas por invocações assíncronas de métodos remotos em linguagem Java. O mapeamento de aplicações aos recursos reais se dá em dois níveis: no primeiro, associa-se aplicações a aglomerados dinâmicos, no segundo, associa-se tarefas de aplicações a computadores destes aglomerados. O Cadeo gerencia estas associações oferecendo transparência de localização de tarefas e da dinamicidade dos aglomerados, simplificando assim o desenvolvimento de aplicações. A implementação foi feita com o objetivo de obter uma estrutura básica e funcional, capaz de suportar adaptações futuras. Não houve preocupação em incorporar os melhores algoritmos conhecidos para implementar as associações entre aplicações e aglomerados, ou tarefas a computadores. Entretanto, a versão implementada segue estritamente o modelo projetado, já permitindo escrever aplicações que tiram proveito da transparência e do assincronismo de lançamento segundo este modelo. Com a versão implementada, foi possível comprovar que a sobrecarga gerada pela utilização do sistema é muito pequena.

Page generated in 0.0644 seconds