Spelling suggestions: "subject:"computação dde alta desempenho"" "subject:"computação dee alta desempenho""
21 |
Performance evaluation of code optimizations in FPGA accelerators /Leite, Gustavo January 2019 (has links)
Orientador: Alexandro José Baldassin / Resumo: Com o crescimento contínuo do consumo de energia em microprocessadores,cientistas e engenheiros da computação redirecionaram atenção a arquiteturas heterogêneas, onde dispositivos de classes diferentes são usados para acelerar a computação. Dentre eles, existem as FPGAs (Field-Programmable Gate Arrays) cujo hardware pode ser reconfigurado após sua fabricação. Esta classe de dispositivos demonstra desempenho comparável aos processadores convencionais enquanto consomem apenas uma fração de energia. O uso de FPGAs vem se proliferando nos últimos anos e a perspectiva é que o nível de adoção continue a crescer. No entanto, programar FPGAs e aprimorar os programas para obter maior desempenho continua uma tarefa não trivial. Este trabalho apresenta uma compilação das principais transformações de código para otimização de programas direcionados à FPGAs. Neste trabalho também é avaliado o desempenho de programas executando em FPGAs. Mais especificamente, um subconjunto das transformações de código são aplicadas em um kernel OpenCL e os tempos de execução são medidos em um dispositivo da Intel®. Os resultados mostram que, sem a aplicação das transformações, o desempenho dos dispositivos é abaixo do que é observado quando as transformações são de fato aplicadas. / Abstract: With the ever increasing power wall in microprocessor design, scientists and engineers shifted their attention to heterogeneous architectures, where in several classes of devices are used for different kinds of computation. Among them are FPGAs whose hardware can be reconfigured after manufacturing. These devices offer comparable performance to CPUs while consuming only a fraction of energy. Infact, the use of FPGAs have been proliferating in recent years and should continue to do so considering the amount of attention these devices are receiving. Still, programmability and performance engineering in FPGAs remain hard. This work presents acompilation of the most prominent code transformations for optimizing code aimed at FPGAs. In this work we also evaluate the performance of programs running on FPGAs. More specifically, we apply a subset of the code transformations to an OpenCL kernel and measure the execution time on a Intel® FPGA. We show that, without applying these transformations before execution, poor performance is observed and the devices are underutilized. / Mestre
|
22 |
Avaliação de Desempenho de uma Plataforma de Componentes Paralelos / Performance Evaluation of a Platform for Component-Based Parallel ProgrammingRezende, 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.
|
23 |
Avaliação de desempenho de uma plataforma de componentes paralelos / Performance evaluation of a platform for component-based parallel programmingRezende, 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.
|
24 |
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 componentsFerreira, 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.
|
25 |
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 platformSales, 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.
|
26 |
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 DecompositionFreitas, 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.
|
27 |
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 graphsRezende, 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.
|
28 |
Uma abordagem de seleção de recursos consciente de consumo de energia baseada em topologia de rede, tamanho de arquivos e potência de equipamentosFaria, Izaias de January 2015 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2015. / Made available in DSpace on 2015-04-29T21:10:24Z (GMT). No. of bitstreams: 1
333112.pdf: 3170326 bytes, checksum: fd20fc351be5671e76ab5956b2d46314 (MD5)
Previous issue date: 2015 / Recentes avanços na área da Computação de Alto Desempenho (HPC) tem gerado uma grande variedade de possibilidades para pesquisas na área. Arquiteturas paralelas e distribuídas modernas apresentam um aumento considerável em sua capacidade de processamento. Entretanto, esse crescimento de desempenho é acompanhado por um aumento de consumo de energia. Neste cenário, a comunidade científica tem estudado técnicas voltadas à redução de consumo de energia em tais plataformas. Arquiteturas de alto desempenho são amplamente utilizadas em ambientes empresarial e acadêmico quando há a necessidade de grande poder computacional. Recentemente, infraestruturas legadas têm sido adaptadas ao modelo de nuvem computacional, o qual fornece recursos sob demanda e permite a usuários contratar serviços de infraestrutura, plataforma e software. Neste trabalho propomos uma abordagem genérica de alocação de recursos energeticamente eficiente que melhora a eficiência energética de ambientes de alto desempenho heterogêneos selecionando recursos menos custosos. A abordagem proposta considera o custo para transferência de dados, assim como o estado e eficiência energética dos nodos computacionais. Após realizados diversos experimentos em um ambiente simulado de nuvem, concluiu-se que, em alguns casos, a abordagem proposta reduz consideravelmente o consumo de energia em comparação com abordagens existentes na literatura.<br> / Abstract : Recent advances in High Performance Computing (HPC) have led to a wide range of new possibilities for research. In this context, modern parallel and distributed architectures have presented a steady increase in their processing capabilities. However, such growth is usually followed by an increase in energy consumption. Because of that, the research community has been focusing on techniques to reduce energy consumption on such platforms. HPC architectures are now widely used in business and academic environments when high computing power is crucial. Recently, legacy structures have been adapted to the cloud computing model, which provides resources on demand such as infrastructure, software or platform. In this work we propose a generic energy-efficient scheduling approach that improves the energy efficiency of high performance heterogeneous environments by selecting the least costly resources. The proposed approach takes into consideration the cost of data transfers as well as the state and energy efficiency of computing nodes. After carrying out several experiments in a cloud simulated environment we concluded that, in some cases, the proposed approach achieves considerably better energy efficiency than other existing approaches in the literature.
|
29 |
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.
|
30 |
Técnicas de programação e avaliação de desempenho de solvers de sistemas de equações lineares em sistemas computacionais de alto desempenho. / Programming techniques and performance evaluation of solvers of linear systems of equations in high performance computing.Alexandre Beletti Ferreira 08 July 2013 (has links)
Os problemas de engenharia atualmente têm aumentado a sua ordem de grandeza, por conta de diversos fatores. A modelagem em ambiente computacional dos mesmos esbarra em limitações, como grandes quantidades de tempo de processamento gastos com diversas simulações da modelagem e a pouca quantidade de memória disponível para alocar propriamente os problemas. A resolução de grandes sistemas de equações lineares, comumente abordado nos problemas atuais de engenharia, necessita da exploração das duas situações mencionadas anteriormente. A subárea computacional que permite explorar a redução do tempo e a possibilidade de alocação na memória de tais problemas é chamada de computação de alto desempenho. O objetivo deste trabalho é ilustrar o uso de softwares de resolução de sistemas de equações lineares, chamados de solvers, projetados para os ambientes computacionais de alto desempenho, testando-os e avaliando-os em um conjunto de matrizes conhecido, bem como abordar os detalhes computacionais envolvidos em tais procedimentos. / Engineering problems today have increased their order of magnitude, due to several factors. Modeling these problems with computers brings up certain limitations, as the amount of processing time needed for several simulations and the lack of available memory to properly allocate them. The resolution of large systems of linear equations, commonly discussed in current engineering problems, needs the exploration of the two situations mentioned above. The subarea that allows exploring the computational time reduction and the possibility of allocating memory in such problems is called high performance computing. The aim of this paper is to illustrate the use of software to solve systems of linear equations, called solvers, designed for high performance computing environments, to test and evaluate them for a set of matrices as well as to address the computational details involved in such procedures.
|
Page generated in 0.1081 seconds