• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 245
  • 55
  • 3
  • Tagged with
  • 304
  • 304
  • 187
  • 175
  • 107
  • 86
  • 78
  • 76
  • 57
  • 56
  • 55
  • 40
  • 33
  • 32
  • 30
  • 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.
91

Análise do comportamento não cooperativo em computação voluntária / Analyses of non-cooperative behavior in volunteer computing environments

Donassolo, Bruno Luis de Moura January 2011 (has links)
Os avanços nas tecnologias de rede e nos componentes computacionais possibilitaram a criação dos sistemas de Computação Voluntária (CV) que permitem que voluntários doem seus ciclos de CPU ociosos da máquina para um determinado projeto. O BOINC é a infra-estrutura mais popular atualmente, composta de mais 5.900.000 máquinas que processam mais de 4.003 TeraFLOP por dia. Os projetos do BOINC normalmente possuem centenas de milhares de tarefas independentes e estão interessados no throughput. Cada projeto tem seu próprio servidor que é responsável por distribuir unidades de trabalho para os clientes, recuperando os resultados e validando-os. Os algoritmos de escalonamento do BOINC são complexos e têm sido usados por muitos anos. Sua eficiência e justiça foram comprovadas no contexto dos projetos orientados ao throughput. Ainda, recentemente, surgiram projetos em rajadas, com menos tarefas e interessados no tempo de resposta. Diversos trabalhos propuseram novos algoritmos de escalonamento para otimizar seu tempo de resposta individual. Entretanto, seu uso pode ser problemático na presença de outros projetos. Neste texto, são estudadas as consequências do comportamento não cooperativo nos ambientes de Computação Voluntária. Para realizar o estudo, foi necessário modificar o simulador SimGrid para melhorar seu desempenho na simulação dos sistemas de CV. A primeira contribuição do trabalho é um conjunto de melhorias no núcleo de simulação do SimGrid para remover os gargalos de desempenho. O resultado é um simulador consideravelmente mais rápido que as versões anteriores e capaz de rodar experimentos nessa área. Ainda, como segunda grande contribuição, apresentou-se como os algoritmos de escalonamento atuais do BOINC são incapazes de garantir a justiça e isolação entre os projetos. Os projetos em rajadas podem impactar drasticamente o desempenho de todos os outros projetos (rajadas ou não). Para estudar tais interações, realizou-se um detalhado, multi jogador e multi objetivo, estudo baseado em teoria dos jogos. Os experimentos e análise realizados proporcionaram um bom entendimento do impacto dos diferentes parâmetros de escalonamento e mostraram que a otimização não cooperativa pode resultar em ineficiências e num compartilhamento injusto dos recursos. / Advances in inter-networking technology and computing components have enabled Volunteer Computing (VC) systems that allows volunteers to donate their computers’ idle CPU cycles to a given project. BOINC is the most popular VC infrastructure today with over 5.900.000 hosts that deliver over 4.003 TeraFLOP per day. BOINC projects usually have hundreds of thousands of independent tasks and are interested in overall throughput. Each project has its own server which is responsible for distributing work units to clients, recovering results and validating them. The BOINC scheduling algorithms are complex and have been used for many years now. Their efficiency and fairness have been assessed in the context of throughput oriented projects. Yet, recently, burst projects, with fewer tasks and interested in response time, have emerged. Many works have proposed new scheduling algorithms to optimize individual response time but their use may be problematic in presence of other projects. In this text, we study the consequences of non-cooperative behavior in volunteer computing environment. In order to perform our study, we needed to modify the SimGrid simulator to improve its performance simulating VC systems. So, the first contribution is a set of improvements in SimGrid’s core simulation to remove its performance bottlenecks. The result is a simulator considerably faster than the previous versions and able to run VC experiments. Also, in the second contribution, we show that the commonly used BOINC scheduling algorithms are unable to enforce fairness and project isolation. Burst projects may dramatically impact the performance of all other projects (burst or non-burst). To study such interactions, we perform a detailed, multi-player and multi-objective game theoretic study. Our analysis and experiments provide a good understanding on the impact of the different scheduling parameters and show that the non-cooperative optimization may result in inefficient and unfair share of the resources.
92

Providing adaptability to MPI applications on current parallel architectures / Provendo adaptabilidade em aplicações MPI nas arquiteturas paralelas atuais

