Orientador: Guido Costa Souza de Araujo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Computação Cientifica / Made available in DSpace on 2018-08-11T23:50:19Z (GMT). No. of bitstreams: 1
Rigo_Sandro_M.pdf: 11824282 bytes, checksum: ecebac4bbf8a89ce61520b66f5923a94 (MD5)
Previous issue date: 2000 / Resumo: Gerenciamento de memória é uma tarefa muito importante para o bom desempenho de uma aplicação. Existem duas alternativas para a execução desta tarefa: gerenciamento explícito por parte do programador, ou a existência de um sistema dinâmico automático. O objetivo desse trabalho foi realizar experimentos de codificação e compactação do heap no sistema automático de gerenciamento de memória da máquina virtual Java, usando como plataforma a implementação desta conhecida como Kaffe. Na primeira parte deste trabalho, foi estudado um mecanismo alternativo de codificação dos objetos vivos, baseado em Binary Decision Diagrams (BDD). Na segunda etapa, foi projetado um coletor de lixo, cujo objetivo era avaliar o impacto da compactação do heap no desempenho da JVM. A implementação de nosso coletor se baseou no algoritmo conhecido como Mark-Compact. Obtivemos uma implementação híbrida para o sistema de recuperação de memória da máquina virtual Kaffe, capaz de realizar coletas utilizando ou não compactação. Esse sistema nos permite configurar a freqüência com que compactações são realizadas, permitindo ajustá-lo para diminuir o impacto causado por estas no desempenho do programa. Finalmente, mostramos nossas conclusões sobre os experimentos realizados e apontamos algumas possíveis melhorias a serem implementadas na máquina virtual kaffe, que visam aproveitar ao máximo os benefícios trazidos pela compactação. / Abstract: Memory management is an important task for good performance. There are two choices to accomplish this task: explicit management done by the programmer, or the presence of an automatic dynamic memory management system. The goal of this work was to perform experiments using codification and compaction on Java Virtual Machine's memory management system, using its implementation known as Kaffe. In the first part, we have studied an alternative system of live objects codification, based on Binary Decision Diagrams(BDD). In the second part, a garbage collector has been projected. Its main goal was to evaluate the impact on JVM's performance by adding a heap compaction system. The implementation of this collector was based on the Mark-Compact algorithm. We got a hybrid implementation for our garbage collection system, which is able to collect using or not using compaction. This system allows us to configure how often it performs heap compaction, adjusting it to minimize the impact on program performance. Finally, we show our conclusions about the experiments we have done and suggest some possible improvements to be implemented on Kaffe JVM, intending to take full advantage of the compaction benefits. / Mestrado / Mestre em Ciência da Computação
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.unicamp.br:REPOSIP/275881 |
Date | 07 April 2000 |
Creators | Rigo, Sandro, 1975- |
Contributors | UNIVERSIDADE ESTADUAL DE CAMPINAS, Araújo, Guido Costa Souza de, 1962-, Lins, Rafael Dueire, Moura, Arnaldo Vieira |
Publisher | [s.n.], Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | 78f. : il., application/octet-stream |
Source | reponame:Repositório Institucional da Unicamp, instname:Universidade Estadual de Campinas, instacron:UNICAMP |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0021 seconds