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

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

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 19 de abril de 2010

Tribunal:
  1. Román Hermida Correa Presidente
  2. José Ignacio Hidalgo Pérez Secretario
  3. Juan Carlos López López Vocal
  4. Eduard Ayguadé Parra Vocal
  5. Oscar Plata González Vocal
Departamento:
  1. Arquitectura de Computadores y Automática

Tipo: Tesis

Resumen

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.