Cera, Marcia Cristina January 2012 (has links)
Atualmente, adaptabilidade é uma característica desejada em aplicações paralelas. Por exemplo, o crescente número de usuários competindo por recursos em arquiteturas paralelas gera mudanças constantes no conjunto de processadores disponíveis. Aplicações adaptativas são capazes de executar usando um conjunto volátil de processadores, oferecendo urna melhor utilização dos recursos. Este comportamento adaptativo é conhecido corno maleabilidade. Outro exemplo vem da constante evolução das arquiteturas multi-core, as quais aumentam o número de cores em seus chips a cada nova geração. Adaptabilidade é a chave para permitir que os programas paralelos sejam portáveis de uma máquina a outra. Assim. os programas paralelos são capazes de adaptar a extração do paralelismo de acordo com o grau de paralelismo específico da arquitetura alvo. Este comportamento pode ser visto como um caso particular de evolutividade. Nesse sentido, esta tese está focada em: (i) maleabilidade para adaptar a execução das aplicações paralelas às mudanças na disponibilidade dos processadores; e (ii) evolutividade para adaptar a extração do paralelismo de acordo com propriedades da arquitetura e dos dados de entrada. Portanto, a questão remanescente é "Como prover e suportar aplicações adaptativas?". Esta tese visa responder tal questão com base no MPI (Message-Passing Interface), o qual é a API paralela padrão para HPC em ambientes distribuídos. Nosso trabalho baseia-se nas características do MPI-2 que permitem criar processos em tempo de execução, dando alguma flexibilidade às aplicações MPI. Aplicações MPI maleáveis usam a criação dinâmica de processos para expandir-se nas ações de crescimento (para usar processadores extras). As ações de diminuição (para liberar processadores) finalizam os processos MPI que executam nos processadores requeridos, preservando os dados da aplicação. Note que as aplicações maleáveis requerem suporte do ambiente de execução, uma vez que precisam ser notificadas sobre a disponibilidade dos processadores. Aplicações MPI evolutivas seguem o paradigma do paralelismo de tarefas explícitas para permitir adaptação em tempo de execução. Assim, a criação dinâmica de processos é usada para extrair o paralelismo, ou seja, para criar novas tarefas MPI sob demanda. Para prover tais aplicações nós definimos tarefas MPI abstratas, implementamos a sincronização entre elas através da troca de mensagens, e propusemos uma abordagem para ajustar a granularidade das tarefas MPI, visando eficiência em ambientes distribuídos. Os resultados experimentais validaram nossa hipótese de que aplicações adaptativas podem ser providas usando características do MPI-2. Adicionalmente, esta tese identificou os requisitos rio nível do ambiente de execução para suportá-las em clusters. Portanto, as aplicações MPI maleáveis melhoraram a utilização de recursos de clusters; e as aplicações de tarefas explícitas adaptaram a extração do paralelismo de acordo com a arquitetura alvo. mostrando que este paradigma também é eficiente em ambientes distribuídos. / Currently, adaptability is a desired feature in parallel applications. For instante, the increasingly number of user competing for resources of the parallel architectures causes dynamic changes in the set of available processors. Adaptive applications are able to execute using a set of volatile processors, providing better resource utilization. This adaptive behavior is known as malleability. Another example comes from the constant evolution of the multi-core architectures, which increases the number of cores to each new generation of chips. Adaptability is the key to allow parallel programs portability from one multi-core machine to another. Thus, parallel programs can adapt the unfolding of the parallelism to the specific degree of parallelism of the target architecture. This adaptive behavior can be seen as a particular case of evolutivity. In this sense, this thesis is focused on: (i) malleability to adapt the execution of parallel applications as changes in processors availability; and (ii) evolutivity to adapt the unfolding of the parallelism at runtime as the architecture and input data properties. Thus, the open issue is "How to provide and support adaptive applications?". This thesis aims to answer this question taking into account the MPI (Message-Passing Interface), which is the standard parallel API for HPC in distributed-memory environments. Our work is based on MPI-2 features that allow spawning processes at runtime. adding some fiexibility to the MPI applications. Malleable MPI applications use dynamic process creation to expand themselves in growth action (to use further processors). The shrinkage actions (to release processors) end the execution of the MPI processes on the required processors in such a way that the application's data are preserved. Notice that malleable applications require a runtime environment support to execute, once they must be notified about the processors availability. Evolving MPI applications follow the explicit task parallelism paradigm to allow their runtime adaptation. Thus, dynamic process creation is used to unfold the parallelism, i.e., to create new MPI tasks on demand. To provide these applications we defined the abstract MPI tasks, implemented the synchronization among these tasks through message exchanges, and proposed an approach to adjust MPI tasks granularity aiming at efficiency in distributed-memory environments. Experimental results validated our hypothesis that adaptive applications can be provided using the MPI-2 features. Additionally, this thesis identifies the requirements to support these applications in cluster environments. Thus, malleable MPI applications were able to improve the cluster utilization; and the explicit task ones were able to adapt the unfolding of the parallelism to the target architecture, showing that this programming paradigm can be efficient also in distributed-memory contexts.
93

