Implementação de uma Heurística de Coleta de Lixo na Máquina Virtual Java

  • Héberte Fernandes de Moraes UFRJ
  • Luciano J. Chaves UNICAMP
  • Marcelo Lobosco UFJF

Resumo


O mecanismo de coleta automática de lixo (garbage collection), presente em diversas linguagens de programação, como Java, por um lado libera o programador da tarefa de gerenciar as regiões de memória que sua aplicação não mais utiliza, e por outro adiciona um custo ao tempo total de execução da aplicação. Uma tentativa de minimizar este custo consiste em aumentar o tamanho do espaço disponível para o aplicativo realizar alocações, o que por sua vez pode acarretar em um desperdício de memória. Sob outra perspectiva, a restrição demasiada do espaço disponível para alocação pode causar muitas coletas, conseqüentemente aumentando o tempo total de execução da aplicação. Neste trabalho propomos, implementamos e avaliamos uma nova heurística para adequar automaticamente a quantidade de memória disponível para alocação pelas aplicações que executam na Máquina Virtual Java.

Referências

Lindholm, T.; Yellin, F. (1999) “The Java Virtual Machine Specification”, 2nd Edition, Prentice Hall PTR.

Bacon, D.; Cheng, P.; Rajan, V. T. (2004) “A Unified Theory of Garbage Collection”. In: ACM SIGPLAN Notices, Vol. 39, Issue 10, pp. 50-68. Nova Iorque: ACM Press.

Ungar, D. M. (1984) “Generation scavenging: A non-disruptive high-performance storage reclamation algorithm”. In: ACM SIGPLAN Notices, vol. 19, issue 5, pp. 157-167, ACM, 1984.

Boehm, H. “An Artificial Garbage Collection Benchmark” [link]

Detlefs, D. (2005) “GCOld: a benchmark to stress old-generation collection”, [link]

Bull, J. M.; Smith, L. A.; Westhead, M. D.; Henty, D. S.; Davey, R. A.. (2000) “A Benchmark Suite for High Performance Java”, In: Concurrency: Practice and Experience, vol. 12, pp. 375-388, 2000.

Tagtraum industries, inc (2005) [link].

Jones, Richard e Lins, Rafael. (1996). Garbage Collection: Algorithms for automatic dynamic memory management. Publicado por John Wiley & Sons. 329p.
Publicado
12/07/2008
MORAES, Héberte Fernandes de; CHAVES, Luciano J.; LOBOSCO, Marcelo. Implementação de uma Heurística de Coleta de Lixo na Máquina Virtual Java. In: WORKSHOP DE SISTEMAS OPERACIONAIS (WSO), 5. , 2008, Belém/PA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2008 . p. 57-68.