Mostrar registro simples

dc.contributor.advisorBeck Filho, Antonio Carlos Schneiderpt_BR
dc.contributor.authorMagalhães, Guilherme Grunewald dept_BR
dc.date.accessioned2017-01-19T02:30:02Zpt_BR
dc.date.issued2016pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/151020pt_BR
dc.description.abstractEste trabalho realiza um estudo de como o uso de diferentes paradigmas e linguagens de programação podem influenciar no consumo energético e desempenho de aplicações paralelas. Para isso, foram utilizados diferentes kernels do NAS Parallel Benchmark, implementados em linguagens de programação orientadas a objeto (C++ e Java) e procedural (C). Também foi avaliada a influência do compilador Just-In-Time (JIT) na execução de aplicações implementadas na linguagem Java. A avaliação destas linguagens e paradigmas utilizou três métricas: desempenho, consumo energético e energy-delay product (EDP). Comparamos as implementações em C, C++, Java interpretada (sem o uso do compilador JIT) e Java compilada dinamicamente com o JIT. A partir da análise dos resultados obtidos da execução dos benchmarks, observou-se que a linguagem procedural C demonstrou melhor desempenho e menor consumo de energia que as linguagens orientadas a objeto Java e C++. Por exemplo, Java foi 50 vezes mais lenta que C, na execução da aplicação Lower-Upper (LU) sequencial, e C++ foi 7.98 vezes mais lento na execução da Integer Sort (IS) com 8 threads. Também observou-se que C++ foi superior a Java na maioria dos testes, por exemplo, Java foi 4.58 vezes mais lenta e gastou 4.16 vezes mais energia na execução da aplicação Scalar Pentadiagonal Solver (SP) com 8 threads. Observou-se também que Java tem uma dependência muito grande da eficiência do compilador JIT para obter um bom desempenho, por exemplo, na aplicação LU, onde o JIT não foi tão eficaz, Java foi 21.93 vezes mais lento que C++ na execução com 2 threads.pt_BR
dc.description.abstractThis work studies how different programming languages and paradigms influence performance and energy consumption in multithreaded applications. For that, we evaluate different kernels of NAS Parallel Benchmark, implemented in both procedural (C) and object-oriented programming languages (C++ and Java). Also, it was investigated the improvement that the Just-In-Time (JIT) compiler may provide. The evaluation of this languages and paradigms has considered three different metrics: performance, energy consumption and energy-delay product (EDP). We compare C, C++, interpreted Java (without JIT) and dynamically compiled Java implementations. From the analysis of the obtained results, we show that C (a procedural language) has better performance and consumes less energy than C++ and Java (object-oriented languages). For instance, Java was 50 times slower than C, in Lower-Upper (LU) sequential execution, and C++ was 7.98 times slower in Integer Sort (IS) execution with 8 threads. We also show that in most cases C++ has better performance than Java, for instance, Java was 4.58 times slower and consumed 4.16 times more energy in Scalar Pentadiagonal Solver (SP) execution with 8 threads. Also, we show that Java depends heavily on the JIT compiler efficiency, for instance, in LU execution, when JIT was not very effective, Java was 21.93 times slower than C++ executing with 2 threads.en
dc.format.mimetypeapplication/pdf
dc.language.isoporpt_BR
dc.rightsOpen Accessen
dc.subjectLinguagens : Programacaopt_BR
dc.subjectProgramming paradigmsen
dc.subjectPerformance and energy evaluationen
dc.subjectProcessamento paralelopt_BR
dc.subjectMultithreaded applicationsen
dc.titleComo linguagens de programação e paradigmas afetam desempenho e consumo energético em aplicações paralelaspt_BR
dc.title.alternativeHow programming languages and paradigms affect performance and energy in multithreaded applications en
dc.typeTrabalho de conclusão de graduaçãopt_BR
dc.contributor.advisor-coLorenzon, Arthur Franciscopt_BR
dc.identifier.nrb001009763pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2016pt_BR
dc.degree.graduationCiência da Computação: Ênfase em Ciência da Computação: Bachareladopt_BR
dc.degree.levelgraduaçãopt_BR


Thumbnail
   

Este item está licenciado na Creative Commons License

Mostrar registro simples