Análise computacional da disseminação de epidemias considerando a diluição e a mobilidade dos agentes / Analysis of epidemic dissemination considering dilution and mobility of the agents

Cruz, Vicente Silva January 2013 (has links)
Pesquisas sobre a propagação de epidemias são uma constante devido a sua relevância para a contenção de doenças. Porém, devido aos diversos tipos de doenças existentes, a observação de um comportamento genérico e aproximado torna-se impraticável. Neste âmbito, a elaboração de modelos matemáticos epidêmicos auxiliam no fornecimento de informações que podem ser usadas por orgãos públicos para o combate de surtos epidêmicos reais. Em paralelo, por causa do grande volume de dados que são processados na execução da simulação desses modelos, o constante aumento dos recursos computacionais desenvolvidos vem em auxílio desta tarefa. O objetivo desta dissertação é estudar o comportamento da disseminação de uma epidemia simulada computacionalmente através do modelo epidêmico SIR em reticulados quadrados considerando duas propriedades: a existência de vértices vazios e a movimentação aleatória dos agentes. Essas propriedades são conhecidas por taxas de diluição e mobilidade, respectivamente. Para alcançar esse objetivo, algumas técnicas físico-estatística, tais como a análise das transições de fase e fenômenos críticos, foram aplicadas. Através destas técnicas, é possível observar a passagem do sistema da fase em que ocorre um surto epidêmico para a fase em que a epidemia é contida, bem como estudar a dinâmica do modelo quando ele está na criticidade, ou seja, no ponto de mudança de fase, conhecido por ponto crítico. Foi constatado que a taxa de diluição influencia a disseminação das epidemias porque desloca a transição de fase negativamente, reduzindo o valor crítico da imunização. Por sua vez, a taxa da movimentação dos agentes favorece o espalhamento da doença, pois a transição de fase é positivamente deslocada e seu ponto crítico, aumentado. Além disso foi observado que, apesar desse incremento, ele não é completamente restaurado devido às restrições de mobilidade dos agentes e ao alto grau de desconectividade da rede causado pelas altas taxas de diluição. Neste trabalho nós mostramos as razões deste comportamento. / Research on the spreading of epidemics are frequent because of their relevance for the containment of diseases. However, due to the variety of existing illnesses, the observation of an approximated generic behavior becomes impractical. In this context, the development of mathematical models of epidemics assists in providing information that can be used to make strategic decisions for the combat of real epidemic outbreaks. In parallel, because of the large volume of data which has to be processed in the simulation of these models, the increase of computational performance helps with this task. The objective of this thesis is to study the behavior of the spreading of an epidemic, by computationally simulating an SIR epidemic model on square lattices, considering two properties: the existence of empty vertices and random movement of agents. These properties are known as dilution rate and mobility rate, respectively. To achieve this goal, techniques of statistical physics, such as the analysis of phase transition and power laws, were applied. With these techniques, it is possible to observe the transition of the system from the phase in which an outbreak occurs to the phase where the epidemic is contained. Additionally, we studied the dynamics of the model when it is in criticality, that is, at the point of phase transition, known as the critical point. It was found that a higher dilution rate reduces the spreading of epidemics because it shifts the phase transition negatively, reducing the value of its critical point. On the other hand, increasing the rate of movement of the agents favors the spreading of the disease, because the phase transition is shifted positively and its critical point is increased. It was noticed that, despite of this increasing, this point is not completely restored due to restricted mobility of agents and the high degree of the network disconectivity caused by the high dilution rates. In this work we show the reasons for this behavior.
94

Avaliação de Desempenho de uma Plataforma de Componentes Paralelos / Performance Evaluation of a Platform for Component-Based Parallel Programming

