Optimización de la gestión de memoria dinámica en Java

  1. Velasco Cabo, José Manuel
Zuzendaria:
  1. David Atienza Alonso Zuzendaria
  2. Katzalin Olcoz Zuzendaria
  3. Francisco Tirado Fernández Zuzendaria

Defentsa unibertsitatea: Universidad Complutense de Madrid

Fecha de defensa: 2010(e)ko apirila-(a)k 19

Epaimahaia:
  1. Román Hermida Correa Presidentea
  2. José Ignacio Hidalgo Pérez Idazkaria
  3. Juan Carlos López López Kidea
  4. Eduard Ayguadé Parra Kidea
  5. Oscar Plata González Kidea
Saila:
  1. Arquitectura de Computadores y Automática

Mota: Tesia

Laburpena

En este trabajo presentamos varias técnicas para mejorar el rendimiento y, al mismo tiempo, reducir del consumo de potencia del gestor automático de memoria dinámica de la máquina virtual de Java, habitualmente conocido como recolector de basura. Como punto de partida, en esta tesis se realiza un exhaustivo análisis de la influencia de la recolección de basura en el rendimiento de la máquina virtual de Java y en el consumo de potencia de ésta dentro de una jerarquía de memoria típica de los actuales sistemas empotrados, así como de la interacción de las distintas estrategias de recolección con el hardware subyacente. Como veremos en nuestros resultados experimentales, dentro de las distintas tareas encargadas a la máquina virtual de Java, la recolección de basura puede llegar a ser, en el contexto de los sistemas empotrados, el factor predominante en cuanto a consumo de energía y rendimiento se refiere. Este estudio culmina con la descripción de un completo espacio de diseño que nos proporciona las mejores configuraciones de la jerarquía de memoria para cada estrategia de recolección dentro de la dicotomía rendimiento-consumo de energía. Sobre esas configuraciones idóneas aplicaremos a continuación nuestras propuestas de optimización. Nuestras técnicas incluyen mejoras a nivel algorítmico por un lado, y por otro buscan aprovechar el comportamiento inherente y predecible de las distintas estrategias de recolección para propiciar una interacción fructífera entre la máquina virtual y la jerarquía de memoria, que produzca sustanciales reducciones en el consumo energético y en el tiempo empleado en la recolección de basura.