Rezende, Cenez Araújo de January 2011 (has links)
REZENDE, Cenez Araújo de. Avaliação de Desempenho de uma Plataforma de Componentes Paralelos. 2011. 149 f. : Dissertação (mestrado) - Universidade Federal do Ceará, Centro de Ciências, Departamento de Computação, Fortaleza-CE, 2011. / Submitted by guaracy araujo (guaraa3355@gmail.com) on 2016-06-14T17:45:49Z No. of bitstreams: 1 2011_dis_carezende.pdf: 2377491 bytes, checksum: b262a08dab641ffaa0637237fb5c2a0f (MD5) / Approved for entry into archive by guaracy araujo (guaraa3355@gmail.com) on 2016-06-14T17:46:36Z (GMT) No. of bitstreams: 1 2011_dis_carezende.pdf: 2377491 bytes, checksum: b262a08dab641ffaa0637237fb5c2a0f (MD5) / Made available in DSpace on 2016-06-14T17:46:36Z (GMT). No. of bitstreams: 1 2011_dis_carezende.pdf: 2377491 bytes, checksum: b262a08dab641ffaa0637237fb5c2a0f (MD5) Previous issue date: 2011 / In order to deal with programming-in-the-large requirements in emerging applications of High Performance Computing (HPC), it is still necessary the development of new software development tools for reconciling high level of abstraction, expressiveness and high performance. The technologies behind CBHPC (Component-Based High Performance Computing) target these requirements, looking for reuse of software parts, interoperability across execution platforms, high development productivity and easy maintenance. However, to reconcile high level of abstraction, high performance and high expressiveness for parallel programming models and patterns when building HPC applications is not trivial. For this reason, most of the current technologies fail in this context, since they adopt the traditional process-oriented perspective in the architecture of parallel programs. The HPE platform (Hash Programming Environment) sits on top of the Hash component model to support general forms of parallelism, by combining high expressiveness with high level of abstraction. The Hash component model proposes a concern-oriented perspective to parallel programming, in alternative to the traditional process-oriented approach. In this context, this dissertation is about the efficacy and efficiency of HPE for HPC applications, also validating some of its parallel programming techniques based on components. For that, a set of programs from NPB (NAS Parallel Benchmarks), a widely disseminated collection of benchmarks for evaluating the performance of parallel computing platforms, written in Fortran, C and Java, have been refactored into components aimed at the HPE platform. In such refactoring, the original structure of the benchmarks has been preserved, with minimal changes in the code that declare and initialize data structures, as well as those that describe computations and communication patterns. Using the component-based versions of the benchmarks, a systematic performance evaluation has been performed for quantifying the overheads caused strictly by the component-based structure. / Reduzir a complexidade do software e permitir o desenvolvimento em larga escala de aplicações voltados à Computação de Alto Desempenho (CAD) tem exigido o desenvolvimento de ferramentas com potencial capacidade de abstração na construção de sistemas. As tecnologias que envolvem o desenvolvimento de componentes procuram alcançar esses requisitos, buscando oferecer suporte a reuso, interoperabilidade, produtividade e maior flexibilidade de manutenção e desenvolvimento de aplicações de alto desempenho. No entanto, conciliar alto poder de abstração com alto poder de expressividade na construção de componentes de aplicações não é algo trivial, o que as atuais tecnologias não têm conseguido solucionar, uma vez que adotam as tradicionais formas de paralelismo por processos. Diante disso, a plataforma HPE (Hash Programming Environment), baseada no modelo de componentes Hash, tem buscado suportar formas mais gerais de paralelismo, conciliando expressividade com alto poder de abstração, uma vez que o modelo Hash é baseado em interesses de software e não em processo, como é feito tradicionalmente. Nesse contexto, esta dissertação busca explorar os recursos do HPE, certificando-se de sua viabilidade no contexto de aplicações de alto desempenho e validando suas técnicas de programação paralela baseadas em componentes. Isso tem resultado em um processo de construção de aplicações científicas sob a abordagem de componentes, tendo como base o conjunto de aplicativos NPB (Nas Parallel Benchmarks), o qual passa por um processo rigoroso de conversão para ser suportado pelo HPE. No processo de conversão e refatoração em componentes, busca-se conservar as estruturas originais do NPB, sem alterações significativas nos códigos que declaram e inicializam as estruturas de dados, bem como os que descrevem computações, topologia de processos e comunicação entre os processos. Para validação da plataforma, uma avaliação sistemática de desempenho é feita, tendo como princípio isolar e mensurar o peso ou o efeito da refatoração do NPB em componentes do modelo Hash.
95

Avaliação de desempenho de uma plataforma de componentes paralelos / Performance evaluation of a platform for component-based parallel programming

Rezende, Cenez Araújo de January 2011 (has links)
REZENDE, Cenez Araújo de. Avaliação de desempenho de uma plataforma de componentes paralelos. 2011. 156 f. Dissertação (Mestrado em ciência da computação)- Universidade Federal do Ceará, Fortaleza-CE, 2011. / Submitted by Elineudson Ribeiro (elineudsonr@gmail.com) on 2016-07-11T12:23:28Z No. of bitstreams: 1 2011_dis_carezende.pdf: 2377491 bytes, checksum: b262a08dab641ffaa0637237fb5c2a0f (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-14T15:51:55Z (GMT) No. of bitstreams: 1 2011_dis_carezende.pdf: 2377491 bytes, checksum: b262a08dab641ffaa0637237fb5c2a0f (MD5) / Made available in DSpace on 2016-07-14T15:51:55Z (GMT). No. of bitstreams: 1 2011_dis_carezende.pdf: 2377491 bytes, checksum: b262a08dab641ffaa0637237fb5c2a0f (MD5) Previous issue date: 2011 / In order to deal with programming-in-the-large requirements in emerging applications of High Performance Computing (HPC), it is still necessary the development of new software development tools for reconciling high level of abstraction, expressiveness and high performance. The technologies behind CBHPC (Component-Based High Performance Computing) target these requirements, looking for reuse of software parts, interoperability across execution platforms, high development productivity and easy maintenance. However, to reconcile high level of abstraction, high performance and high expressiveness for parallel programming models and patterns when building HPC applications is not trivial. For this reason, most of the current technologies fail in this context, since they adopt the traditional process-oriented perspective in the architecture of parallel programs. The HPE platform (Hash Programming Environment) sits on top of the Hash component model to support general forms of parallelism, by combining high expressiveness with high level of abstraction. The Hash component model proposes a concern-oriented perspective to parallel programming, in alternative to the traditional process-oriented approach. In this context, this dissertation is about the efficacy and efficiency of HPE for HPC applications, also validating some of its parallel programming techniques based on components. For that, a set of programs from NPB (NAS Parallel Benchmarks), a widely disseminated collection of benchmarks for evaluating the performance of parallel computing platforms, written in Fortran, C and Java, have been refactored into components aimed at the HPE platform. In such refactoring, the original structure of the benchmarks has been preserved, with minimal changes in the code that declare and initialize data structures, as well as those that describe computations and communication patterns. Using the component-based versions of the benchmarks, a systematic performance evaluation has been performed for quantifying the overheads caused strictly by the component-based structure. / Reduzir a complexidade do software e permitir o desenvolvimento em larga escala de aplicações voltados à Computação de Alto Desempenho (CAD) tem exigido o desenvolvimento de ferramentas com potencial capacidade de abstração na construção de sistemas. As tecnologias que envolvem o desenvolvimento de componentes procuram alcançar esses requisitos, buscando oferecer suporte a reuso, interoperabilidade, produtividade e maior flexibilidade de manutenção e desenvolvimento de aplicações de alto desempenho. No entanto, conciliar alto poder de abstração com alto poder de expressividade na construção de componentes de aplicações não é algo trivial, o que as atuais tecnologias não têm conseguido solucionar, uma vez que adotam as tradicionais formas de paralelismo por processos. Diante disso, a plataforma HPE (Hash Programming Environment), baseada no modelo de componentes Hash, tem buscado suportar formas mais gerais de paralelismo, conciliando expressividade com alto poder de abstração, uma vez que o modelo Hash é baseado em interesses de software e não em processo, como é feito tradicionalmente. Nesse contexto, esta dissertação busca explorar os recursos do HPE, certificando-se de sua viabilidade no contexto de aplicações de alto desempenho e validando suas técnicas de programação paralela baseadas em componentes. Isso tem resultado em um processo de construção de aplicações científicas sob a abordagem de componentes, tendo como base o conjunto de aplicativos NPB (Nas Parallel Benchmarks), o qual passa por um processo rigoroso de conversão para ser suportado pelo HPE. No processo de conversão e refatoração em componentes, busca-se conservar as estruturas originais do NPB, sem alterações significativas nos códigos que declaram e inicializam as estruturas de dados, bem como os que descrevem computações, topologia de processos e comunicação entre os processos. Para validação da plataforma, uma avaliação sistemática de desempenho é feita, tendo como princípio isolar e mensurar o peso ou o efeito da refatoração do NPB em componentes do modelo Hash.
96

Integração de bibliotecas científicas de propósito especial em uma plataforma de componentes paralelos / Integration of special purpose scientific libraries on a platform of parallel components

Ferreira, Davi Morais January 2010 (has links)
FERREIRA, Davi Morais. Integração de bibliotecas científicas de propósito especial em uma plataforma de componentes paralelos. 2010. 144 f. Dissertação (Mestrado em ciência da computação)- Universidade Federal do Ceará, Fortaleza-CE, 2010. / Submitted by Elineudson Ribeiro (elineudsonr@gmail.com) on 2016-07-11T13:06:02Z No. of bitstreams: 1 2010_dis_dmferreira.pdf: 1977126 bytes, checksum: 8f6276f7e40d8f3dbdca5deb5a0a8447 (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-15T13:13:29Z (GMT) No. of bitstreams: 1 2010_dis_dmferreira.pdf: 1977126 bytes, checksum: 8f6276f7e40d8f3dbdca5deb5a0a8447 (MD5) / Made available in DSpace on 2016-07-15T13:13:29Z (GMT). No. of bitstreams: 1 2010_dis_dmferreira.pdf: 1977126 bytes, checksum: 8f6276f7e40d8f3dbdca5deb5a0a8447 (MD5) Previous issue date: 2010 / The contribution of traditional scienti c libraries shows to be consolidated in the construction of high-performance applications. However, such an artifact of development possesses some limitations in integration, productivity in large-scale applications, and exibility for changes in the context of the problem. On the other hand, the development technology based on components recently proposed a viable alternative for the architecture of High-Performance Computing (HPC) applications, which has provided a means to overcome these challenges. Thus we see that the scienti c libraries and programming orientated at components are complementary techniques in the improvement of the development process of modern HPC applications. Accordingly, this work aims to propose a systematic method for the integration of scienti c libraries on a platform of parallel components, HPE (Hash Programming Environment), to o er additional advantageous aspects for the use of components and scienti c libraries to developers of parallel programs that implement high-performance applications. The purpose of this work goes beyond the construction of a simple encapsulation of the library in a component; it aims to provide the bene ts in integration, productivity in large-scale applications, and the exibility for changes in the context of a problem in the use of scienti c libraries. As a way to illustrate and validate the method, we have incorporated the libraries of linear systems solvers to HPE, electing three signi cant representatives: PETSc, Hypre, e SuperLU. / A contribuição das tradicionais bibliotecas científicas mostra-se consolidada na construção de aplicações de alto desempenho. No entanto, tal artefato de desenvolvimento possui algumas limitações de integração, de produtividade em aplicações de larga escala e de exibilidade para mudanças no contexto do problema. Por outro lado, a tecnologia de desenvolvimento baseada em componentes, recentemente proposta como alternativa viável para a arquitetura de aplicações de Computação de Alto Desempenho (CAD), tem fornecido meios para superar esses desafi os. Vemos assim, que as bibliotecas científicas e a programação orientada a componentes são técnicas complementares na melhoria do processo de desenvolvimento de aplicações modernas de CAD. Dessa forma, este trabalho tem por objetivo propor um método sistemático para integração de bibliotecas científicas sobre a plataforma de componentes paralelos HPE (Hash Programming Environment ), buscando oferecer os aspectos vantajosos complementares do uso de componentes e de bibliotecas científicas aos desenvolvedores de programas paralelos que implementam aplicações de alto desempenho. A proposta deste trabalho vai além da construção de um simples encapsulamento da biblioteca em um componente, visa proporcionar ao uso das bibliotecas científicas os benefícios de integração, de produtividade em aplicações de larga escala e da exibilidade para mudanças no contexto do problema. Como forma de exemplificar e validar o método, temos incorporado bibliotecas de resolução de sistemas lineares ao HPE, elegendo três representantes significativos: PETSc, Hypre e SuperLU.
97

Coordenação e reconfiguração dinâmica de componentes em uma plataforma de computação paralela / Coordination and dynamic reconfiguration of components in a parallel computing platform

Sales, Juliano Efson Norberto January 2012 (has links)
SALES, Juliano Efson Norberto. Coordenação e reconfiguração dinâmica de componentes em uma plataforma de computação paralela. 2012. 144 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-11T17:31:37Z No. of bitstreams: 1 2012_dis_jensales.pdf: 3112116 bytes, checksum: e6dad36307eb52f19a718046ca764535 (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-18T15:42:23Z (GMT) No. of bitstreams: 1 2012_dis_jensales.pdf: 3112116 bytes, checksum: e6dad36307eb52f19a718046ca764535 (MD5) / Made available in DSpace on 2016-07-18T15:42:23Z (GMT). No. of bitstreams: 1 2012_dis_jensales.pdf: 3112116 bytes, checksum: e6dad36307eb52f19a718046ca764535 (MD5) Previous issue date: 2012 / Long running applications are very common in High Performance Computing (HPC) domains. During the execution of this kind of application, some improvements or corrections can be identified and applied without making invalid the data that has been processed. In these cases, the ability to make changes in a parallel program during execution is considered useful. Dynamic reconfiguration is the term used to describe this technique, which can be implemented using different alternatives, like architecture description languages (ADL). An ADL allows a the specification of a software based on exogenous conectors to combine and define data types and protocols for orchestrating the interaction between components. This research has the goal of designing an ADL and implementing a configuration interpretation environment for the HPE component-based parallel computing platform. The main purpose of this language is to provide the ability to specify exogenous connectors and support dynamic reconfiguration. Case studies evaluate the performance of the component interpretation developed by the ADL, as well as validate the actions of dynamic reconfiguration. The results are an evidence that the overhead in the interpretation process for realistic problem instances is acceptable, in such a way that, when used wisely, the connectors can be used even in production scenarios. In some cases, the interpretation weight can be disregarded. The reconfiguration experiments are also deemed satisfactory, making the simplicity of the mechanism the major draw of the solution. / Nos domínios da Computação de Alto Desempenho (CAD), são comuns aplicações com tempo de execução de longa duração. Durante a execução de uma aplicação dessa natureza, podem ser identificadas melhorias ou correções nos algoritmos em execução que não invalidam o processamento previamente realizado. Neste cenário, a capacidade de realizar modificações em tempo de execução se mostra de grande utilidade. A esta técnica chamamos reconfiguração dinâmica, a qual, dentre outros meios discutidos ao longo do trabalho, pode ser implementada a partir do uso de linguagens de propósito específico como as linguagens de descrição de arquitetura (ADL). Uma ADL permite a especificação de um sistema de software a partir da construção de conectores exógenos com a função de combinar e definir os formatos de dados e protocolos nas interações de componentes. Este trabalho de pesquisa tem como objeto o projeto de uma ADL e a implementação de um ambiente de interpretação de configuração para a plataforma de componentes paralelos HPE (Hash Programming Environment). Essa linguagem tem como principal propósito oferecer a capacidade de especificar conectores exógenos e suporte à reconfiguração dinâmica. Estudos de caso avaliam o desempenho da interpretação dos componentes desenvolvidos pela ADL, como também validam as operações de reconfiguração dinâmica. Os resultados mostram sobrecarga considerada aceitável no processo de interpretação, para instâncias realísticas de problemas, de forma que, quando utilizado com prudência, os conectores podem ser utilizados até mesmo em cenários de produção. Em alguns casos, o peso da interpretação chega a ser desprezível. Os ensaios de reconfiguração também se mostram satisfatórios para os requisitos apresentados, sendo um dos principais diferencias da solução, a simplicidade de uso do mecanismo.
98

Geração em Paralelo de Malhas Tetraédricas com Fraturas por Decomposição Espacial Binária / Parallel Generation of Tetrahedral Meshes with Cracks by Spatial Binary Decomposition

Freitas, Markos Oliveira January 2015 (has links)
FREITAS, Markos Oliveira. Geração em Paralelo de Malhas Tetraédricas com Fraturas por Decomposição Espacial Binária. 2015. 129 f. Tese (Doutorado em Ciência da Computação)-Universidade Federal do Ceará, Fortaleza, 2015. / Submitted by Vitor Campos (vitband@gmail.com) on 2016-09-27T23:47:57Z No. of bitstreams: 1 2015_tese_mofreitas.pdf: 15114037 bytes, checksum: 7028f6c9f4d930ab2cc67a73f135ff47 (MD5) / Approved for entry into archive by Jairo Viana (jairo@ufc.br) on 2016-09-27T23:51:14Z (GMT) No. of bitstreams: 1 2015_tese_mofreitas.pdf: 15114037 bytes, checksum: 7028f6c9f4d930ab2cc67a73f135ff47 (MD5) / Made available in DSpace on 2016-09-27T23:51:14Z (GMT). No. of bitstreams: 1 2015_tese_mofreitas.pdf: 15114037 bytes, checksum: 7028f6c9f4d930ab2cc67a73f135ff47 (MD5) Previous issue date: 2015 / This work describes a technique for generating three-dimensional tetrahedral meshes using parallel computing, with shared, distributed, or hybrid memory processors. The input for the algorithm is a triangular mesh that models the surface of one of several objects, that might have holes in its interior or internal or boundary cracks. A binary tree structure for spatial partitioning is proposed in this work to recursively decompose the domain in as many subdomains as processes or threads in the parallel system, in which every subdomain has the geometry of a rectangular parallelepiped. This decomposition attempts to balance the amount of work in all the subdomains. The amount of work, known as load, of any mesh generator is usually given as a function of its output size, i.e., the size of the generated mesh. Therefore, a technique to estimate the size of this mesh, the total load of the domain, is needed beforehand. This work uses a refined octree, generated from the surface mesh, to estimate this load, and the decomposition is performed on top of this octree. Once the domain is decomposed, each process/thread generates the mesh in its subdomain by means of an advancing front technique, in such a way that it does not overpass the limits defined by its subdomain, and applies an improvement on it. Some of the processes/threads are responsible for generating the meshes connecting the subdomains, i.e., the interface meshes, in order to generate the whole mesh. This technique presented good speed-up results, keeping the quality of the mesh comparable to the quality of the serially generated mesh. / Este trabalho descreve uma técnica para gerar malhas tridimensionais tetraédricas utilizando computação paralela, com processadores de memória compartilhada, memória distribuída ou memória híbrida. A entrada para o algoritmo é uma malha triangular que modela a superfície de um ou vários objetos, que podem conter buracos no interior ou fraturas internas ou na borda. Uma estrutura em forma de árvore binária de partição espacial é proposta neste trabalho para, recursivamente, decompor o domínio em tantos subdomínios quantos forem os processos ou threads no sistema paralelo, em que cada subdomínio tem a geometria de um paralelepípedo retangular. Esta decomposição tenta equilibrar a quantidade de trabalho em todos os subdomínios. A quantidade de trabalho, conhecida como carga, de qualquer gerador de malha é geralmente dada em função do tamanho da saída do algoritmo, ou seja, do tamanho da malha gerada. Assim, faz-se necessária uma técnica para estimar previamente o tamanho dessa malha, que é carga total do domínio. Este trabalho faz uso de uma octree refinada, gerada a partir da malha de superfície dada como entrada, para estimar esta carga, e a decomposição é feita a partir dessa octree. Uma vez decomposto o domínio, cada processo/thread gera a malha em seu subdomínio por uma técnica de avanço de fronteira, de forma que ela não ultrapasse os limites definidos pelo seu subdomínio, e aplica um melhoramento nela. Alguns dos processos/threads ficam responsáveis por gerar as malhas conectando os subdomínios, ou seja, as malhas de interface, até que toda a malha tenha sido gerada. Esta técnica apresentou bons resultados de speed-up, mantendo a qualidade da malha comparável à qualidade da malha gerada sequencialmente.
99

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.
100

Análise da durabilidade de compósitos cimentícios de elevada capacidade de deformação reforçados com fibras

Costa, Fernanda Bianchi Pereira da January 2015 (has links)
Apesar do avanço tecnológico crescente na construção civil, a falta de durabilidade das estruturas de concreto, tanto em edificações como pavimentação, tem sido constatada com acentuada assiduidade e proporção. O compósito cimentício de elevada deformação, também conhecido como Engineered Cementitious Composites (ECC), foi difundido a partir do conceito de concretos de alto desempenho reforçado com fibras, visando suprir o comportamento frágil do concreto convencional e problemas relacionados à falta de durabilidade gerada, principalmente, devido à propagação de fissuras. Neste contexto, o Laboratório de Ensaio de Modelos Estruturais (LEME) da Universidade Federal do Rio Grande do Sul (UFRGS) consolidou, nos últimos cinco anos, um grupo de pesquisa voltado ao estudo do ECC aliado a utilização de materiais nacionais. A concepção tem sido baseada na aplicação de materiais que proporcionem custos mais baixos e fomentem questões de sustentabilidade ambiental. Assim, foram incorporados ao material, fibra de polipropileno (2% em volume) e substituição parcial do cimento por 30% (em volume) de cinza de casca de arroz residual. O presente trabalho visa analisar questões de durabilidade destes compósitos (com e sem a incorporação de cinza), e compará-los a concretos convencionais, através de ensaios relacionados ao estudo da estrutura de poros (absortividade, absorção e índice de vazios, absorção e água por capilaridade, absorção de água pelo método do cachimbo e microscopia eletrônica de varredura), penetração e difusão de íons cloretos, retração livre e restringida, e, por fim, resistência à abrasão. Os resultados obtidos indicam que a incorporação de cinza de casca de arroz melhorou significativamente as propriedades do compósito relacionadas à conexão e solução dos poros, dificultando a passagem de cloretos, além de apresentar resistência à abrasão semelhante ao compósito de referência. Sua desvantagem está relacionada às maiores aberturas de fissuras ocasionadas devido à retração restringida. Entretanto, o trabalho evidencia a viabilidade e vantagem do uso de cinza de casca de arroz na produção do compósito, em termos de durabilidade. / Despite the increasing technological advances in construction, the lack of concrete structures durability, both in buildings and pavement, have been found with severe attendance and proportion. The high strain cementitious composite, also known as Engineered Cementitious Composites (ECC), was widespread from the concept of high performance fiber reinforced concrete, in order to supply the fragile behavior of conventional concrete and problems related to lack of durability generated mainly due to crack propagation. In this context, the Laboratório de Ensaios e Modelos Estruturais (LEME) of the Federal University of Rio Grande do Sul (UFRGS) consolidated over the last five years, a research group focused on the ECC study allied with the use of national materials. The design has been based on the application materials that provide lower costs and promote environmental sustainability issues. Thus, they were incorporated into the material polypropylene fibers (2% by volume) and partial cement replacement of 30% (by volume) of residual rice husk ash. This study aims to examine durability issues of these composites (with and without rice husk ash), and compare them to conventional concretes, through tests related to the study of pore structure (absorptivity, absorption and void ratio, water absorption by capillarity, water absorption by the pipe method and scanning electron microscopy), penetration and diffusion of chloride ions, free and restrained shrinkage, and, finally, abrasion resistance. The results indicate that the incorporation of rice husk ash significantly improved material properties related to connection and pores solution, hindering the chloride ingress, and presents abrasion resistance similar to the reference composite. Its disadvantage is related to the larger cracks due to restrained shrinkage. However, the work demonstrates the viability and advantage of use rice husk ash in the composite production in terms of durability.

Page generated in 0.0916 seconds